b9dbe75893a6427dadf0de53085f031244f36b5d
[nit.git] / c_src / parser._sep.c
1 /* This C file is generated by NIT to compile module parser. */
2 #include "parser._sep.h"
3 val_t parser___State___state(val_t self) {
4 struct trace_t trace = {NULL, NULL, 10, LOCATE_parser___State___state};
5 val_t *variable = NULL;
6 void **closurevariable = NULL;
7 trace.prev = tracehead; tracehead = &trace;
8 trace.file = LOCATE_parser;
9 tracehead = trace.prev;
10 return ATTR_parser___State____state( self) /*State::_state*/;
11 }
12 void parser___State___state__eq(val_t self, val_t param0) {
13 struct trace_t trace = {NULL, NULL, 10, LOCATE_parser___State___state__eq};
14 val_t *variable = NULL;
15 void **closurevariable = NULL;
16 trace.prev = tracehead; tracehead = &trace;
17 trace.file = LOCATE_parser;
18 ATTR_parser___State____state( self) /*State::_state*/ = param0;
19 tracehead = trace.prev;
20 return;
21 }
22 val_t parser___State___nodes(val_t self) {
23 struct trace_t trace = {NULL, NULL, 13, LOCATE_parser___State___nodes};
24 val_t *variable = NULL;
25 void **closurevariable = NULL;
26 trace.prev = tracehead; tracehead = &trace;
27 trace.file = LOCATE_parser;
28 tracehead = trace.prev;
29 return ATTR_parser___State____nodes( self) /*State::_nodes*/;
30 }
31 void parser___State___nodes__eq(val_t self, val_t param0) {
32 struct trace_t trace = {NULL, NULL, 13, LOCATE_parser___State___nodes__eq};
33 val_t *variable = NULL;
34 void **closurevariable = NULL;
35 trace.prev = tracehead; tracehead = &trace;
36 trace.file = LOCATE_parser;
37 ATTR_parser___State____nodes( self) /*State::_nodes*/ = param0;
38 tracehead = trace.prev;
39 return;
40 }
41 void parser___State___init(val_t self, val_t param0, val_t param1, int* init_table) {
42 struct trace_t trace = {NULL, NULL, 16, LOCATE_parser___State___init};
43 val_t variable[5];
44 void **closurevariable = NULL;
45 trace.prev = tracehead; tracehead = &trace;
46 trace.file = LOCATE_parser;
47 variable[0] = self;
48 variable[1] = param0;
49 variable[2] = param1;
50 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_State].i]) return;
51 variable[4] = variable[0];
52 ATTR_parser___State____state(variable[4]) /*State::_state*/ = variable[1] /*state*/;
53 variable[4] = variable[0];
54 ATTR_parser___State____nodes(variable[4]) /*State::_nodes*/ = variable[2] /*nodes*/;
55 return_label0: while(false);
56 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_State].i] = 1;
57 tracehead = trace.prev;
58 return;
59 }
60 void parser___Parser___init(val_t self, val_t param0, int* init_table) {
61 struct trace_t trace = {NULL, NULL, 34, LOCATE_parser___Parser___init};
62 val_t variable[5];
63 void **closurevariable = NULL;
64 trace.prev = tracehead; tracehead = &trace;
65 trace.file = LOCATE_parser;
66 variable[0] = self;
67 variable[1] = param0;
68 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Parser].i]) return;
69 variable[3] = variable[0];
70 ATTR_parser___Parser____lexer(variable[3]) /*Parser::_lexer*/ = variable[1] /*lexer*/;
71 variable[3] = variable[0];
72 variable[4] = NEW_Array_array___Array___init(); /*new Array[State]*/
73 ATTR_parser___Parser____stack(variable[3]) /*Parser::_stack*/ = variable[4];
74 variable[3] = variable[0];
75 variable[4] = TAG_Int(-UNTAG_Int( TAG_Int(1)));
76 ATTR_parser___Parser____stack_pos(variable[3]) /*Parser::_stack_pos*/ = variable[4];
77 variable[3] = variable[0];
78 ((parser_tables___ParserTable___build_goto_table_t)CALL(variable[3],COLOR_parser_tables___ParserTable___build_goto_table))(variable[3]) /*ParserTable::build_goto_table*/;
79 variable[3] = variable[0];
80 ((parser_tables___ParserTable___build_action_table_t)CALL(variable[3],COLOR_parser_tables___ParserTable___build_action_table))(variable[3]) /*ParserTable::build_action_table*/;
81 variable[3] = variable[0];
82 ((parser___Parser___build_reduce_table_t)CALL(variable[3],COLOR_parser___Parser___build_reduce_table))(variable[3]) /*Parser::build_reduce_table*/;
83 return_label1: while(false);
84 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Parser].i] = 1;
85 tracehead = trace.prev;
86 return;
87 }
88 val_t parser___Parser___go_to(val_t self, val_t param0) {
89 struct trace_t trace = {NULL, NULL, 45, LOCATE_parser___Parser___go_to};
90 val_t variable[15];
91 void **closurevariable = NULL;
92 trace.prev = tracehead; tracehead = &trace;
93 trace.file = LOCATE_parser;
94 variable[0] = self;
95 variable[1] = param0;
96 variable[4] = variable[0];
97 variable[4] = ((parser___Parser___state_t)CALL(variable[4],COLOR_parser___Parser___state))(variable[4]) /*Parser::state*/;
98 variable[3] = variable[4];
99 variable[5] = variable[0];
100 variable[5] = ATTR_parser_tables___ParserTable____goto_table(variable[5]) /*ParserTable::_goto_table*/;
101 variable[6] = variable[5];
102 variable[7] = variable[1] /*index*/;
103 variable[9] = TAG_Bool(UNTAG_Int( variable[7] /*index*/)>=UNTAG_Int( TAG_Int(0)));
104 variable[10] = variable[9];
105 if (UNTAG_Bool(variable[10])) { /* and */
106 variable[10] = variable[6];
107 variable[10] = ATTR_array___AbstractArray____length(variable[10]) /*AbstractArray::_length*/;
108 variable[10] = TAG_Bool(UNTAG_Int( variable[7] /*index*/)<UNTAG_Int(variable[10]));
109 }
110 variable[9] = variable[10];
111 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_parser, 229); nit_exit(1);}
112 variable[9] = variable[6];
113 variable[9] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
114 variable[9] = UNBOX_NativeArray(variable[9])[UNTAG_Int( variable[7] /*index*/)];
115 variable[8] = variable[9];
116 goto return_label3;
117 return_label3: while(false);
118 variable[5] = variable[8];
119 variable[4] = variable[5];
120 variable[5] = TAG_Int(1);
121 variable[7] = ((array___AbstractArray___length_t)CALL( variable[4] /*table*/,COLOR_abstract_collection___Collection___length))( variable[4] /*table*/) /*AbstractArray::length*/;
122 variable[7] = TAG_Int(UNTAG_Int(variable[7])/UNTAG_Int( TAG_Int(2)));
123 variable[7] = TAG_Int(UNTAG_Int(variable[7])-UNTAG_Int( TAG_Int(1)));
124 variable[6] = variable[7];
125 while (true) { /*while*/
126 variable[7] = TAG_Bool(UNTAG_Int( variable[5] /*low*/)<=UNTAG_Int( variable[6] /*high*/));
127 if (!UNTAG_Bool(variable[7])) break; /* while*/
128 variable[8] = TAG_Int(UNTAG_Int( variable[5] /*low*/)+UNTAG_Int( variable[6] /*high*/));
129 variable[8] = TAG_Int(UNTAG_Int(variable[8])/UNTAG_Int( TAG_Int(2)));
130 variable[7] = variable[8];
131 variable[9] = TAG_Int(UNTAG_Int( variable[7] /*middle*/)*UNTAG_Int( TAG_Int(2)));
132 variable[8] = variable[9];
133 variable[9] = variable[4] /*table*/;
134 variable[10] = variable[8] /*subindex*/;
135 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
136 variable[13] = variable[12];
137 if (UNTAG_Bool(variable[13])) { /* and */
138 variable[13] = variable[9];
139 variable[13] = ATTR_array___AbstractArray____length(variable[13]) /*AbstractArray::_length*/;
140 variable[13] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[13]));
141 }
142 variable[12] = variable[13];
143 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_parser, 229); nit_exit(1);}
144 variable[12] = variable[9];
145 variable[12] = ATTR_array___Array____items(variable[12]) /*Array::_items*/;
146 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
147 variable[11] = variable[12];
148 goto return_label5;
149 return_label5: while(false);
150 variable[9] = variable[11];
151 variable[9] = TAG_Bool(UNTAG_Int( variable[3] /*state*/)<UNTAG_Int(variable[9]));
152 if (UNTAG_Bool(variable[9])) { /*if*/
153 variable[9] = TAG_Int(UNTAG_Int( variable[7] /*middle*/)-UNTAG_Int( TAG_Int(1)));
154 variable[6] = variable[9] /*high=*/;
155 } else { /*if*/
156 variable[9] = variable[4] /*table*/;
157 variable[10] = variable[8] /*subindex*/;
158 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
159 variable[13] = variable[12];
160 if (UNTAG_Bool(variable[13])) { /* and */
161 variable[13] = variable[9];
162 variable[13] = ATTR_array___AbstractArray____length(variable[13]) /*AbstractArray::_length*/;
163 variable[13] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[13]));
164 }
165 variable[12] = variable[13];
166 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_parser, 229); nit_exit(1);}
167 variable[12] = variable[9];
168 variable[12] = ATTR_array___Array____items(variable[12]) /*Array::_items*/;
169 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
170 variable[11] = variable[12];
171 goto return_label6;
172 return_label6: while(false);
173 variable[9] = variable[11];
174 variable[9] = TAG_Bool(UNTAG_Int( variable[3] /*state*/)>UNTAG_Int(variable[9]));
175 if (UNTAG_Bool(variable[9])) { /*if*/
176 variable[9] = TAG_Int(UNTAG_Int( variable[7] /*middle*/)+UNTAG_Int( TAG_Int(1)));
177 variable[5] = variable[9] /*low=*/;
178 } else { /*if*/
179 variable[9] = TAG_Int(UNTAG_Int( variable[8] /*subindex*/)+UNTAG_Int( TAG_Int(1)));
180 variable[10] = variable[4] /*table*/;
181 variable[11] = variable[9];
182 variable[13] = TAG_Bool(UNTAG_Int( variable[11] /*index*/)>=UNTAG_Int( TAG_Int(0)));
183 variable[14] = variable[13];
184 if (UNTAG_Bool(variable[14])) { /* and */
185 variable[14] = variable[10];
186 variable[14] = ATTR_array___AbstractArray____length(variable[14]) /*AbstractArray::_length*/;
187 variable[14] = TAG_Bool(UNTAG_Int( variable[11] /*index*/)<UNTAG_Int(variable[14]));
188 }
189 variable[13] = variable[14];
190 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_parser, 229); nit_exit(1);}
191 variable[13] = variable[10];
192 variable[13] = ATTR_array___Array____items(variable[13]) /*Array::_items*/;
193 variable[13] = UNBOX_NativeArray(variable[13])[UNTAG_Int( variable[11] /*index*/)];
194 variable[12] = variable[13];
195 goto return_label7;
196 return_label7: while(false);
197 variable[9] = variable[12];
198 variable[2] = variable[9];
199 goto return_label2;
200 }
201 }
202 continue_4: while(0);
203 }
204 break_4: while(0);
205 variable[7] = variable[4] /*table*/;
206 variable[8] = TAG_Int(1);
207 variable[10] = TAG_Bool(UNTAG_Int( variable[8] /*index*/)>=UNTAG_Int( TAG_Int(0)));
208 variable[11] = variable[10];
209 if (UNTAG_Bool(variable[11])) { /* and */
210 variable[11] = variable[7];
211 variable[11] = ATTR_array___AbstractArray____length(variable[11]) /*AbstractArray::_length*/;
212 variable[11] = TAG_Bool(UNTAG_Int( variable[8] /*index*/)<UNTAG_Int(variable[11]));
213 }
214 variable[10] = variable[11];
215 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_parser, 229); nit_exit(1);}
216 variable[10] = variable[7];
217 variable[10] = ATTR_array___Array____items(variable[10]) /*Array::_items*/;
218 variable[10] = UNBOX_NativeArray(variable[10])[UNTAG_Int( variable[8] /*index*/)];
219 variable[9] = variable[10];
220 goto return_label8;
221 return_label8: while(false);
222 variable[7] = variable[9];
223 variable[2] = variable[7];
224 goto return_label2;
225 return_label2: while(false);
226 tracehead = trace.prev;
227 return variable[2];
228 }
229 void parser___Parser___push(val_t self, val_t param0, val_t param1) {
230 struct trace_t trace = {NULL, NULL, 69, LOCATE_parser___Parser___push};
231 val_t variable[12];
232 void **closurevariable = NULL;
233 trace.prev = tracehead; tracehead = &trace;
234 trace.file = LOCATE_parser;
235 variable[0] = self;
236 variable[1] = param0;
237 variable[2] = param1;
238 variable[5] = variable[0];
239 variable[5] = ATTR_parser___Parser____stack_pos(variable[5]) /*Parser::_stack_pos*/;
240 variable[5] = TAG_Int(UNTAG_Int(variable[5])+UNTAG_Int( TAG_Int(1)));
241 variable[4] = variable[5];
242 variable[5] = variable[0];
243 ATTR_parser___Parser____stack_pos(variable[5]) /*Parser::_stack_pos*/ = variable[4] /*pos*/;
244 variable[5] = variable[0];
245 variable[5] = ATTR_parser___Parser____stack(variable[5]) /*Parser::_stack*/;
246 variable[5] = ((array___AbstractArray___length_t)CALL(variable[5],COLOR_abstract_collection___Collection___length))(variable[5]) /*AbstractArray::length*/;
247 variable[5] = TAG_Bool(UNTAG_Int( variable[4] /*pos*/)<UNTAG_Int(variable[5]));
248 if (UNTAG_Bool(variable[5])) { /*if*/
249 variable[6] = variable[0];
250 variable[6] = ATTR_parser___Parser____stack(variable[6]) /*Parser::_stack*/;
251 variable[7] = variable[6];
252 variable[8] = variable[4] /*pos*/;
253 variable[10] = TAG_Bool(UNTAG_Int( variable[8] /*index*/)>=UNTAG_Int( TAG_Int(0)));
254 variable[11] = variable[10];
255 if (UNTAG_Bool(variable[11])) { /* and */
256 variable[11] = variable[7];
257 variable[11] = ATTR_array___AbstractArray____length(variable[11]) /*AbstractArray::_length*/;
258 variable[11] = TAG_Bool(UNTAG_Int( variable[8] /*index*/)<UNTAG_Int(variable[11]));
259 }
260 variable[10] = variable[11];
261 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_parser, 229); nit_exit(1);}
262 variable[10] = variable[7];
263 variable[10] = ATTR_array___Array____items(variable[10]) /*Array::_items*/;
264 variable[10] = UNBOX_NativeArray(variable[10])[UNTAG_Int( variable[8] /*index*/)];
265 variable[9] = variable[10];
266 goto return_label10;
267 return_label10: while(false);
268 variable[6] = variable[9];
269 variable[5] = variable[6];
270 ((parser___State___state__eq_t)CALL( variable[5] /*state*/,COLOR_parser___State___state__eq))( variable[5] /*state*/, variable[1] /*numstate*/) /*State::state=*/;
271 ((parser___State___nodes__eq_t)CALL( variable[5] /*state*/,COLOR_parser___State___nodes__eq))( variable[5] /*state*/, variable[2] /*list_node*/) /*State::nodes=*/;
272 } else { /*if*/
273 variable[5] = variable[0];
274 variable[5] = ATTR_parser___Parser____stack(variable[5]) /*Parser::_stack*/;
275 variable[6] = NEW_State_parser___State___init( variable[1] /*numstate*/, variable[2] /*list_node*/); /*new State*/
276 ((array___AbstractArray___push_t)CALL(variable[5],COLOR_abstract_collection___IndexedCollection___push))(variable[5], variable[6]) /*AbstractArray::push*/;
277 }
278 return_label9: while(false);
279 tracehead = trace.prev;
280 return;
281 }
282 val_t parser___Parser___state(val_t self) {
283 struct trace_t trace = {NULL, NULL, 83, LOCATE_parser___Parser___state};
284 val_t variable[9];
285 void **closurevariable = NULL;
286 trace.prev = tracehead; tracehead = &trace;
287 trace.file = LOCATE_parser;
288 variable[0] = self;
289 variable[2] = variable[0];
290 variable[2] = ATTR_parser___Parser____stack(variable[2]) /*Parser::_stack*/;
291 variable[3] = variable[0];
292 variable[3] = ATTR_parser___Parser____stack_pos(variable[3]) /*Parser::_stack_pos*/;
293 variable[4] = variable[2];
294 variable[5] = variable[3];
295 variable[7] = TAG_Bool(UNTAG_Int( variable[5] /*index*/)>=UNTAG_Int( TAG_Int(0)));
296 variable[8] = variable[7];
297 if (UNTAG_Bool(variable[8])) { /* and */
298 variable[8] = variable[4];
299 variable[8] = ATTR_array___AbstractArray____length(variable[8]) /*AbstractArray::_length*/;
300 variable[8] = TAG_Bool(UNTAG_Int( variable[5] /*index*/)<UNTAG_Int(variable[8]));
301 }
302 variable[7] = variable[8];
303 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_parser, 229); nit_exit(1);}
304 variable[7] = variable[4];
305 variable[7] = ATTR_array___Array____items(variable[7]) /*Array::_items*/;
306 variable[7] = UNBOX_NativeArray(variable[7])[UNTAG_Int( variable[5] /*index*/)];
307 variable[6] = variable[7];
308 goto return_label12;
309 return_label12: while(false);
310 variable[2] = variable[6];
311 variable[2] = ((parser___State___state_t)CALL(variable[2],COLOR_parser___State___state))(variable[2]) /*State::state*/;
312 variable[1] = variable[2];
313 goto return_label11;
314 return_label11: while(false);
315 tracehead = trace.prev;
316 return variable[1];
317 }
318 val_t parser___Parser___pop(val_t self) {
319 struct trace_t trace = {NULL, NULL, 89, LOCATE_parser___Parser___pop};
320 val_t variable[10];
321 void **closurevariable = NULL;
322 trace.prev = tracehead; tracehead = &trace;
323 trace.file = LOCATE_parser;
324 variable[0] = self;
325 variable[3] = variable[0];
326 variable[3] = ATTR_parser___Parser____stack(variable[3]) /*Parser::_stack*/;
327 variable[4] = variable[0];
328 variable[4] = ATTR_parser___Parser____stack_pos(variable[4]) /*Parser::_stack_pos*/;
329 variable[5] = variable[3];
330 variable[6] = variable[4];
331 variable[8] = TAG_Bool(UNTAG_Int( variable[6] /*index*/)>=UNTAG_Int( TAG_Int(0)));
332 variable[9] = variable[8];
333 if (UNTAG_Bool(variable[9])) { /* and */
334 variable[9] = variable[5];
335 variable[9] = ATTR_array___AbstractArray____length(variable[9]) /*AbstractArray::_length*/;
336 variable[9] = TAG_Bool(UNTAG_Int( variable[6] /*index*/)<UNTAG_Int(variable[9]));
337 }
338 variable[8] = variable[9];
339 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_parser, 229); nit_exit(1);}
340 variable[8] = variable[5];
341 variable[8] = ATTR_array___Array____items(variable[8]) /*Array::_items*/;
342 variable[8] = UNBOX_NativeArray(variable[8])[UNTAG_Int( variable[6] /*index*/)];
343 variable[7] = variable[8];
344 goto return_label14;
345 return_label14: while(false);
346 variable[3] = variable[7];
347 variable[3] = ((parser___State___nodes_t)CALL(variable[3],COLOR_parser___State___nodes))(variable[3]) /*State::nodes*/;
348 variable[2] = variable[3];
349 variable[3] = variable[0];
350 variable[4] = variable[0];
351 variable[4] = ATTR_parser___Parser____stack_pos(variable[4]) /*Parser::_stack_pos*/;
352 variable[4] = TAG_Int(UNTAG_Int(variable[4])-UNTAG_Int( TAG_Int(1)));
353 ATTR_parser___Parser____stack_pos(variable[3]) /*Parser::_stack_pos*/ = variable[4];
354 variable[1] = variable[2] /*res*/;
355 goto return_label13;
356 return_label13: while(false);
357 tracehead = trace.prev;
358 return variable[1];
359 }
360 val_t parser___Parser___parse(val_t self) {
361 struct trace_t trace = {NULL, NULL, 97, LOCATE_parser___Parser___parse};
362 val_t variable[22];
363 void **closurevariable = NULL;
364 trace.prev = tracehead; tracehead = &trace;
365 trace.file = LOCATE_parser;
366 variable[0] = self;
367 variable[2] = variable[0];
368 ((parser___Parser___push_t)CALL(variable[2],COLOR_parser___Parser___push))(variable[2], TAG_Int(0), NIT_NULL /*null*/) /*Parser::push*/;
369 variable[2] = NIT_NULL /*null*/;
370 variable[4] = variable[0];
371 variable[4] = ATTR_parser___Parser____lexer(variable[4]) /*Parser::_lexer*/;
372 variable[3] = variable[4];
373 while (true) { /*while*/
374 if (!UNTAG_Bool( TAG_Bool(true))) break; /* while*/
375 variable[5] = ((lexer___Lexer___peek_t)CALL( variable[3] /*lexer*/,COLOR_lexer___Lexer___peek))( variable[3] /*lexer*/) /*Lexer::peek*/;
376 variable[4] = variable[5];
377 variable[6] = ((lexer___Token___pos_t)CALL( variable[4] /*token*/,COLOR_lexer___Token___pos))( variable[4] /*token*/) /*Token::pos*/;
378 variable[5] = variable[6];
379 variable[7] = ((lexer___Token___line_t)CALL( variable[4] /*token*/,COLOR_lexer___Token___line))( variable[4] /*token*/) /*Token::line*/;
380 variable[6] = variable[7];
381 variable[7] = TAG_Bool(( variable[4] /*token*/==NIT_NULL) || VAL_ISA( variable[4] /*token*/, COLOR_PError, ID_PError)) /*cast PError*/;
382 if (UNTAG_Bool(variable[7])) { /*if*/
383 variable[7] = TAG_Bool(( variable[4] /*token*/==NIT_NULL) || VAL_ISA( variable[4] /*token*/, COLOR_PError, ID_PError)) /*cast PError*/;
384 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___Parser___parse, LOCATE_parser, 110); nit_exit(1);}
385 variable[7] = NEW_Start_parser_prod___Start___init( NIT_NULL /*null*/, variable[4] /*token*/); /*new Start*/
386 variable[1] = variable[7];
387 goto return_label15;
388 }
389 variable[8] = ((lexer___Token___parser_index_t)CALL( variable[4] /*token*/,COLOR_lexer___Token___parser_index))( variable[4] /*token*/) /*Token::parser_index*/;
390 variable[7] = variable[8];
391 variable[9] = variable[0];
392 variable[9] = ATTR_parser_tables___ParserTable____action_table(variable[9]) /*ParserTable::_action_table*/;
393 variable[10] = variable[0];
394 variable[10] = ((parser___Parser___state_t)CALL(variable[10],COLOR_parser___Parser___state))(variable[10]) /*Parser::state*/;
395 variable[11] = variable[9];
396 variable[12] = variable[10];
397 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
398 variable[15] = variable[14];
399 if (UNTAG_Bool(variable[15])) { /* and */
400 variable[15] = variable[11];
401 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
402 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
403 }
404 variable[14] = variable[15];
405 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_parser, 229); nit_exit(1);}
406 variable[14] = variable[11];
407 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
408 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
409 variable[13] = variable[14];
410 goto return_label17;
411 return_label17: while(false);
412 variable[9] = variable[13];
413 variable[8] = variable[9];
414 variable[10] = variable[8] /*table*/;
415 variable[11] = TAG_Int(1);
416 variable[13] = TAG_Bool(UNTAG_Int( variable[11] /*index*/)>=UNTAG_Int( TAG_Int(0)));
417 variable[14] = variable[13];
418 if (UNTAG_Bool(variable[14])) { /* and */
419 variable[14] = variable[10];
420 variable[14] = ATTR_array___AbstractArray____length(variable[14]) /*AbstractArray::_length*/;
421 variable[14] = TAG_Bool(UNTAG_Int( variable[11] /*index*/)<UNTAG_Int(variable[14]));
422 }
423 variable[13] = variable[14];
424 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_parser, 229); nit_exit(1);}
425 variable[13] = variable[10];
426 variable[13] = ATTR_array___Array____items(variable[13]) /*Array::_items*/;
427 variable[13] = UNBOX_NativeArray(variable[13])[UNTAG_Int( variable[11] /*index*/)];
428 variable[12] = variable[13];
429 goto return_label18;
430 return_label18: while(false);
431 variable[10] = variable[12];
432 variable[9] = variable[10];
433 variable[11] = variable[8] /*table*/;
434 variable[12] = TAG_Int(2);
435 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
436 variable[15] = variable[14];
437 if (UNTAG_Bool(variable[15])) { /* and */
438 variable[15] = variable[11];
439 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
440 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
441 }
442 variable[14] = variable[15];
443 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_parser, 229); nit_exit(1);}
444 variable[14] = variable[11];
445 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
446 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
447 variable[13] = variable[14];
448 goto return_label19;
449 return_label19: while(false);
450 variable[11] = variable[13];
451 variable[10] = variable[11];
452 variable[11] = TAG_Int(1);
453 variable[13] = ((array___AbstractArray___length_t)CALL( variable[8] /*table*/,COLOR_abstract_collection___Collection___length))( variable[8] /*table*/) /*AbstractArray::length*/;
454 variable[13] = TAG_Int(UNTAG_Int(variable[13])/UNTAG_Int( TAG_Int(3)));
455 variable[13] = TAG_Int(UNTAG_Int(variable[13])-UNTAG_Int( TAG_Int(1)));
456 variable[12] = variable[13];
457 while (true) { /*while*/
458 variable[13] = TAG_Bool(UNTAG_Int( variable[11] /*low*/)<=UNTAG_Int( variable[12] /*high*/));
459 if (!UNTAG_Bool(variable[13])) break; /* while*/
460 variable[14] = TAG_Int(UNTAG_Int( variable[11] /*low*/)+UNTAG_Int( variable[12] /*high*/));
461 variable[14] = TAG_Int(UNTAG_Int(variable[14])/UNTAG_Int( TAG_Int(2)));
462 variable[13] = variable[14];
463 variable[15] = TAG_Int(UNTAG_Int( variable[13] /*middle*/)*UNTAG_Int( TAG_Int(3)));
464 variable[14] = variable[15];
465 variable[15] = variable[8] /*table*/;
466 variable[16] = variable[14] /*subindex*/;
467 variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)>=UNTAG_Int( TAG_Int(0)));
468 variable[19] = variable[18];
469 if (UNTAG_Bool(variable[19])) { /* and */
470 variable[19] = variable[15];
471 variable[19] = ATTR_array___AbstractArray____length(variable[19]) /*AbstractArray::_length*/;
472 variable[19] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)<UNTAG_Int(variable[19]));
473 }
474 variable[18] = variable[19];
475 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_parser, 229); nit_exit(1);}
476 variable[18] = variable[15];
477 variable[18] = ATTR_array___Array____items(variable[18]) /*Array::_items*/;
478 variable[18] = UNBOX_NativeArray(variable[18])[UNTAG_Int( variable[16] /*index*/)];
479 variable[17] = variable[18];
480 goto return_label21;
481 return_label21: while(false);
482 variable[15] = variable[17];
483 variable[15] = TAG_Bool(UNTAG_Int( variable[7] /*index*/)<UNTAG_Int(variable[15]));
484 if (UNTAG_Bool(variable[15])) { /*if*/
485 variable[15] = TAG_Int(UNTAG_Int( variable[13] /*middle*/)-UNTAG_Int( TAG_Int(1)));
486 variable[12] = variable[15] /*high=*/;
487 } else { /*if*/
488 variable[15] = variable[8] /*table*/;
489 variable[16] = variable[14] /*subindex*/;
490 variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)>=UNTAG_Int( TAG_Int(0)));
491 variable[19] = variable[18];
492 if (UNTAG_Bool(variable[19])) { /* and */
493 variable[19] = variable[15];
494 variable[19] = ATTR_array___AbstractArray____length(variable[19]) /*AbstractArray::_length*/;
495 variable[19] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)<UNTAG_Int(variable[19]));
496 }
497 variable[18] = variable[19];
498 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_parser, 229); nit_exit(1);}
499 variable[18] = variable[15];
500 variable[18] = ATTR_array___Array____items(variable[18]) /*Array::_items*/;
501 variable[18] = UNBOX_NativeArray(variable[18])[UNTAG_Int( variable[16] /*index*/)];
502 variable[17] = variable[18];
503 goto return_label22;
504 return_label22: while(false);
505 variable[15] = variable[17];
506 variable[15] = TAG_Bool(UNTAG_Int( variable[7] /*index*/)>UNTAG_Int(variable[15]));
507 if (UNTAG_Bool(variable[15])) { /*if*/
508 variable[15] = TAG_Int(UNTAG_Int( variable[13] /*middle*/)+UNTAG_Int( TAG_Int(1)));
509 variable[11] = variable[15] /*low=*/;
510 } else { /*if*/
511 variable[15] = TAG_Int(UNTAG_Int( variable[14] /*subindex*/)+UNTAG_Int( TAG_Int(1)));
512 variable[16] = variable[8] /*table*/;
513 variable[17] = variable[15];
514 variable[19] = TAG_Bool(UNTAG_Int( variable[17] /*index*/)>=UNTAG_Int( TAG_Int(0)));
515 variable[20] = variable[19];
516 if (UNTAG_Bool(variable[20])) { /* and */
517 variable[20] = variable[16];
518 variable[20] = ATTR_array___AbstractArray____length(variable[20]) /*AbstractArray::_length*/;
519 variable[20] = TAG_Bool(UNTAG_Int( variable[17] /*index*/)<UNTAG_Int(variable[20]));
520 }
521 variable[19] = variable[20];
522 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_parser, 229); nit_exit(1);}
523 variable[19] = variable[16];
524 variable[19] = ATTR_array___Array____items(variable[19]) /*Array::_items*/;
525 variable[19] = UNBOX_NativeArray(variable[19])[UNTAG_Int( variable[17] /*index*/)];
526 variable[18] = variable[19];
527 goto return_label23;
528 return_label23: while(false);
529 variable[15] = variable[18];
530 variable[9] = variable[15] /*action_type=*/;
531 variable[15] = TAG_Int(UNTAG_Int( variable[14] /*subindex*/)+UNTAG_Int( TAG_Int(2)));
532 variable[16] = variable[8] /*table*/;
533 variable[17] = variable[15];
534 variable[19] = TAG_Bool(UNTAG_Int( variable[17] /*index*/)>=UNTAG_Int( TAG_Int(0)));
535 variable[20] = variable[19];
536 if (UNTAG_Bool(variable[20])) { /* and */
537 variable[20] = variable[16];
538 variable[20] = ATTR_array___AbstractArray____length(variable[20]) /*AbstractArray::_length*/;
539 variable[20] = TAG_Bool(UNTAG_Int( variable[17] /*index*/)<UNTAG_Int(variable[20]));
540 }
541 variable[19] = variable[20];
542 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_parser, 229); nit_exit(1);}
543 variable[19] = variable[16];
544 variable[19] = ATTR_array___Array____items(variable[19]) /*Array::_items*/;
545 variable[19] = UNBOX_NativeArray(variable[19])[UNTAG_Int( variable[17] /*index*/)];
546 variable[18] = variable[19];
547 goto return_label24;
548 return_label24: while(false);
549 variable[15] = variable[18];
550 variable[10] = variable[15] /*action_value=*/;
551 variable[15] = TAG_Int(UNTAG_Int( variable[11] /*low*/)-UNTAG_Int( TAG_Int(1)));
552 variable[12] = variable[15] /*high=*/;
553 }
554 }
555 continue_20: while(0);
556 }
557 break_20: while(0);
558 variable[13] = TAG_Bool(( variable[9] /*action_type*/)==( TAG_Int(0)));
559 if (UNTAG_Bool(variable[13])) { /*if*/
560 variable[13] = variable[0];
561 variable[14] = ((lexer___Lexer___next_t)CALL( variable[3] /*lexer*/,COLOR_lexer___Lexer___next))( variable[3] /*lexer*/) /*Lexer::next*/;
562 ((parser___Parser___push_t)CALL(variable[13],COLOR_parser___Parser___push))(variable[13], variable[10] /*action_value*/, variable[14]) /*Parser::push*/;
563 } else { /*if*/
564 variable[13] = TAG_Bool(( variable[9] /*action_type*/)==( TAG_Int(1)));
565 if (UNTAG_Bool(variable[13])) { /*if*/
566 variable[13] = variable[0];
567 variable[13] = ATTR_parser___Parser____reduce_table(variable[13]) /*Parser::_reduce_table*/;
568 variable[14] = variable[13];
569 variable[15] = variable[10] /*action_value*/;
570 variable[17] = TAG_Bool(UNTAG_Int( variable[15] /*index*/)>=UNTAG_Int( TAG_Int(0)));
571 variable[18] = variable[17];
572 if (UNTAG_Bool(variable[18])) { /* and */
573 variable[18] = variable[14];
574 variable[18] = ATTR_array___AbstractArray____length(variable[18]) /*AbstractArray::_length*/;
575 variable[18] = TAG_Bool(UNTAG_Int( variable[15] /*index*/)<UNTAG_Int(variable[18]));
576 }
577 variable[17] = variable[18];
578 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_parser, 229); nit_exit(1);}
579 variable[17] = variable[14];
580 variable[17] = ATTR_array___Array____items(variable[17]) /*Array::_items*/;
581 variable[17] = UNBOX_NativeArray(variable[17])[UNTAG_Int( variable[15] /*index*/)];
582 variable[16] = variable[17];
583 goto return_label25;
584 return_label25: while(false);
585 variable[13] = variable[16];
586 variable[14] = variable[0];
587 ((parser___ReduceAction___action_t)CALL(variable[13],COLOR_parser___ReduceAction___action))(variable[13], variable[14]) /*ReduceAction::action*/;
588 } else { /*if*/
589 variable[13] = TAG_Bool(( variable[9] /*action_type*/)==( TAG_Int(2)));
590 if (UNTAG_Bool(variable[13])) { /*if*/
591 variable[14] = ((lexer___Lexer___next_t)CALL( variable[3] /*lexer*/,COLOR_lexer___Lexer___next))( variable[3] /*lexer*/) /*Lexer::next*/;
592 variable[13] = variable[14];
593 variable[14] = TAG_Bool(( variable[13] /*node2*/==NIT_NULL) || VAL_ISA( variable[13] /*node2*/, COLOR_EOF, ID_EOF)) /*cast EOF*/;
594 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___Parser___parse, LOCATE_parser, 143); nit_exit(1);}
595 variable[15] = variable[0];
596 variable[15] = ((parser___Parser___pop_t)CALL(variable[15],COLOR_parser___Parser___pop))(variable[15]) /*Parser::pop*/;
597 variable[14] = variable[15];
598 variable[15] = TAG_Bool(( variable[14] /*node1*/==NIT_NULL) || VAL_ISA( variable[14] /*node1*/, COLOR_PModule, ID_PModule)) /*cast PModule*/;
599 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___Parser___parse, LOCATE_parser, 145); nit_exit(1);}
600 variable[16] = NEW_Start_parser_prod___Start___init( variable[14] /*node1*/, variable[13] /*node2*/); /*new Start*/
601 variable[15] = variable[16];
602 variable[16] = NEW_SearchTokensVisitor_parser___SearchTokensVisitor___init(); /*new SearchTokensVisitor*/
603 ((parser___SearchTokensVisitor___visit_t)CALL(variable[16],COLOR_parser_prod___Visitor___visit))(variable[16], variable[15] /*node*/) /*SearchTokensVisitor::visit*/;
604 variable[1] = variable[15] /*node*/;
605 goto return_label15;
606 } else { /*if*/
607 variable[13] = TAG_Bool(( variable[9] /*action_type*/)==( TAG_Int(3)));
608 if (UNTAG_Bool(variable[13])) { /*if*/
609 variable[14] = ((lexer___Lexer___filename_t)CALL( variable[3] /*lexer*/,COLOR_lexer___Lexer___filename))( variable[3] /*lexer*/) /*Lexer::filename*/;
610 variable[15] = variable[0];
611 variable[15] = ((parser_tables___ParserTable___error_messages_t)CALL(variable[15],COLOR_parser_tables___ParserTable___error_messages))(variable[15]) /*ParserTable::error_messages*/;
612 variable[16] = variable[0];
613 variable[16] = ((parser_tables___ParserTable___errors_t)CALL(variable[16],COLOR_parser_tables___ParserTable___errors))(variable[16]) /*ParserTable::errors*/;
614 variable[17] = variable[16];
615 variable[18] = variable[10] /*action_value*/;
616 variable[20] = TAG_Bool(UNTAG_Int( variable[18] /*index*/)>=UNTAG_Int( TAG_Int(0)));
617 variable[21] = variable[20];
618 if (UNTAG_Bool(variable[21])) { /* and */
619 variable[21] = variable[17];
620 variable[21] = ATTR_array___AbstractArray____length(variable[21]) /*AbstractArray::_length*/;
621 variable[21] = TAG_Bool(UNTAG_Int( variable[18] /*index*/)<UNTAG_Int(variable[21]));
622 }
623 variable[20] = variable[21];
624 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_parser, 229); nit_exit(1);}
625 variable[20] = variable[17];
626 variable[20] = ATTR_array___Array____items(variable[20]) /*Array::_items*/;
627 variable[20] = UNBOX_NativeArray(variable[20])[UNTAG_Int( variable[18] /*index*/)];
628 variable[19] = variable[20];
629 goto return_label26;
630 return_label26: while(false);
631 variable[16] = variable[19];
632 variable[17] = variable[15];
633 variable[18] = variable[16];
634 variable[20] = TAG_Bool(UNTAG_Int( variable[18] /*index*/)>=UNTAG_Int( TAG_Int(0)));
635 variable[21] = variable[20];
636 if (UNTAG_Bool(variable[21])) { /* and */
637 variable[21] = variable[17];
638 variable[21] = ATTR_array___AbstractArray____length(variable[21]) /*AbstractArray::_length*/;
639 variable[21] = TAG_Bool(UNTAG_Int( variable[18] /*index*/)<UNTAG_Int(variable[21]));
640 }
641 variable[20] = variable[21];
642 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_parser, 229); nit_exit(1);}
643 variable[20] = variable[17];
644 variable[20] = ATTR_array___Array____items(variable[20]) /*Array::_items*/;
645 variable[20] = UNBOX_NativeArray(variable[20])[UNTAG_Int( variable[18] /*index*/)];
646 variable[19] = variable[20];
647 goto return_label27;
648 return_label27: while(false);
649 variable[15] = variable[19];
650 variable[16] = NEW_PError_lexer___PError___init_error(variable[14], variable[6] /*last_line*/, variable[5] /*last_pos*/, variable[15]); /*new PError*/
651 variable[14] = variable[16];
652 variable[13] = variable[14];
653 variable[15] = NEW_Start_parser_prod___Start___init( NIT_NULL /*null*/, variable[13] /*node2*/); /*new Start*/
654 variable[14] = variable[15];
655 variable[1] = variable[14] /*node*/;
656 goto return_label15;
657 }
658 }
659 }
660 }
661 continue_16: while(0);
662 }
663 break_16: while(0);
664 variable[1] = NIT_NULL /*null*/;
665 goto return_label15;
666 return_label15: while(false);
667 tracehead = trace.prev;
668 return variable[1];
669 }
670 void parser___Parser___build_reduce_table(val_t self) {
671 struct trace_t trace = {NULL, NULL, 159, LOCATE_parser___Parser___build_reduce_table};
672 val_t variable[829];
673 void **closurevariable = NULL;
674 trace.prev = tracehead; tracehead = &trace;
675 trace.file = LOCATE_parser;
676 variable[0] = self;
677 variable[2] = variable[0];
678 variable[3] = NEW_Array_array___Array___with_capacity(TAG_Int(825)); /*new Array[ReduceAction]*/
679 variable[4] = NEW_ReduceAction0_parser___ReduceAction0___init(); /*new ReduceAction0*/
680 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[4]) /*AbstractArray::add*/;
681 variable[5] = NEW_ReduceAction1_parser___ReduceAction1___init(); /*new ReduceAction1*/
682 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[5]) /*AbstractArray::add*/;
683 variable[6] = NEW_ReduceAction2_parser___ReduceAction2___init(); /*new ReduceAction2*/
684 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[6]) /*AbstractArray::add*/;
685 variable[7] = NEW_ReduceAction3_parser___ReduceAction3___init(); /*new ReduceAction3*/
686 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[7]) /*AbstractArray::add*/;
687 variable[8] = NEW_ReduceAction4_parser___ReduceAction4___init(); /*new ReduceAction4*/
688 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[8]) /*AbstractArray::add*/;
689 variable[9] = NEW_ReduceAction5_parser___ReduceAction5___init(); /*new ReduceAction5*/
690 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[9]) /*AbstractArray::add*/;
691 variable[10] = NEW_ReduceAction6_parser___ReduceAction6___init(); /*new ReduceAction6*/
692 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[10]) /*AbstractArray::add*/;
693 variable[11] = NEW_ReduceAction7_parser___ReduceAction7___init(); /*new ReduceAction7*/
694 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[11]) /*AbstractArray::add*/;
695 variable[12] = NEW_ReduceAction8_parser___ReduceAction8___init(); /*new ReduceAction8*/
696 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[12]) /*AbstractArray::add*/;
697 variable[13] = NEW_ReduceAction9_parser___ReduceAction9___init(); /*new ReduceAction9*/
698 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[13]) /*AbstractArray::add*/;
699 variable[14] = NEW_ReduceAction10_parser___ReduceAction10___init(); /*new ReduceAction10*/
700 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[14]) /*AbstractArray::add*/;
701 variable[15] = NEW_ReduceAction11_parser___ReduceAction11___init(); /*new ReduceAction11*/
702 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[15]) /*AbstractArray::add*/;
703 variable[16] = NEW_ReduceAction12_parser___ReduceAction12___init(); /*new ReduceAction12*/
704 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[16]) /*AbstractArray::add*/;
705 variable[17] = NEW_ReduceAction13_parser___ReduceAction13___init(); /*new ReduceAction13*/
706 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[17]) /*AbstractArray::add*/;
707 variable[18] = NEW_ReduceAction14_parser___ReduceAction14___init(); /*new ReduceAction14*/
708 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[18]) /*AbstractArray::add*/;
709 variable[19] = NEW_ReduceAction15_parser___ReduceAction15___init(); /*new ReduceAction15*/
710 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[19]) /*AbstractArray::add*/;
711 variable[20] = NEW_ReduceAction16_parser___ReduceAction16___init(); /*new ReduceAction16*/
712 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[20]) /*AbstractArray::add*/;
713 variable[21] = NEW_ReduceAction17_parser___ReduceAction17___init(); /*new ReduceAction17*/
714 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[21]) /*AbstractArray::add*/;
715 variable[22] = NEW_ReduceAction18_parser___ReduceAction18___init(); /*new ReduceAction18*/
716 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[22]) /*AbstractArray::add*/;
717 variable[23] = NEW_ReduceAction19_parser___ReduceAction19___init(); /*new ReduceAction19*/
718 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[23]) /*AbstractArray::add*/;
719 variable[24] = NEW_ReduceAction20_parser___ReduceAction20___init(); /*new ReduceAction20*/
720 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[24]) /*AbstractArray::add*/;
721 variable[25] = NEW_ReduceAction21_parser___ReduceAction21___init(); /*new ReduceAction21*/
722 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[25]) /*AbstractArray::add*/;
723 variable[26] = NEW_ReduceAction22_parser___ReduceAction22___init(); /*new ReduceAction22*/
724 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[26]) /*AbstractArray::add*/;
725 variable[27] = NEW_ReduceAction23_parser___ReduceAction23___init(); /*new ReduceAction23*/
726 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[27]) /*AbstractArray::add*/;
727 variable[28] = NEW_ReduceAction24_parser___ReduceAction24___init(); /*new ReduceAction24*/
728 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[28]) /*AbstractArray::add*/;
729 variable[29] = NEW_ReduceAction25_parser___ReduceAction25___init(); /*new ReduceAction25*/
730 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[29]) /*AbstractArray::add*/;
731 variable[30] = NEW_ReduceAction26_parser___ReduceAction26___init(); /*new ReduceAction26*/
732 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[30]) /*AbstractArray::add*/;
733 variable[31] = NEW_ReduceAction27_parser___ReduceAction27___init(); /*new ReduceAction27*/
734 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[31]) /*AbstractArray::add*/;
735 variable[32] = NEW_ReduceAction28_parser___ReduceAction28___init(); /*new ReduceAction28*/
736 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[32]) /*AbstractArray::add*/;
737 variable[33] = NEW_ReduceAction29_parser___ReduceAction29___init(); /*new ReduceAction29*/
738 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[33]) /*AbstractArray::add*/;
739 variable[34] = NEW_ReduceAction30_parser___ReduceAction30___init(); /*new ReduceAction30*/
740 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[34]) /*AbstractArray::add*/;
741 variable[35] = NEW_ReduceAction31_parser___ReduceAction31___init(); /*new ReduceAction31*/
742 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[35]) /*AbstractArray::add*/;
743 variable[36] = NEW_ReduceAction32_parser___ReduceAction32___init(); /*new ReduceAction32*/
744 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[36]) /*AbstractArray::add*/;
745 variable[37] = NEW_ReduceAction33_parser___ReduceAction33___init(); /*new ReduceAction33*/
746 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[37]) /*AbstractArray::add*/;
747 variable[38] = NEW_ReduceAction34_parser___ReduceAction34___init(); /*new ReduceAction34*/
748 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[38]) /*AbstractArray::add*/;
749 variable[39] = NEW_ReduceAction35_parser___ReduceAction35___init(); /*new ReduceAction35*/
750 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[39]) /*AbstractArray::add*/;
751 variable[40] = NEW_ReduceAction36_parser___ReduceAction36___init(); /*new ReduceAction36*/
752 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[40]) /*AbstractArray::add*/;
753 variable[41] = NEW_ReduceAction37_parser___ReduceAction37___init(); /*new ReduceAction37*/
754 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[41]) /*AbstractArray::add*/;
755 variable[42] = NEW_ReduceAction38_parser___ReduceAction38___init(); /*new ReduceAction38*/
756 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[42]) /*AbstractArray::add*/;
757 variable[43] = NEW_ReduceAction39_parser___ReduceAction39___init(); /*new ReduceAction39*/
758 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[43]) /*AbstractArray::add*/;
759 variable[44] = NEW_ReduceAction40_parser___ReduceAction40___init(); /*new ReduceAction40*/
760 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[44]) /*AbstractArray::add*/;
761 variable[45] = NEW_ReduceAction41_parser___ReduceAction41___init(); /*new ReduceAction41*/
762 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[45]) /*AbstractArray::add*/;
763 variable[46] = NEW_ReduceAction42_parser___ReduceAction42___init(); /*new ReduceAction42*/
764 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[46]) /*AbstractArray::add*/;
765 variable[47] = NEW_ReduceAction43_parser___ReduceAction43___init(); /*new ReduceAction43*/
766 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[47]) /*AbstractArray::add*/;
767 variable[48] = NEW_ReduceAction44_parser___ReduceAction44___init(); /*new ReduceAction44*/
768 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[48]) /*AbstractArray::add*/;
769 variable[49] = NEW_ReduceAction45_parser___ReduceAction45___init(); /*new ReduceAction45*/
770 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[49]) /*AbstractArray::add*/;
771 variable[50] = NEW_ReduceAction46_parser___ReduceAction46___init(); /*new ReduceAction46*/
772 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[50]) /*AbstractArray::add*/;
773 variable[51] = NEW_ReduceAction47_parser___ReduceAction47___init(); /*new ReduceAction47*/
774 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[51]) /*AbstractArray::add*/;
775 variable[52] = NEW_ReduceAction48_parser___ReduceAction48___init(); /*new ReduceAction48*/
776 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[52]) /*AbstractArray::add*/;
777 variable[53] = NEW_ReduceAction49_parser___ReduceAction49___init(); /*new ReduceAction49*/
778 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[53]) /*AbstractArray::add*/;
779 variable[54] = NEW_ReduceAction50_parser___ReduceAction50___init(); /*new ReduceAction50*/
780 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[54]) /*AbstractArray::add*/;
781 variable[55] = NEW_ReduceAction51_parser___ReduceAction51___init(); /*new ReduceAction51*/
782 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[55]) /*AbstractArray::add*/;
783 variable[56] = NEW_ReduceAction52_parser___ReduceAction52___init(); /*new ReduceAction52*/
784 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[56]) /*AbstractArray::add*/;
785 variable[57] = NEW_ReduceAction53_parser___ReduceAction53___init(); /*new ReduceAction53*/
786 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[57]) /*AbstractArray::add*/;
787 variable[58] = NEW_ReduceAction54_parser___ReduceAction54___init(); /*new ReduceAction54*/
788 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[58]) /*AbstractArray::add*/;
789 variable[59] = NEW_ReduceAction55_parser___ReduceAction55___init(); /*new ReduceAction55*/
790 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[59]) /*AbstractArray::add*/;
791 variable[60] = NEW_ReduceAction56_parser___ReduceAction56___init(); /*new ReduceAction56*/
792 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[60]) /*AbstractArray::add*/;
793 variable[61] = NEW_ReduceAction57_parser___ReduceAction57___init(); /*new ReduceAction57*/
794 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[61]) /*AbstractArray::add*/;
795 variable[62] = NEW_ReduceAction58_parser___ReduceAction58___init(); /*new ReduceAction58*/
796 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[62]) /*AbstractArray::add*/;
797 variable[63] = NEW_ReduceAction59_parser___ReduceAction59___init(); /*new ReduceAction59*/
798 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[63]) /*AbstractArray::add*/;
799 variable[64] = NEW_ReduceAction60_parser___ReduceAction60___init(); /*new ReduceAction60*/
800 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[64]) /*AbstractArray::add*/;
801 variable[65] = NEW_ReduceAction61_parser___ReduceAction61___init(); /*new ReduceAction61*/
802 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[65]) /*AbstractArray::add*/;
803 variable[66] = NEW_ReduceAction62_parser___ReduceAction62___init(); /*new ReduceAction62*/
804 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[66]) /*AbstractArray::add*/;
805 variable[67] = NEW_ReduceAction63_parser___ReduceAction63___init(); /*new ReduceAction63*/
806 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[67]) /*AbstractArray::add*/;
807 variable[68] = NEW_ReduceAction64_parser___ReduceAction64___init(); /*new ReduceAction64*/
808 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[68]) /*AbstractArray::add*/;
809 variable[69] = NEW_ReduceAction65_parser___ReduceAction65___init(); /*new ReduceAction65*/
810 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[69]) /*AbstractArray::add*/;
811 variable[70] = NEW_ReduceAction66_parser___ReduceAction66___init(); /*new ReduceAction66*/
812 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[70]) /*AbstractArray::add*/;
813 variable[71] = NEW_ReduceAction67_parser___ReduceAction67___init(); /*new ReduceAction67*/
814 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[71]) /*AbstractArray::add*/;
815 variable[72] = NEW_ReduceAction68_parser___ReduceAction68___init(); /*new ReduceAction68*/
816 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[72]) /*AbstractArray::add*/;
817 variable[73] = NEW_ReduceAction69_parser___ReduceAction69___init(); /*new ReduceAction69*/
818 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[73]) /*AbstractArray::add*/;
819 variable[74] = NEW_ReduceAction70_parser___ReduceAction70___init(); /*new ReduceAction70*/
820 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[74]) /*AbstractArray::add*/;
821 variable[75] = NEW_ReduceAction71_parser___ReduceAction71___init(); /*new ReduceAction71*/
822 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[75]) /*AbstractArray::add*/;
823 variable[76] = NEW_ReduceAction72_parser___ReduceAction72___init(); /*new ReduceAction72*/
824 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[76]) /*AbstractArray::add*/;
825 variable[77] = NEW_ReduceAction73_parser___ReduceAction73___init(); /*new ReduceAction73*/
826 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[77]) /*AbstractArray::add*/;
827 variable[78] = NEW_ReduceAction74_parser___ReduceAction74___init(); /*new ReduceAction74*/
828 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[78]) /*AbstractArray::add*/;
829 variable[79] = NEW_ReduceAction75_parser___ReduceAction75___init(); /*new ReduceAction75*/
830 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[79]) /*AbstractArray::add*/;
831 variable[80] = NEW_ReduceAction76_parser___ReduceAction76___init(); /*new ReduceAction76*/
832 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[80]) /*AbstractArray::add*/;
833 variable[81] = NEW_ReduceAction77_parser___ReduceAction77___init(); /*new ReduceAction77*/
834 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[81]) /*AbstractArray::add*/;
835 variable[82] = NEW_ReduceAction78_parser___ReduceAction78___init(); /*new ReduceAction78*/
836 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[82]) /*AbstractArray::add*/;
837 variable[83] = NEW_ReduceAction79_parser___ReduceAction79___init(); /*new ReduceAction79*/
838 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[83]) /*AbstractArray::add*/;
839 variable[84] = NEW_ReduceAction80_parser___ReduceAction80___init(); /*new ReduceAction80*/
840 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[84]) /*AbstractArray::add*/;
841 variable[85] = NEW_ReduceAction81_parser___ReduceAction81___init(); /*new ReduceAction81*/
842 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[85]) /*AbstractArray::add*/;
843 variable[86] = NEW_ReduceAction82_parser___ReduceAction82___init(); /*new ReduceAction82*/
844 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[86]) /*AbstractArray::add*/;
845 variable[87] = NEW_ReduceAction83_parser___ReduceAction83___init(); /*new ReduceAction83*/
846 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[87]) /*AbstractArray::add*/;
847 variable[88] = NEW_ReduceAction84_parser___ReduceAction84___init(); /*new ReduceAction84*/
848 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[88]) /*AbstractArray::add*/;
849 variable[89] = NEW_ReduceAction85_parser___ReduceAction85___init(); /*new ReduceAction85*/
850 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[89]) /*AbstractArray::add*/;
851 variable[90] = NEW_ReduceAction86_parser___ReduceAction86___init(); /*new ReduceAction86*/
852 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[90]) /*AbstractArray::add*/;
853 variable[91] = NEW_ReduceAction87_parser___ReduceAction87___init(); /*new ReduceAction87*/
854 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[91]) /*AbstractArray::add*/;
855 variable[92] = NEW_ReduceAction88_parser___ReduceAction88___init(); /*new ReduceAction88*/
856 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[92]) /*AbstractArray::add*/;
857 variable[93] = NEW_ReduceAction89_parser___ReduceAction89___init(); /*new ReduceAction89*/
858 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[93]) /*AbstractArray::add*/;
859 variable[94] = NEW_ReduceAction90_parser___ReduceAction90___init(); /*new ReduceAction90*/
860 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[94]) /*AbstractArray::add*/;
861 variable[95] = NEW_ReduceAction91_parser___ReduceAction91___init(); /*new ReduceAction91*/
862 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[95]) /*AbstractArray::add*/;
863 variable[96] = NEW_ReduceAction92_parser___ReduceAction92___init(); /*new ReduceAction92*/
864 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[96]) /*AbstractArray::add*/;
865 variable[97] = NEW_ReduceAction93_parser___ReduceAction93___init(); /*new ReduceAction93*/
866 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[97]) /*AbstractArray::add*/;
867 variable[98] = NEW_ReduceAction94_parser___ReduceAction94___init(); /*new ReduceAction94*/
868 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[98]) /*AbstractArray::add*/;
869 variable[99] = NEW_ReduceAction95_parser___ReduceAction95___init(); /*new ReduceAction95*/
870 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[99]) /*AbstractArray::add*/;
871 variable[100] = NEW_ReduceAction96_parser___ReduceAction96___init(); /*new ReduceAction96*/
872 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[100]) /*AbstractArray::add*/;
873 variable[101] = NEW_ReduceAction97_parser___ReduceAction97___init(); /*new ReduceAction97*/
874 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[101]) /*AbstractArray::add*/;
875 variable[102] = NEW_ReduceAction98_parser___ReduceAction98___init(); /*new ReduceAction98*/
876 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[102]) /*AbstractArray::add*/;
877 variable[103] = NEW_ReduceAction99_parser___ReduceAction99___init(); /*new ReduceAction99*/
878 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[103]) /*AbstractArray::add*/;
879 variable[104] = NEW_ReduceAction100_parser___ReduceAction100___init(); /*new ReduceAction100*/
880 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[104]) /*AbstractArray::add*/;
881 variable[105] = NEW_ReduceAction101_parser___ReduceAction101___init(); /*new ReduceAction101*/
882 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[105]) /*AbstractArray::add*/;
883 variable[106] = NEW_ReduceAction102_parser___ReduceAction102___init(); /*new ReduceAction102*/
884 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[106]) /*AbstractArray::add*/;
885 variable[107] = NEW_ReduceAction103_parser___ReduceAction103___init(); /*new ReduceAction103*/
886 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[107]) /*AbstractArray::add*/;
887 variable[108] = NEW_ReduceAction104_parser___ReduceAction104___init(); /*new ReduceAction104*/
888 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[108]) /*AbstractArray::add*/;
889 variable[109] = NEW_ReduceAction105_parser___ReduceAction105___init(); /*new ReduceAction105*/
890 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[109]) /*AbstractArray::add*/;
891 variable[110] = NEW_ReduceAction106_parser___ReduceAction106___init(); /*new ReduceAction106*/
892 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[110]) /*AbstractArray::add*/;
893 variable[111] = NEW_ReduceAction107_parser___ReduceAction107___init(); /*new ReduceAction107*/
894 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[111]) /*AbstractArray::add*/;
895 variable[112] = NEW_ReduceAction108_parser___ReduceAction108___init(); /*new ReduceAction108*/
896 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[112]) /*AbstractArray::add*/;
897 variable[113] = NEW_ReduceAction109_parser___ReduceAction109___init(); /*new ReduceAction109*/
898 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[113]) /*AbstractArray::add*/;
899 variable[114] = NEW_ReduceAction110_parser___ReduceAction110___init(); /*new ReduceAction110*/
900 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[114]) /*AbstractArray::add*/;
901 variable[115] = NEW_ReduceAction111_parser___ReduceAction111___init(); /*new ReduceAction111*/
902 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[115]) /*AbstractArray::add*/;
903 variable[116] = NEW_ReduceAction112_parser___ReduceAction112___init(); /*new ReduceAction112*/
904 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[116]) /*AbstractArray::add*/;
905 variable[117] = NEW_ReduceAction113_parser___ReduceAction113___init(); /*new ReduceAction113*/
906 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[117]) /*AbstractArray::add*/;
907 variable[118] = NEW_ReduceAction114_parser___ReduceAction114___init(); /*new ReduceAction114*/
908 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[118]) /*AbstractArray::add*/;
909 variable[119] = NEW_ReduceAction115_parser___ReduceAction115___init(); /*new ReduceAction115*/
910 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[119]) /*AbstractArray::add*/;
911 variable[120] = NEW_ReduceAction116_parser___ReduceAction116___init(); /*new ReduceAction116*/
912 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[120]) /*AbstractArray::add*/;
913 variable[121] = NEW_ReduceAction117_parser___ReduceAction117___init(); /*new ReduceAction117*/
914 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[121]) /*AbstractArray::add*/;
915 variable[122] = NEW_ReduceAction118_parser___ReduceAction118___init(); /*new ReduceAction118*/
916 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[122]) /*AbstractArray::add*/;
917 variable[123] = NEW_ReduceAction119_parser___ReduceAction119___init(); /*new ReduceAction119*/
918 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[123]) /*AbstractArray::add*/;
919 variable[124] = NEW_ReduceAction120_parser___ReduceAction120___init(); /*new ReduceAction120*/
920 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[124]) /*AbstractArray::add*/;
921 variable[125] = NEW_ReduceAction121_parser___ReduceAction121___init(); /*new ReduceAction121*/
922 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[125]) /*AbstractArray::add*/;
923 variable[126] = NEW_ReduceAction122_parser___ReduceAction122___init(); /*new ReduceAction122*/
924 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[126]) /*AbstractArray::add*/;
925 variable[127] = NEW_ReduceAction123_parser___ReduceAction123___init(); /*new ReduceAction123*/
926 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[127]) /*AbstractArray::add*/;
927 variable[128] = NEW_ReduceAction124_parser___ReduceAction124___init(); /*new ReduceAction124*/
928 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[128]) /*AbstractArray::add*/;
929 variable[129] = NEW_ReduceAction125_parser___ReduceAction125___init(); /*new ReduceAction125*/
930 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[129]) /*AbstractArray::add*/;
931 variable[130] = NEW_ReduceAction126_parser___ReduceAction126___init(); /*new ReduceAction126*/
932 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[130]) /*AbstractArray::add*/;
933 variable[131] = NEW_ReduceAction127_parser___ReduceAction127___init(); /*new ReduceAction127*/
934 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[131]) /*AbstractArray::add*/;
935 variable[132] = NEW_ReduceAction128_parser___ReduceAction128___init(); /*new ReduceAction128*/
936 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[132]) /*AbstractArray::add*/;
937 variable[133] = NEW_ReduceAction129_parser___ReduceAction129___init(); /*new ReduceAction129*/
938 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[133]) /*AbstractArray::add*/;
939 variable[134] = NEW_ReduceAction130_parser___ReduceAction130___init(); /*new ReduceAction130*/
940 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[134]) /*AbstractArray::add*/;
941 variable[135] = NEW_ReduceAction131_parser___ReduceAction131___init(); /*new ReduceAction131*/
942 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[135]) /*AbstractArray::add*/;
943 variable[136] = NEW_ReduceAction132_parser___ReduceAction132___init(); /*new ReduceAction132*/
944 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[136]) /*AbstractArray::add*/;
945 variable[137] = NEW_ReduceAction133_parser___ReduceAction133___init(); /*new ReduceAction133*/
946 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[137]) /*AbstractArray::add*/;
947 variable[138] = NEW_ReduceAction134_parser___ReduceAction134___init(); /*new ReduceAction134*/
948 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[138]) /*AbstractArray::add*/;
949 variable[139] = NEW_ReduceAction135_parser___ReduceAction135___init(); /*new ReduceAction135*/
950 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[139]) /*AbstractArray::add*/;
951 variable[140] = NEW_ReduceAction136_parser___ReduceAction136___init(); /*new ReduceAction136*/
952 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[140]) /*AbstractArray::add*/;
953 variable[141] = NEW_ReduceAction137_parser___ReduceAction137___init(); /*new ReduceAction137*/
954 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[141]) /*AbstractArray::add*/;
955 variable[142] = NEW_ReduceAction138_parser___ReduceAction138___init(); /*new ReduceAction138*/
956 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[142]) /*AbstractArray::add*/;
957 variable[143] = NEW_ReduceAction139_parser___ReduceAction139___init(); /*new ReduceAction139*/
958 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[143]) /*AbstractArray::add*/;
959 variable[144] = NEW_ReduceAction140_parser___ReduceAction140___init(); /*new ReduceAction140*/
960 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[144]) /*AbstractArray::add*/;
961 variable[145] = NEW_ReduceAction141_parser___ReduceAction141___init(); /*new ReduceAction141*/
962 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[145]) /*AbstractArray::add*/;
963 variable[146] = NEW_ReduceAction142_parser___ReduceAction142___init(); /*new ReduceAction142*/
964 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[146]) /*AbstractArray::add*/;
965 variable[147] = NEW_ReduceAction143_parser___ReduceAction143___init(); /*new ReduceAction143*/
966 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[147]) /*AbstractArray::add*/;
967 variable[148] = NEW_ReduceAction144_parser___ReduceAction144___init(); /*new ReduceAction144*/
968 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[148]) /*AbstractArray::add*/;
969 variable[149] = NEW_ReduceAction145_parser___ReduceAction145___init(); /*new ReduceAction145*/
970 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[149]) /*AbstractArray::add*/;
971 variable[150] = NEW_ReduceAction146_parser___ReduceAction146___init(); /*new ReduceAction146*/
972 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[150]) /*AbstractArray::add*/;
973 variable[151] = NEW_ReduceAction147_parser___ReduceAction147___init(); /*new ReduceAction147*/
974 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[151]) /*AbstractArray::add*/;
975 variable[152] = NEW_ReduceAction148_parser___ReduceAction148___init(); /*new ReduceAction148*/
976 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[152]) /*AbstractArray::add*/;
977 variable[153] = NEW_ReduceAction149_parser___ReduceAction149___init(); /*new ReduceAction149*/
978 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[153]) /*AbstractArray::add*/;
979 variable[154] = NEW_ReduceAction150_parser___ReduceAction150___init(); /*new ReduceAction150*/
980 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[154]) /*AbstractArray::add*/;
981 variable[155] = NEW_ReduceAction151_parser___ReduceAction151___init(); /*new ReduceAction151*/
982 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[155]) /*AbstractArray::add*/;
983 variable[156] = NEW_ReduceAction152_parser___ReduceAction152___init(); /*new ReduceAction152*/
984 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[156]) /*AbstractArray::add*/;
985 variable[157] = NEW_ReduceAction153_parser___ReduceAction153___init(); /*new ReduceAction153*/
986 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[157]) /*AbstractArray::add*/;
987 variable[158] = NEW_ReduceAction154_parser___ReduceAction154___init(); /*new ReduceAction154*/
988 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[158]) /*AbstractArray::add*/;
989 variable[159] = NEW_ReduceAction155_parser___ReduceAction155___init(); /*new ReduceAction155*/
990 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[159]) /*AbstractArray::add*/;
991 variable[160] = NEW_ReduceAction156_parser___ReduceAction156___init(); /*new ReduceAction156*/
992 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[160]) /*AbstractArray::add*/;
993 variable[161] = NEW_ReduceAction157_parser___ReduceAction157___init(); /*new ReduceAction157*/
994 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[161]) /*AbstractArray::add*/;
995 variable[162] = NEW_ReduceAction158_parser___ReduceAction158___init(); /*new ReduceAction158*/
996 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[162]) /*AbstractArray::add*/;
997 variable[163] = NEW_ReduceAction159_parser___ReduceAction159___init(); /*new ReduceAction159*/
998 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[163]) /*AbstractArray::add*/;
999 variable[164] = NEW_ReduceAction160_parser___ReduceAction160___init(); /*new ReduceAction160*/
1000 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[164]) /*AbstractArray::add*/;
1001 variable[165] = NEW_ReduceAction161_parser___ReduceAction161___init(); /*new ReduceAction161*/
1002 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[165]) /*AbstractArray::add*/;
1003 variable[166] = NEW_ReduceAction162_parser___ReduceAction162___init(); /*new ReduceAction162*/
1004 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[166]) /*AbstractArray::add*/;
1005 variable[167] = NEW_ReduceAction163_parser___ReduceAction163___init(); /*new ReduceAction163*/
1006 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[167]) /*AbstractArray::add*/;
1007 variable[168] = NEW_ReduceAction164_parser___ReduceAction164___init(); /*new ReduceAction164*/
1008 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[168]) /*AbstractArray::add*/;
1009 variable[169] = NEW_ReduceAction165_parser___ReduceAction165___init(); /*new ReduceAction165*/
1010 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[169]) /*AbstractArray::add*/;
1011 variable[170] = NEW_ReduceAction166_parser___ReduceAction166___init(); /*new ReduceAction166*/
1012 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[170]) /*AbstractArray::add*/;
1013 variable[171] = NEW_ReduceAction167_parser___ReduceAction167___init(); /*new ReduceAction167*/
1014 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[171]) /*AbstractArray::add*/;
1015 variable[172] = NEW_ReduceAction168_parser___ReduceAction168___init(); /*new ReduceAction168*/
1016 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[172]) /*AbstractArray::add*/;
1017 variable[173] = NEW_ReduceAction169_parser___ReduceAction169___init(); /*new ReduceAction169*/
1018 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[173]) /*AbstractArray::add*/;
1019 variable[174] = NEW_ReduceAction170_parser___ReduceAction170___init(); /*new ReduceAction170*/
1020 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[174]) /*AbstractArray::add*/;
1021 variable[175] = NEW_ReduceAction171_parser___ReduceAction171___init(); /*new ReduceAction171*/
1022 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[175]) /*AbstractArray::add*/;
1023 variable[176] = NEW_ReduceAction172_parser___ReduceAction172___init(); /*new ReduceAction172*/
1024 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[176]) /*AbstractArray::add*/;
1025 variable[177] = NEW_ReduceAction173_parser___ReduceAction173___init(); /*new ReduceAction173*/
1026 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[177]) /*AbstractArray::add*/;
1027 variable[178] = NEW_ReduceAction174_parser___ReduceAction174___init(); /*new ReduceAction174*/
1028 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[178]) /*AbstractArray::add*/;
1029 variable[179] = NEW_ReduceAction175_parser___ReduceAction175___init(); /*new ReduceAction175*/
1030 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[179]) /*AbstractArray::add*/;
1031 variable[180] = NEW_ReduceAction176_parser___ReduceAction176___init(); /*new ReduceAction176*/
1032 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[180]) /*AbstractArray::add*/;
1033 variable[181] = NEW_ReduceAction177_parser___ReduceAction177___init(); /*new ReduceAction177*/
1034 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[181]) /*AbstractArray::add*/;
1035 variable[182] = NEW_ReduceAction178_parser___ReduceAction178___init(); /*new ReduceAction178*/
1036 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[182]) /*AbstractArray::add*/;
1037 variable[183] = NEW_ReduceAction179_parser___ReduceAction179___init(); /*new ReduceAction179*/
1038 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[183]) /*AbstractArray::add*/;
1039 variable[184] = NEW_ReduceAction180_parser___ReduceAction180___init(); /*new ReduceAction180*/
1040 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[184]) /*AbstractArray::add*/;
1041 variable[185] = NEW_ReduceAction181_parser___ReduceAction181___init(); /*new ReduceAction181*/
1042 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[185]) /*AbstractArray::add*/;
1043 variable[186] = NEW_ReduceAction182_parser___ReduceAction182___init(); /*new ReduceAction182*/
1044 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[186]) /*AbstractArray::add*/;
1045 variable[187] = NEW_ReduceAction183_parser___ReduceAction183___init(); /*new ReduceAction183*/
1046 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[187]) /*AbstractArray::add*/;
1047 variable[188] = NEW_ReduceAction184_parser___ReduceAction184___init(); /*new ReduceAction184*/
1048 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[188]) /*AbstractArray::add*/;
1049 variable[189] = NEW_ReduceAction185_parser___ReduceAction185___init(); /*new ReduceAction185*/
1050 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[189]) /*AbstractArray::add*/;
1051 variable[190] = NEW_ReduceAction186_parser___ReduceAction186___init(); /*new ReduceAction186*/
1052 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[190]) /*AbstractArray::add*/;
1053 variable[191] = NEW_ReduceAction187_parser___ReduceAction187___init(); /*new ReduceAction187*/
1054 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[191]) /*AbstractArray::add*/;
1055 variable[192] = NEW_ReduceAction188_parser___ReduceAction188___init(); /*new ReduceAction188*/
1056 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[192]) /*AbstractArray::add*/;
1057 variable[193] = NEW_ReduceAction189_parser___ReduceAction189___init(); /*new ReduceAction189*/
1058 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[193]) /*AbstractArray::add*/;
1059 variable[194] = NEW_ReduceAction190_parser___ReduceAction190___init(); /*new ReduceAction190*/
1060 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[194]) /*AbstractArray::add*/;
1061 variable[195] = NEW_ReduceAction191_parser___ReduceAction191___init(); /*new ReduceAction191*/
1062 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[195]) /*AbstractArray::add*/;
1063 variable[196] = NEW_ReduceAction192_parser___ReduceAction192___init(); /*new ReduceAction192*/
1064 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[196]) /*AbstractArray::add*/;
1065 variable[197] = NEW_ReduceAction193_parser___ReduceAction193___init(); /*new ReduceAction193*/
1066 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[197]) /*AbstractArray::add*/;
1067 variable[198] = NEW_ReduceAction194_parser___ReduceAction194___init(); /*new ReduceAction194*/
1068 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[198]) /*AbstractArray::add*/;
1069 variable[199] = NEW_ReduceAction195_parser___ReduceAction195___init(); /*new ReduceAction195*/
1070 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[199]) /*AbstractArray::add*/;
1071 variable[200] = NEW_ReduceAction196_parser___ReduceAction196___init(); /*new ReduceAction196*/
1072 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[200]) /*AbstractArray::add*/;
1073 variable[201] = NEW_ReduceAction197_parser___ReduceAction197___init(); /*new ReduceAction197*/
1074 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[201]) /*AbstractArray::add*/;
1075 variable[202] = NEW_ReduceAction198_parser___ReduceAction198___init(); /*new ReduceAction198*/
1076 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[202]) /*AbstractArray::add*/;
1077 variable[203] = NEW_ReduceAction199_parser___ReduceAction199___init(); /*new ReduceAction199*/
1078 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[203]) /*AbstractArray::add*/;
1079 variable[204] = NEW_ReduceAction200_parser___ReduceAction200___init(); /*new ReduceAction200*/
1080 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[204]) /*AbstractArray::add*/;
1081 variable[205] = NEW_ReduceAction201_parser___ReduceAction201___init(); /*new ReduceAction201*/
1082 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[205]) /*AbstractArray::add*/;
1083 variable[206] = NEW_ReduceAction202_parser___ReduceAction202___init(); /*new ReduceAction202*/
1084 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[206]) /*AbstractArray::add*/;
1085 variable[207] = NEW_ReduceAction203_parser___ReduceAction203___init(); /*new ReduceAction203*/
1086 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[207]) /*AbstractArray::add*/;
1087 variable[208] = NEW_ReduceAction204_parser___ReduceAction204___init(); /*new ReduceAction204*/
1088 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[208]) /*AbstractArray::add*/;
1089 variable[209] = NEW_ReduceAction205_parser___ReduceAction205___init(); /*new ReduceAction205*/
1090 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[209]) /*AbstractArray::add*/;
1091 variable[210] = NEW_ReduceAction206_parser___ReduceAction206___init(); /*new ReduceAction206*/
1092 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[210]) /*AbstractArray::add*/;
1093 variable[211] = NEW_ReduceAction207_parser___ReduceAction207___init(); /*new ReduceAction207*/
1094 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[211]) /*AbstractArray::add*/;
1095 variable[212] = NEW_ReduceAction208_parser___ReduceAction208___init(); /*new ReduceAction208*/
1096 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[212]) /*AbstractArray::add*/;
1097 variable[213] = NEW_ReduceAction209_parser___ReduceAction209___init(); /*new ReduceAction209*/
1098 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[213]) /*AbstractArray::add*/;
1099 variable[214] = NEW_ReduceAction210_parser___ReduceAction210___init(); /*new ReduceAction210*/
1100 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[214]) /*AbstractArray::add*/;
1101 variable[215] = NEW_ReduceAction211_parser___ReduceAction211___init(); /*new ReduceAction211*/
1102 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[215]) /*AbstractArray::add*/;
1103 variable[216] = NEW_ReduceAction212_parser___ReduceAction212___init(); /*new ReduceAction212*/
1104 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[216]) /*AbstractArray::add*/;
1105 variable[217] = NEW_ReduceAction213_parser___ReduceAction213___init(); /*new ReduceAction213*/
1106 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[217]) /*AbstractArray::add*/;
1107 variable[218] = NEW_ReduceAction214_parser___ReduceAction214___init(); /*new ReduceAction214*/
1108 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[218]) /*AbstractArray::add*/;
1109 variable[219] = NEW_ReduceAction215_parser___ReduceAction215___init(); /*new ReduceAction215*/
1110 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[219]) /*AbstractArray::add*/;
1111 variable[220] = NEW_ReduceAction216_parser___ReduceAction216___init(); /*new ReduceAction216*/
1112 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[220]) /*AbstractArray::add*/;
1113 variable[221] = NEW_ReduceAction217_parser___ReduceAction217___init(); /*new ReduceAction217*/
1114 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[221]) /*AbstractArray::add*/;
1115 variable[222] = NEW_ReduceAction218_parser___ReduceAction218___init(); /*new ReduceAction218*/
1116 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[222]) /*AbstractArray::add*/;
1117 variable[223] = NEW_ReduceAction219_parser___ReduceAction219___init(); /*new ReduceAction219*/
1118 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[223]) /*AbstractArray::add*/;
1119 variable[224] = NEW_ReduceAction220_parser___ReduceAction220___init(); /*new ReduceAction220*/
1120 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[224]) /*AbstractArray::add*/;
1121 variable[225] = NEW_ReduceAction221_parser___ReduceAction221___init(); /*new ReduceAction221*/
1122 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[225]) /*AbstractArray::add*/;
1123 variable[226] = NEW_ReduceAction222_parser___ReduceAction222___init(); /*new ReduceAction222*/
1124 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[226]) /*AbstractArray::add*/;
1125 variable[227] = NEW_ReduceAction223_parser___ReduceAction223___init(); /*new ReduceAction223*/
1126 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[227]) /*AbstractArray::add*/;
1127 variable[228] = NEW_ReduceAction224_parser___ReduceAction224___init(); /*new ReduceAction224*/
1128 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[228]) /*AbstractArray::add*/;
1129 variable[229] = NEW_ReduceAction225_parser___ReduceAction225___init(); /*new ReduceAction225*/
1130 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[229]) /*AbstractArray::add*/;
1131 variable[230] = NEW_ReduceAction226_parser___ReduceAction226___init(); /*new ReduceAction226*/
1132 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[230]) /*AbstractArray::add*/;
1133 variable[231] = NEW_ReduceAction227_parser___ReduceAction227___init(); /*new ReduceAction227*/
1134 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[231]) /*AbstractArray::add*/;
1135 variable[232] = NEW_ReduceAction228_parser___ReduceAction228___init(); /*new ReduceAction228*/
1136 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[232]) /*AbstractArray::add*/;
1137 variable[233] = NEW_ReduceAction229_parser___ReduceAction229___init(); /*new ReduceAction229*/
1138 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[233]) /*AbstractArray::add*/;
1139 variable[234] = NEW_ReduceAction230_parser___ReduceAction230___init(); /*new ReduceAction230*/
1140 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[234]) /*AbstractArray::add*/;
1141 variable[235] = NEW_ReduceAction231_parser___ReduceAction231___init(); /*new ReduceAction231*/
1142 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[235]) /*AbstractArray::add*/;
1143 variable[236] = NEW_ReduceAction232_parser___ReduceAction232___init(); /*new ReduceAction232*/
1144 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[236]) /*AbstractArray::add*/;
1145 variable[237] = NEW_ReduceAction233_parser___ReduceAction233___init(); /*new ReduceAction233*/
1146 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[237]) /*AbstractArray::add*/;
1147 variable[238] = NEW_ReduceAction234_parser___ReduceAction234___init(); /*new ReduceAction234*/
1148 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[238]) /*AbstractArray::add*/;
1149 variable[239] = NEW_ReduceAction235_parser___ReduceAction235___init(); /*new ReduceAction235*/
1150 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[239]) /*AbstractArray::add*/;
1151 variable[240] = NEW_ReduceAction236_parser___ReduceAction236___init(); /*new ReduceAction236*/
1152 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[240]) /*AbstractArray::add*/;
1153 variable[241] = NEW_ReduceAction237_parser___ReduceAction237___init(); /*new ReduceAction237*/
1154 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[241]) /*AbstractArray::add*/;
1155 variable[242] = NEW_ReduceAction238_parser___ReduceAction238___init(); /*new ReduceAction238*/
1156 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[242]) /*AbstractArray::add*/;
1157 variable[243] = NEW_ReduceAction239_parser___ReduceAction239___init(); /*new ReduceAction239*/
1158 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[243]) /*AbstractArray::add*/;
1159 variable[244] = NEW_ReduceAction240_parser___ReduceAction240___init(); /*new ReduceAction240*/
1160 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[244]) /*AbstractArray::add*/;
1161 variable[245] = NEW_ReduceAction241_parser___ReduceAction241___init(); /*new ReduceAction241*/
1162 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[245]) /*AbstractArray::add*/;
1163 variable[246] = NEW_ReduceAction242_parser___ReduceAction242___init(); /*new ReduceAction242*/
1164 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[246]) /*AbstractArray::add*/;
1165 variable[247] = NEW_ReduceAction243_parser___ReduceAction243___init(); /*new ReduceAction243*/
1166 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[247]) /*AbstractArray::add*/;
1167 variable[248] = NEW_ReduceAction244_parser___ReduceAction244___init(); /*new ReduceAction244*/
1168 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[248]) /*AbstractArray::add*/;
1169 variable[249] = NEW_ReduceAction245_parser___ReduceAction245___init(); /*new ReduceAction245*/
1170 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[249]) /*AbstractArray::add*/;
1171 variable[250] = NEW_ReduceAction246_parser___ReduceAction246___init(); /*new ReduceAction246*/
1172 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[250]) /*AbstractArray::add*/;
1173 variable[251] = NEW_ReduceAction247_parser___ReduceAction247___init(); /*new ReduceAction247*/
1174 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[251]) /*AbstractArray::add*/;
1175 variable[252] = NEW_ReduceAction248_parser___ReduceAction248___init(); /*new ReduceAction248*/
1176 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[252]) /*AbstractArray::add*/;
1177 variable[253] = NEW_ReduceAction249_parser___ReduceAction249___init(); /*new ReduceAction249*/
1178 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[253]) /*AbstractArray::add*/;
1179 variable[254] = NEW_ReduceAction250_parser___ReduceAction250___init(); /*new ReduceAction250*/
1180 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[254]) /*AbstractArray::add*/;
1181 variable[255] = NEW_ReduceAction251_parser___ReduceAction251___init(); /*new ReduceAction251*/
1182 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[255]) /*AbstractArray::add*/;
1183 variable[256] = NEW_ReduceAction252_parser___ReduceAction252___init(); /*new ReduceAction252*/
1184 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[256]) /*AbstractArray::add*/;
1185 variable[257] = NEW_ReduceAction253_parser___ReduceAction253___init(); /*new ReduceAction253*/
1186 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[257]) /*AbstractArray::add*/;
1187 variable[258] = NEW_ReduceAction254_parser___ReduceAction254___init(); /*new ReduceAction254*/
1188 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[258]) /*AbstractArray::add*/;
1189 variable[259] = NEW_ReduceAction255_parser___ReduceAction255___init(); /*new ReduceAction255*/
1190 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[259]) /*AbstractArray::add*/;
1191 variable[260] = NEW_ReduceAction256_parser___ReduceAction256___init(); /*new ReduceAction256*/
1192 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[260]) /*AbstractArray::add*/;
1193 variable[261] = NEW_ReduceAction257_parser___ReduceAction257___init(); /*new ReduceAction257*/
1194 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[261]) /*AbstractArray::add*/;
1195 variable[262] = NEW_ReduceAction258_parser___ReduceAction258___init(); /*new ReduceAction258*/
1196 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[262]) /*AbstractArray::add*/;
1197 variable[263] = NEW_ReduceAction259_parser___ReduceAction259___init(); /*new ReduceAction259*/
1198 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[263]) /*AbstractArray::add*/;
1199 variable[264] = NEW_ReduceAction260_parser___ReduceAction260___init(); /*new ReduceAction260*/
1200 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[264]) /*AbstractArray::add*/;
1201 variable[265] = NEW_ReduceAction261_parser___ReduceAction261___init(); /*new ReduceAction261*/
1202 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[265]) /*AbstractArray::add*/;
1203 variable[266] = NEW_ReduceAction262_parser___ReduceAction262___init(); /*new ReduceAction262*/
1204 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[266]) /*AbstractArray::add*/;
1205 variable[267] = NEW_ReduceAction263_parser___ReduceAction263___init(); /*new ReduceAction263*/
1206 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[267]) /*AbstractArray::add*/;
1207 variable[268] = NEW_ReduceAction264_parser___ReduceAction264___init(); /*new ReduceAction264*/
1208 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[268]) /*AbstractArray::add*/;
1209 variable[269] = NEW_ReduceAction265_parser___ReduceAction265___init(); /*new ReduceAction265*/
1210 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[269]) /*AbstractArray::add*/;
1211 variable[270] = NEW_ReduceAction266_parser___ReduceAction266___init(); /*new ReduceAction266*/
1212 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[270]) /*AbstractArray::add*/;
1213 variable[271] = NEW_ReduceAction267_parser___ReduceAction267___init(); /*new ReduceAction267*/
1214 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[271]) /*AbstractArray::add*/;
1215 variable[272] = NEW_ReduceAction268_parser___ReduceAction268___init(); /*new ReduceAction268*/
1216 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[272]) /*AbstractArray::add*/;
1217 variable[273] = NEW_ReduceAction269_parser___ReduceAction269___init(); /*new ReduceAction269*/
1218 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[273]) /*AbstractArray::add*/;
1219 variable[274] = NEW_ReduceAction270_parser___ReduceAction270___init(); /*new ReduceAction270*/
1220 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[274]) /*AbstractArray::add*/;
1221 variable[275] = NEW_ReduceAction271_parser___ReduceAction271___init(); /*new ReduceAction271*/
1222 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[275]) /*AbstractArray::add*/;
1223 variable[276] = NEW_ReduceAction272_parser___ReduceAction272___init(); /*new ReduceAction272*/
1224 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[276]) /*AbstractArray::add*/;
1225 variable[277] = NEW_ReduceAction273_parser___ReduceAction273___init(); /*new ReduceAction273*/
1226 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[277]) /*AbstractArray::add*/;
1227 variable[278] = NEW_ReduceAction274_parser___ReduceAction274___init(); /*new ReduceAction274*/
1228 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[278]) /*AbstractArray::add*/;
1229 variable[279] = NEW_ReduceAction275_parser___ReduceAction275___init(); /*new ReduceAction275*/
1230 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[279]) /*AbstractArray::add*/;
1231 variable[280] = NEW_ReduceAction276_parser___ReduceAction276___init(); /*new ReduceAction276*/
1232 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[280]) /*AbstractArray::add*/;
1233 variable[281] = NEW_ReduceAction277_parser___ReduceAction277___init(); /*new ReduceAction277*/
1234 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[281]) /*AbstractArray::add*/;
1235 variable[282] = NEW_ReduceAction278_parser___ReduceAction278___init(); /*new ReduceAction278*/
1236 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[282]) /*AbstractArray::add*/;
1237 variable[283] = NEW_ReduceAction279_parser___ReduceAction279___init(); /*new ReduceAction279*/
1238 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[283]) /*AbstractArray::add*/;
1239 variable[284] = NEW_ReduceAction280_parser___ReduceAction280___init(); /*new ReduceAction280*/
1240 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[284]) /*AbstractArray::add*/;
1241 variable[285] = NEW_ReduceAction281_parser___ReduceAction281___init(); /*new ReduceAction281*/
1242 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[285]) /*AbstractArray::add*/;
1243 variable[286] = NEW_ReduceAction282_parser___ReduceAction282___init(); /*new ReduceAction282*/
1244 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[286]) /*AbstractArray::add*/;
1245 variable[287] = NEW_ReduceAction283_parser___ReduceAction283___init(); /*new ReduceAction283*/
1246 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[287]) /*AbstractArray::add*/;
1247 variable[288] = NEW_ReduceAction284_parser___ReduceAction284___init(); /*new ReduceAction284*/
1248 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[288]) /*AbstractArray::add*/;
1249 variable[289] = NEW_ReduceAction285_parser___ReduceAction285___init(); /*new ReduceAction285*/
1250 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[289]) /*AbstractArray::add*/;
1251 variable[290] = NEW_ReduceAction286_parser___ReduceAction286___init(); /*new ReduceAction286*/
1252 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[290]) /*AbstractArray::add*/;
1253 variable[291] = NEW_ReduceAction287_parser___ReduceAction287___init(); /*new ReduceAction287*/
1254 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[291]) /*AbstractArray::add*/;
1255 variable[292] = NEW_ReduceAction288_parser___ReduceAction288___init(); /*new ReduceAction288*/
1256 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[292]) /*AbstractArray::add*/;
1257 variable[293] = NEW_ReduceAction289_parser___ReduceAction289___init(); /*new ReduceAction289*/
1258 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[293]) /*AbstractArray::add*/;
1259 variable[294] = NEW_ReduceAction290_parser___ReduceAction290___init(); /*new ReduceAction290*/
1260 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[294]) /*AbstractArray::add*/;
1261 variable[295] = NEW_ReduceAction291_parser___ReduceAction291___init(); /*new ReduceAction291*/
1262 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[295]) /*AbstractArray::add*/;
1263 variable[296] = NEW_ReduceAction292_parser___ReduceAction292___init(); /*new ReduceAction292*/
1264 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[296]) /*AbstractArray::add*/;
1265 variable[297] = NEW_ReduceAction293_parser___ReduceAction293___init(); /*new ReduceAction293*/
1266 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[297]) /*AbstractArray::add*/;
1267 variable[298] = NEW_ReduceAction294_parser___ReduceAction294___init(); /*new ReduceAction294*/
1268 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[298]) /*AbstractArray::add*/;
1269 variable[299] = NEW_ReduceAction295_parser___ReduceAction295___init(); /*new ReduceAction295*/
1270 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[299]) /*AbstractArray::add*/;
1271 variable[300] = NEW_ReduceAction296_parser___ReduceAction296___init(); /*new ReduceAction296*/
1272 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[300]) /*AbstractArray::add*/;
1273 variable[301] = NEW_ReduceAction297_parser___ReduceAction297___init(); /*new ReduceAction297*/
1274 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[301]) /*AbstractArray::add*/;
1275 variable[302] = NEW_ReduceAction298_parser___ReduceAction298___init(); /*new ReduceAction298*/
1276 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[302]) /*AbstractArray::add*/;
1277 variable[303] = NEW_ReduceAction299_parser___ReduceAction299___init(); /*new ReduceAction299*/
1278 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[303]) /*AbstractArray::add*/;
1279 variable[304] = NEW_ReduceAction300_parser___ReduceAction300___init(); /*new ReduceAction300*/
1280 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[304]) /*AbstractArray::add*/;
1281 variable[305] = NEW_ReduceAction301_parser___ReduceAction301___init(); /*new ReduceAction301*/
1282 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[305]) /*AbstractArray::add*/;
1283 variable[306] = NEW_ReduceAction302_parser___ReduceAction302___init(); /*new ReduceAction302*/
1284 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[306]) /*AbstractArray::add*/;
1285 variable[307] = NEW_ReduceAction303_parser___ReduceAction303___init(); /*new ReduceAction303*/
1286 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[307]) /*AbstractArray::add*/;
1287 variable[308] = NEW_ReduceAction304_parser___ReduceAction304___init(); /*new ReduceAction304*/
1288 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[308]) /*AbstractArray::add*/;
1289 variable[309] = NEW_ReduceAction305_parser___ReduceAction305___init(); /*new ReduceAction305*/
1290 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[309]) /*AbstractArray::add*/;
1291 variable[310] = NEW_ReduceAction306_parser___ReduceAction306___init(); /*new ReduceAction306*/
1292 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[310]) /*AbstractArray::add*/;
1293 variable[311] = NEW_ReduceAction307_parser___ReduceAction307___init(); /*new ReduceAction307*/
1294 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[311]) /*AbstractArray::add*/;
1295 variable[312] = NEW_ReduceAction308_parser___ReduceAction308___init(); /*new ReduceAction308*/
1296 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[312]) /*AbstractArray::add*/;
1297 variable[313] = NEW_ReduceAction309_parser___ReduceAction309___init(); /*new ReduceAction309*/
1298 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[313]) /*AbstractArray::add*/;
1299 variable[314] = NEW_ReduceAction310_parser___ReduceAction310___init(); /*new ReduceAction310*/
1300 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[314]) /*AbstractArray::add*/;
1301 variable[315] = NEW_ReduceAction311_parser___ReduceAction311___init(); /*new ReduceAction311*/
1302 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[315]) /*AbstractArray::add*/;
1303 variable[316] = NEW_ReduceAction312_parser___ReduceAction312___init(); /*new ReduceAction312*/
1304 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[316]) /*AbstractArray::add*/;
1305 variable[317] = NEW_ReduceAction313_parser___ReduceAction313___init(); /*new ReduceAction313*/
1306 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[317]) /*AbstractArray::add*/;
1307 variable[318] = NEW_ReduceAction314_parser___ReduceAction314___init(); /*new ReduceAction314*/
1308 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[318]) /*AbstractArray::add*/;
1309 variable[319] = NEW_ReduceAction315_parser___ReduceAction315___init(); /*new ReduceAction315*/
1310 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[319]) /*AbstractArray::add*/;
1311 variable[320] = NEW_ReduceAction316_parser___ReduceAction316___init(); /*new ReduceAction316*/
1312 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[320]) /*AbstractArray::add*/;
1313 variable[321] = NEW_ReduceAction317_parser___ReduceAction317___init(); /*new ReduceAction317*/
1314 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[321]) /*AbstractArray::add*/;
1315 variable[322] = NEW_ReduceAction318_parser___ReduceAction318___init(); /*new ReduceAction318*/
1316 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[322]) /*AbstractArray::add*/;
1317 variable[323] = NEW_ReduceAction319_parser___ReduceAction319___init(); /*new ReduceAction319*/
1318 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[323]) /*AbstractArray::add*/;
1319 variable[324] = NEW_ReduceAction320_parser___ReduceAction320___init(); /*new ReduceAction320*/
1320 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[324]) /*AbstractArray::add*/;
1321 variable[325] = NEW_ReduceAction321_parser___ReduceAction321___init(); /*new ReduceAction321*/
1322 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[325]) /*AbstractArray::add*/;
1323 variable[326] = NEW_ReduceAction322_parser___ReduceAction322___init(); /*new ReduceAction322*/
1324 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[326]) /*AbstractArray::add*/;
1325 variable[327] = NEW_ReduceAction323_parser___ReduceAction323___init(); /*new ReduceAction323*/
1326 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[327]) /*AbstractArray::add*/;
1327 variable[328] = NEW_ReduceAction324_parser___ReduceAction324___init(); /*new ReduceAction324*/
1328 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[328]) /*AbstractArray::add*/;
1329 variable[329] = NEW_ReduceAction325_parser___ReduceAction325___init(); /*new ReduceAction325*/
1330 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[329]) /*AbstractArray::add*/;
1331 variable[330] = NEW_ReduceAction326_parser___ReduceAction326___init(); /*new ReduceAction326*/
1332 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[330]) /*AbstractArray::add*/;
1333 variable[331] = NEW_ReduceAction327_parser___ReduceAction327___init(); /*new ReduceAction327*/
1334 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[331]) /*AbstractArray::add*/;
1335 variable[332] = NEW_ReduceAction328_parser___ReduceAction328___init(); /*new ReduceAction328*/
1336 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[332]) /*AbstractArray::add*/;
1337 variable[333] = NEW_ReduceAction329_parser___ReduceAction329___init(); /*new ReduceAction329*/
1338 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[333]) /*AbstractArray::add*/;
1339 variable[334] = NEW_ReduceAction330_parser___ReduceAction330___init(); /*new ReduceAction330*/
1340 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[334]) /*AbstractArray::add*/;
1341 variable[335] = NEW_ReduceAction331_parser___ReduceAction331___init(); /*new ReduceAction331*/
1342 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[335]) /*AbstractArray::add*/;
1343 variable[336] = NEW_ReduceAction332_parser___ReduceAction332___init(); /*new ReduceAction332*/
1344 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[336]) /*AbstractArray::add*/;
1345 variable[337] = NEW_ReduceAction333_parser___ReduceAction333___init(); /*new ReduceAction333*/
1346 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[337]) /*AbstractArray::add*/;
1347 variable[338] = NEW_ReduceAction334_parser___ReduceAction334___init(); /*new ReduceAction334*/
1348 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[338]) /*AbstractArray::add*/;
1349 variable[339] = NEW_ReduceAction335_parser___ReduceAction335___init(); /*new ReduceAction335*/
1350 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[339]) /*AbstractArray::add*/;
1351 variable[340] = NEW_ReduceAction336_parser___ReduceAction336___init(); /*new ReduceAction336*/
1352 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[340]) /*AbstractArray::add*/;
1353 variable[341] = NEW_ReduceAction337_parser___ReduceAction337___init(); /*new ReduceAction337*/
1354 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[341]) /*AbstractArray::add*/;
1355 variable[342] = NEW_ReduceAction338_parser___ReduceAction338___init(); /*new ReduceAction338*/
1356 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[342]) /*AbstractArray::add*/;
1357 variable[343] = NEW_ReduceAction339_parser___ReduceAction339___init(); /*new ReduceAction339*/
1358 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[343]) /*AbstractArray::add*/;
1359 variable[344] = NEW_ReduceAction340_parser___ReduceAction340___init(); /*new ReduceAction340*/
1360 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[344]) /*AbstractArray::add*/;
1361 variable[345] = NEW_ReduceAction341_parser___ReduceAction341___init(); /*new ReduceAction341*/
1362 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[345]) /*AbstractArray::add*/;
1363 variable[346] = NEW_ReduceAction342_parser___ReduceAction342___init(); /*new ReduceAction342*/
1364 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[346]) /*AbstractArray::add*/;
1365 variable[347] = NEW_ReduceAction343_parser___ReduceAction343___init(); /*new ReduceAction343*/
1366 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[347]) /*AbstractArray::add*/;
1367 variable[348] = NEW_ReduceAction344_parser___ReduceAction344___init(); /*new ReduceAction344*/
1368 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[348]) /*AbstractArray::add*/;
1369 variable[349] = NEW_ReduceAction345_parser___ReduceAction345___init(); /*new ReduceAction345*/
1370 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[349]) /*AbstractArray::add*/;
1371 variable[350] = NEW_ReduceAction346_parser___ReduceAction346___init(); /*new ReduceAction346*/
1372 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[350]) /*AbstractArray::add*/;
1373 variable[351] = NEW_ReduceAction347_parser___ReduceAction347___init(); /*new ReduceAction347*/
1374 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[351]) /*AbstractArray::add*/;
1375 variable[352] = NEW_ReduceAction348_parser___ReduceAction348___init(); /*new ReduceAction348*/
1376 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[352]) /*AbstractArray::add*/;
1377 variable[353] = NEW_ReduceAction349_parser___ReduceAction349___init(); /*new ReduceAction349*/
1378 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[353]) /*AbstractArray::add*/;
1379 variable[354] = NEW_ReduceAction350_parser___ReduceAction350___init(); /*new ReduceAction350*/
1380 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[354]) /*AbstractArray::add*/;
1381 variable[355] = NEW_ReduceAction351_parser___ReduceAction351___init(); /*new ReduceAction351*/
1382 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[355]) /*AbstractArray::add*/;
1383 variable[356] = NEW_ReduceAction352_parser___ReduceAction352___init(); /*new ReduceAction352*/
1384 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[356]) /*AbstractArray::add*/;
1385 variable[357] = NEW_ReduceAction353_parser___ReduceAction353___init(); /*new ReduceAction353*/
1386 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[357]) /*AbstractArray::add*/;
1387 variable[358] = NEW_ReduceAction354_parser___ReduceAction354___init(); /*new ReduceAction354*/
1388 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[358]) /*AbstractArray::add*/;
1389 variable[359] = NEW_ReduceAction355_parser___ReduceAction355___init(); /*new ReduceAction355*/
1390 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[359]) /*AbstractArray::add*/;
1391 variable[360] = NEW_ReduceAction356_parser___ReduceAction356___init(); /*new ReduceAction356*/
1392 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[360]) /*AbstractArray::add*/;
1393 variable[361] = NEW_ReduceAction357_parser___ReduceAction357___init(); /*new ReduceAction357*/
1394 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[361]) /*AbstractArray::add*/;
1395 variable[362] = NEW_ReduceAction358_parser___ReduceAction358___init(); /*new ReduceAction358*/
1396 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[362]) /*AbstractArray::add*/;
1397 variable[363] = NEW_ReduceAction359_parser___ReduceAction359___init(); /*new ReduceAction359*/
1398 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[363]) /*AbstractArray::add*/;
1399 variable[364] = NEW_ReduceAction360_parser___ReduceAction360___init(); /*new ReduceAction360*/
1400 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[364]) /*AbstractArray::add*/;
1401 variable[365] = NEW_ReduceAction361_parser___ReduceAction361___init(); /*new ReduceAction361*/
1402 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[365]) /*AbstractArray::add*/;
1403 variable[366] = NEW_ReduceAction362_parser___ReduceAction362___init(); /*new ReduceAction362*/
1404 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[366]) /*AbstractArray::add*/;
1405 variable[367] = NEW_ReduceAction363_parser___ReduceAction363___init(); /*new ReduceAction363*/
1406 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[367]) /*AbstractArray::add*/;
1407 variable[368] = NEW_ReduceAction364_parser___ReduceAction364___init(); /*new ReduceAction364*/
1408 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[368]) /*AbstractArray::add*/;
1409 variable[369] = NEW_ReduceAction365_parser___ReduceAction365___init(); /*new ReduceAction365*/
1410 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[369]) /*AbstractArray::add*/;
1411 variable[370] = NEW_ReduceAction366_parser___ReduceAction366___init(); /*new ReduceAction366*/
1412 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[370]) /*AbstractArray::add*/;
1413 variable[371] = NEW_ReduceAction367_parser___ReduceAction367___init(); /*new ReduceAction367*/
1414 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[371]) /*AbstractArray::add*/;
1415 variable[372] = NEW_ReduceAction368_parser___ReduceAction368___init(); /*new ReduceAction368*/
1416 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[372]) /*AbstractArray::add*/;
1417 variable[373] = NEW_ReduceAction369_parser___ReduceAction369___init(); /*new ReduceAction369*/
1418 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[373]) /*AbstractArray::add*/;
1419 variable[374] = NEW_ReduceAction370_parser___ReduceAction370___init(); /*new ReduceAction370*/
1420 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[374]) /*AbstractArray::add*/;
1421 variable[375] = NEW_ReduceAction371_parser___ReduceAction371___init(); /*new ReduceAction371*/
1422 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[375]) /*AbstractArray::add*/;
1423 variable[376] = NEW_ReduceAction372_parser___ReduceAction372___init(); /*new ReduceAction372*/
1424 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[376]) /*AbstractArray::add*/;
1425 variable[377] = NEW_ReduceAction373_parser___ReduceAction373___init(); /*new ReduceAction373*/
1426 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[377]) /*AbstractArray::add*/;
1427 variable[378] = NEW_ReduceAction374_parser___ReduceAction374___init(); /*new ReduceAction374*/
1428 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[378]) /*AbstractArray::add*/;
1429 variable[379] = NEW_ReduceAction375_parser___ReduceAction375___init(); /*new ReduceAction375*/
1430 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[379]) /*AbstractArray::add*/;
1431 variable[380] = NEW_ReduceAction376_parser___ReduceAction376___init(); /*new ReduceAction376*/
1432 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[380]) /*AbstractArray::add*/;
1433 variable[381] = NEW_ReduceAction377_parser___ReduceAction377___init(); /*new ReduceAction377*/
1434 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[381]) /*AbstractArray::add*/;
1435 variable[382] = NEW_ReduceAction378_parser___ReduceAction378___init(); /*new ReduceAction378*/
1436 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[382]) /*AbstractArray::add*/;
1437 variable[383] = NEW_ReduceAction379_parser___ReduceAction379___init(); /*new ReduceAction379*/
1438 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[383]) /*AbstractArray::add*/;
1439 variable[384] = NEW_ReduceAction380_parser___ReduceAction380___init(); /*new ReduceAction380*/
1440 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[384]) /*AbstractArray::add*/;
1441 variable[385] = NEW_ReduceAction381_parser___ReduceAction381___init(); /*new ReduceAction381*/
1442 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[385]) /*AbstractArray::add*/;
1443 variable[386] = NEW_ReduceAction382_parser___ReduceAction382___init(); /*new ReduceAction382*/
1444 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[386]) /*AbstractArray::add*/;
1445 variable[387] = NEW_ReduceAction383_parser___ReduceAction383___init(); /*new ReduceAction383*/
1446 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[387]) /*AbstractArray::add*/;
1447 variable[388] = NEW_ReduceAction384_parser___ReduceAction384___init(); /*new ReduceAction384*/
1448 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[388]) /*AbstractArray::add*/;
1449 variable[389] = NEW_ReduceAction385_parser___ReduceAction385___init(); /*new ReduceAction385*/
1450 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[389]) /*AbstractArray::add*/;
1451 variable[390] = NEW_ReduceAction386_parser___ReduceAction386___init(); /*new ReduceAction386*/
1452 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[390]) /*AbstractArray::add*/;
1453 variable[391] = NEW_ReduceAction387_parser___ReduceAction387___init(); /*new ReduceAction387*/
1454 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[391]) /*AbstractArray::add*/;
1455 variable[392] = NEW_ReduceAction388_parser___ReduceAction388___init(); /*new ReduceAction388*/
1456 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[392]) /*AbstractArray::add*/;
1457 variable[393] = NEW_ReduceAction389_parser___ReduceAction389___init(); /*new ReduceAction389*/
1458 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[393]) /*AbstractArray::add*/;
1459 variable[394] = NEW_ReduceAction390_parser___ReduceAction390___init(); /*new ReduceAction390*/
1460 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[394]) /*AbstractArray::add*/;
1461 variable[395] = NEW_ReduceAction391_parser___ReduceAction391___init(); /*new ReduceAction391*/
1462 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[395]) /*AbstractArray::add*/;
1463 variable[396] = NEW_ReduceAction392_parser___ReduceAction392___init(); /*new ReduceAction392*/
1464 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[396]) /*AbstractArray::add*/;
1465 variable[397] = NEW_ReduceAction393_parser___ReduceAction393___init(); /*new ReduceAction393*/
1466 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[397]) /*AbstractArray::add*/;
1467 variable[398] = NEW_ReduceAction394_parser___ReduceAction394___init(); /*new ReduceAction394*/
1468 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[398]) /*AbstractArray::add*/;
1469 variable[399] = NEW_ReduceAction395_parser___ReduceAction395___init(); /*new ReduceAction395*/
1470 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[399]) /*AbstractArray::add*/;
1471 variable[400] = NEW_ReduceAction396_parser___ReduceAction396___init(); /*new ReduceAction396*/
1472 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[400]) /*AbstractArray::add*/;
1473 variable[401] = NEW_ReduceAction397_parser___ReduceAction397___init(); /*new ReduceAction397*/
1474 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[401]) /*AbstractArray::add*/;
1475 variable[402] = NEW_ReduceAction398_parser___ReduceAction398___init(); /*new ReduceAction398*/
1476 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[402]) /*AbstractArray::add*/;
1477 variable[403] = NEW_ReduceAction399_parser___ReduceAction399___init(); /*new ReduceAction399*/
1478 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[403]) /*AbstractArray::add*/;
1479 variable[404] = NEW_ReduceAction400_parser___ReduceAction400___init(); /*new ReduceAction400*/
1480 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[404]) /*AbstractArray::add*/;
1481 variable[405] = NEW_ReduceAction401_parser___ReduceAction401___init(); /*new ReduceAction401*/
1482 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[405]) /*AbstractArray::add*/;
1483 variable[406] = NEW_ReduceAction402_parser___ReduceAction402___init(); /*new ReduceAction402*/
1484 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[406]) /*AbstractArray::add*/;
1485 variable[407] = NEW_ReduceAction403_parser___ReduceAction403___init(); /*new ReduceAction403*/
1486 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[407]) /*AbstractArray::add*/;
1487 variable[408] = NEW_ReduceAction404_parser___ReduceAction404___init(); /*new ReduceAction404*/
1488 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[408]) /*AbstractArray::add*/;
1489 variable[409] = NEW_ReduceAction405_parser___ReduceAction405___init(); /*new ReduceAction405*/
1490 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[409]) /*AbstractArray::add*/;
1491 variable[410] = NEW_ReduceAction406_parser___ReduceAction406___init(); /*new ReduceAction406*/
1492 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[410]) /*AbstractArray::add*/;
1493 variable[411] = NEW_ReduceAction407_parser___ReduceAction407___init(); /*new ReduceAction407*/
1494 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[411]) /*AbstractArray::add*/;
1495 variable[412] = NEW_ReduceAction408_parser___ReduceAction408___init(); /*new ReduceAction408*/
1496 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[412]) /*AbstractArray::add*/;
1497 variable[413] = NEW_ReduceAction409_parser___ReduceAction409___init(); /*new ReduceAction409*/
1498 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[413]) /*AbstractArray::add*/;
1499 variable[414] = NEW_ReduceAction410_parser___ReduceAction410___init(); /*new ReduceAction410*/
1500 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[414]) /*AbstractArray::add*/;
1501 variable[415] = NEW_ReduceAction411_parser___ReduceAction411___init(); /*new ReduceAction411*/
1502 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[415]) /*AbstractArray::add*/;
1503 variable[416] = NEW_ReduceAction412_parser___ReduceAction412___init(); /*new ReduceAction412*/
1504 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[416]) /*AbstractArray::add*/;
1505 variable[417] = NEW_ReduceAction413_parser___ReduceAction413___init(); /*new ReduceAction413*/
1506 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[417]) /*AbstractArray::add*/;
1507 variable[418] = NEW_ReduceAction414_parser___ReduceAction414___init(); /*new ReduceAction414*/
1508 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[418]) /*AbstractArray::add*/;
1509 variable[419] = NEW_ReduceAction415_parser___ReduceAction415___init(); /*new ReduceAction415*/
1510 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[419]) /*AbstractArray::add*/;
1511 variable[420] = NEW_ReduceAction416_parser___ReduceAction416___init(); /*new ReduceAction416*/
1512 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[420]) /*AbstractArray::add*/;
1513 variable[421] = NEW_ReduceAction417_parser___ReduceAction417___init(); /*new ReduceAction417*/
1514 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[421]) /*AbstractArray::add*/;
1515 variable[422] = NEW_ReduceAction418_parser___ReduceAction418___init(); /*new ReduceAction418*/
1516 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[422]) /*AbstractArray::add*/;
1517 variable[423] = NEW_ReduceAction419_parser___ReduceAction419___init(); /*new ReduceAction419*/
1518 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[423]) /*AbstractArray::add*/;
1519 variable[424] = NEW_ReduceAction420_parser___ReduceAction420___init(); /*new ReduceAction420*/
1520 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[424]) /*AbstractArray::add*/;
1521 variable[425] = NEW_ReduceAction421_parser___ReduceAction421___init(); /*new ReduceAction421*/
1522 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[425]) /*AbstractArray::add*/;
1523 variable[426] = NEW_ReduceAction422_parser___ReduceAction422___init(); /*new ReduceAction422*/
1524 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[426]) /*AbstractArray::add*/;
1525 variable[427] = NEW_ReduceAction423_parser___ReduceAction423___init(); /*new ReduceAction423*/
1526 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[427]) /*AbstractArray::add*/;
1527 variable[428] = NEW_ReduceAction424_parser___ReduceAction424___init(); /*new ReduceAction424*/
1528 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[428]) /*AbstractArray::add*/;
1529 variable[429] = NEW_ReduceAction425_parser___ReduceAction425___init(); /*new ReduceAction425*/
1530 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[429]) /*AbstractArray::add*/;
1531 variable[430] = NEW_ReduceAction426_parser___ReduceAction426___init(); /*new ReduceAction426*/
1532 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[430]) /*AbstractArray::add*/;
1533 variable[431] = NEW_ReduceAction427_parser___ReduceAction427___init(); /*new ReduceAction427*/
1534 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[431]) /*AbstractArray::add*/;
1535 variable[432] = NEW_ReduceAction428_parser___ReduceAction428___init(); /*new ReduceAction428*/
1536 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[432]) /*AbstractArray::add*/;
1537 variable[433] = NEW_ReduceAction429_parser___ReduceAction429___init(); /*new ReduceAction429*/
1538 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[433]) /*AbstractArray::add*/;
1539 variable[434] = NEW_ReduceAction430_parser___ReduceAction430___init(); /*new ReduceAction430*/
1540 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[434]) /*AbstractArray::add*/;
1541 variable[435] = NEW_ReduceAction431_parser___ReduceAction431___init(); /*new ReduceAction431*/
1542 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[435]) /*AbstractArray::add*/;
1543 variable[436] = NEW_ReduceAction432_parser___ReduceAction432___init(); /*new ReduceAction432*/
1544 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[436]) /*AbstractArray::add*/;
1545 variable[437] = NEW_ReduceAction433_parser___ReduceAction433___init(); /*new ReduceAction433*/
1546 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[437]) /*AbstractArray::add*/;
1547 variable[438] = NEW_ReduceAction434_parser___ReduceAction434___init(); /*new ReduceAction434*/
1548 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[438]) /*AbstractArray::add*/;
1549 variable[439] = NEW_ReduceAction435_parser___ReduceAction435___init(); /*new ReduceAction435*/
1550 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[439]) /*AbstractArray::add*/;
1551 variable[440] = NEW_ReduceAction436_parser___ReduceAction436___init(); /*new ReduceAction436*/
1552 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[440]) /*AbstractArray::add*/;
1553 variable[441] = NEW_ReduceAction437_parser___ReduceAction437___init(); /*new ReduceAction437*/
1554 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[441]) /*AbstractArray::add*/;
1555 variable[442] = NEW_ReduceAction438_parser___ReduceAction438___init(); /*new ReduceAction438*/
1556 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[442]) /*AbstractArray::add*/;
1557 variable[443] = NEW_ReduceAction439_parser___ReduceAction439___init(); /*new ReduceAction439*/
1558 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[443]) /*AbstractArray::add*/;
1559 variable[444] = NEW_ReduceAction440_parser___ReduceAction440___init(); /*new ReduceAction440*/
1560 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[444]) /*AbstractArray::add*/;
1561 variable[445] = NEW_ReduceAction441_parser___ReduceAction441___init(); /*new ReduceAction441*/
1562 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[445]) /*AbstractArray::add*/;
1563 variable[446] = NEW_ReduceAction442_parser___ReduceAction442___init(); /*new ReduceAction442*/
1564 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[446]) /*AbstractArray::add*/;
1565 variable[447] = NEW_ReduceAction443_parser___ReduceAction443___init(); /*new ReduceAction443*/
1566 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[447]) /*AbstractArray::add*/;
1567 variable[448] = NEW_ReduceAction444_parser___ReduceAction444___init(); /*new ReduceAction444*/
1568 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[448]) /*AbstractArray::add*/;
1569 variable[449] = NEW_ReduceAction445_parser___ReduceAction445___init(); /*new ReduceAction445*/
1570 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[449]) /*AbstractArray::add*/;
1571 variable[450] = NEW_ReduceAction446_parser___ReduceAction446___init(); /*new ReduceAction446*/
1572 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[450]) /*AbstractArray::add*/;
1573 variable[451] = NEW_ReduceAction447_parser___ReduceAction447___init(); /*new ReduceAction447*/
1574 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[451]) /*AbstractArray::add*/;
1575 variable[452] = NEW_ReduceAction448_parser___ReduceAction448___init(); /*new ReduceAction448*/
1576 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[452]) /*AbstractArray::add*/;
1577 variable[453] = NEW_ReduceAction449_parser___ReduceAction449___init(); /*new ReduceAction449*/
1578 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[453]) /*AbstractArray::add*/;
1579 variable[454] = NEW_ReduceAction450_parser___ReduceAction450___init(); /*new ReduceAction450*/
1580 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[454]) /*AbstractArray::add*/;
1581 variable[455] = NEW_ReduceAction451_parser___ReduceAction451___init(); /*new ReduceAction451*/
1582 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[455]) /*AbstractArray::add*/;
1583 variable[456] = NEW_ReduceAction452_parser___ReduceAction452___init(); /*new ReduceAction452*/
1584 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[456]) /*AbstractArray::add*/;
1585 variable[457] = NEW_ReduceAction453_parser___ReduceAction453___init(); /*new ReduceAction453*/
1586 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[457]) /*AbstractArray::add*/;
1587 variable[458] = NEW_ReduceAction454_parser___ReduceAction454___init(); /*new ReduceAction454*/
1588 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[458]) /*AbstractArray::add*/;
1589 variable[459] = NEW_ReduceAction455_parser___ReduceAction455___init(); /*new ReduceAction455*/
1590 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[459]) /*AbstractArray::add*/;
1591 variable[460] = NEW_ReduceAction456_parser___ReduceAction456___init(); /*new ReduceAction456*/
1592 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[460]) /*AbstractArray::add*/;
1593 variable[461] = NEW_ReduceAction457_parser___ReduceAction457___init(); /*new ReduceAction457*/
1594 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[461]) /*AbstractArray::add*/;
1595 variable[462] = NEW_ReduceAction458_parser___ReduceAction458___init(); /*new ReduceAction458*/
1596 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[462]) /*AbstractArray::add*/;
1597 variable[463] = NEW_ReduceAction459_parser___ReduceAction459___init(); /*new ReduceAction459*/
1598 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[463]) /*AbstractArray::add*/;
1599 variable[464] = NEW_ReduceAction460_parser___ReduceAction460___init(); /*new ReduceAction460*/
1600 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[464]) /*AbstractArray::add*/;
1601 variable[465] = NEW_ReduceAction461_parser___ReduceAction461___init(); /*new ReduceAction461*/
1602 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[465]) /*AbstractArray::add*/;
1603 variable[466] = NEW_ReduceAction462_parser___ReduceAction462___init(); /*new ReduceAction462*/
1604 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[466]) /*AbstractArray::add*/;
1605 variable[467] = NEW_ReduceAction463_parser___ReduceAction463___init(); /*new ReduceAction463*/
1606 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[467]) /*AbstractArray::add*/;
1607 variable[468] = NEW_ReduceAction464_parser___ReduceAction464___init(); /*new ReduceAction464*/
1608 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[468]) /*AbstractArray::add*/;
1609 variable[469] = NEW_ReduceAction465_parser___ReduceAction465___init(); /*new ReduceAction465*/
1610 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[469]) /*AbstractArray::add*/;
1611 variable[470] = NEW_ReduceAction466_parser___ReduceAction466___init(); /*new ReduceAction466*/
1612 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[470]) /*AbstractArray::add*/;
1613 variable[471] = NEW_ReduceAction467_parser___ReduceAction467___init(); /*new ReduceAction467*/
1614 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[471]) /*AbstractArray::add*/;
1615 variable[472] = NEW_ReduceAction468_parser___ReduceAction468___init(); /*new ReduceAction468*/
1616 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[472]) /*AbstractArray::add*/;
1617 variable[473] = NEW_ReduceAction469_parser___ReduceAction469___init(); /*new ReduceAction469*/
1618 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[473]) /*AbstractArray::add*/;
1619 variable[474] = NEW_ReduceAction470_parser___ReduceAction470___init(); /*new ReduceAction470*/
1620 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[474]) /*AbstractArray::add*/;
1621 variable[475] = NEW_ReduceAction471_parser___ReduceAction471___init(); /*new ReduceAction471*/
1622 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[475]) /*AbstractArray::add*/;
1623 variable[476] = NEW_ReduceAction472_parser___ReduceAction472___init(); /*new ReduceAction472*/
1624 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[476]) /*AbstractArray::add*/;
1625 variable[477] = NEW_ReduceAction473_parser___ReduceAction473___init(); /*new ReduceAction473*/
1626 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[477]) /*AbstractArray::add*/;
1627 variable[478] = NEW_ReduceAction474_parser___ReduceAction474___init(); /*new ReduceAction474*/
1628 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[478]) /*AbstractArray::add*/;
1629 variable[479] = NEW_ReduceAction475_parser___ReduceAction475___init(); /*new ReduceAction475*/
1630 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[479]) /*AbstractArray::add*/;
1631 variable[480] = NEW_ReduceAction476_parser___ReduceAction476___init(); /*new ReduceAction476*/
1632 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[480]) /*AbstractArray::add*/;
1633 variable[481] = NEW_ReduceAction477_parser___ReduceAction477___init(); /*new ReduceAction477*/
1634 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[481]) /*AbstractArray::add*/;
1635 variable[482] = NEW_ReduceAction478_parser___ReduceAction478___init(); /*new ReduceAction478*/
1636 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[482]) /*AbstractArray::add*/;
1637 variable[483] = NEW_ReduceAction479_parser___ReduceAction479___init(); /*new ReduceAction479*/
1638 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[483]) /*AbstractArray::add*/;
1639 variable[484] = NEW_ReduceAction480_parser___ReduceAction480___init(); /*new ReduceAction480*/
1640 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[484]) /*AbstractArray::add*/;
1641 variable[485] = NEW_ReduceAction481_parser___ReduceAction481___init(); /*new ReduceAction481*/
1642 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[485]) /*AbstractArray::add*/;
1643 variable[486] = NEW_ReduceAction482_parser___ReduceAction482___init(); /*new ReduceAction482*/
1644 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[486]) /*AbstractArray::add*/;
1645 variable[487] = NEW_ReduceAction483_parser___ReduceAction483___init(); /*new ReduceAction483*/
1646 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[487]) /*AbstractArray::add*/;
1647 variable[488] = NEW_ReduceAction484_parser___ReduceAction484___init(); /*new ReduceAction484*/
1648 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[488]) /*AbstractArray::add*/;
1649 variable[489] = NEW_ReduceAction485_parser___ReduceAction485___init(); /*new ReduceAction485*/
1650 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[489]) /*AbstractArray::add*/;
1651 variable[490] = NEW_ReduceAction486_parser___ReduceAction486___init(); /*new ReduceAction486*/
1652 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[490]) /*AbstractArray::add*/;
1653 variable[491] = NEW_ReduceAction487_parser___ReduceAction487___init(); /*new ReduceAction487*/
1654 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[491]) /*AbstractArray::add*/;
1655 variable[492] = NEW_ReduceAction488_parser___ReduceAction488___init(); /*new ReduceAction488*/
1656 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[492]) /*AbstractArray::add*/;
1657 variable[493] = NEW_ReduceAction489_parser___ReduceAction489___init(); /*new ReduceAction489*/
1658 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[493]) /*AbstractArray::add*/;
1659 variable[494] = NEW_ReduceAction490_parser___ReduceAction490___init(); /*new ReduceAction490*/
1660 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[494]) /*AbstractArray::add*/;
1661 variable[495] = NEW_ReduceAction491_parser___ReduceAction491___init(); /*new ReduceAction491*/
1662 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[495]) /*AbstractArray::add*/;
1663 variable[496] = NEW_ReduceAction492_parser___ReduceAction492___init(); /*new ReduceAction492*/
1664 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[496]) /*AbstractArray::add*/;
1665 variable[497] = NEW_ReduceAction493_parser___ReduceAction493___init(); /*new ReduceAction493*/
1666 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[497]) /*AbstractArray::add*/;
1667 variable[498] = NEW_ReduceAction494_parser___ReduceAction494___init(); /*new ReduceAction494*/
1668 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[498]) /*AbstractArray::add*/;
1669 variable[499] = NEW_ReduceAction495_parser___ReduceAction495___init(); /*new ReduceAction495*/
1670 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[499]) /*AbstractArray::add*/;
1671 variable[500] = NEW_ReduceAction496_parser___ReduceAction496___init(); /*new ReduceAction496*/
1672 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[500]) /*AbstractArray::add*/;
1673 variable[501] = NEW_ReduceAction497_parser___ReduceAction497___init(); /*new ReduceAction497*/
1674 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[501]) /*AbstractArray::add*/;
1675 variable[502] = NEW_ReduceAction498_parser___ReduceAction498___init(); /*new ReduceAction498*/
1676 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[502]) /*AbstractArray::add*/;
1677 variable[503] = NEW_ReduceAction499_parser___ReduceAction499___init(); /*new ReduceAction499*/
1678 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[503]) /*AbstractArray::add*/;
1679 variable[504] = NEW_ReduceAction500_parser___ReduceAction500___init(); /*new ReduceAction500*/
1680 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[504]) /*AbstractArray::add*/;
1681 variable[505] = NEW_ReduceAction501_parser___ReduceAction501___init(); /*new ReduceAction501*/
1682 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[505]) /*AbstractArray::add*/;
1683 variable[506] = NEW_ReduceAction502_parser___ReduceAction502___init(); /*new ReduceAction502*/
1684 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[506]) /*AbstractArray::add*/;
1685 variable[507] = NEW_ReduceAction503_parser___ReduceAction503___init(); /*new ReduceAction503*/
1686 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[507]) /*AbstractArray::add*/;
1687 variable[508] = NEW_ReduceAction504_parser___ReduceAction504___init(); /*new ReduceAction504*/
1688 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[508]) /*AbstractArray::add*/;
1689 variable[509] = NEW_ReduceAction505_parser___ReduceAction505___init(); /*new ReduceAction505*/
1690 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[509]) /*AbstractArray::add*/;
1691 variable[510] = NEW_ReduceAction506_parser___ReduceAction506___init(); /*new ReduceAction506*/
1692 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[510]) /*AbstractArray::add*/;
1693 variable[511] = NEW_ReduceAction507_parser___ReduceAction507___init(); /*new ReduceAction507*/
1694 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[511]) /*AbstractArray::add*/;
1695 variable[512] = NEW_ReduceAction508_parser___ReduceAction508___init(); /*new ReduceAction508*/
1696 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[512]) /*AbstractArray::add*/;
1697 variable[513] = NEW_ReduceAction509_parser___ReduceAction509___init(); /*new ReduceAction509*/
1698 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[513]) /*AbstractArray::add*/;
1699 variable[514] = NEW_ReduceAction510_parser___ReduceAction510___init(); /*new ReduceAction510*/
1700 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[514]) /*AbstractArray::add*/;
1701 variable[515] = NEW_ReduceAction511_parser___ReduceAction511___init(); /*new ReduceAction511*/
1702 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[515]) /*AbstractArray::add*/;
1703 variable[516] = NEW_ReduceAction512_parser___ReduceAction512___init(); /*new ReduceAction512*/
1704 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[516]) /*AbstractArray::add*/;
1705 variable[517] = NEW_ReduceAction513_parser___ReduceAction513___init(); /*new ReduceAction513*/
1706 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[517]) /*AbstractArray::add*/;
1707 variable[518] = NEW_ReduceAction514_parser___ReduceAction514___init(); /*new ReduceAction514*/
1708 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[518]) /*AbstractArray::add*/;
1709 variable[519] = NEW_ReduceAction515_parser___ReduceAction515___init(); /*new ReduceAction515*/
1710 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[519]) /*AbstractArray::add*/;
1711 variable[520] = NEW_ReduceAction516_parser___ReduceAction516___init(); /*new ReduceAction516*/
1712 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[520]) /*AbstractArray::add*/;
1713 variable[521] = NEW_ReduceAction517_parser___ReduceAction517___init(); /*new ReduceAction517*/
1714 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[521]) /*AbstractArray::add*/;
1715 variable[522] = NEW_ReduceAction518_parser___ReduceAction518___init(); /*new ReduceAction518*/
1716 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[522]) /*AbstractArray::add*/;
1717 variable[523] = NEW_ReduceAction519_parser___ReduceAction519___init(); /*new ReduceAction519*/
1718 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[523]) /*AbstractArray::add*/;
1719 variable[524] = NEW_ReduceAction520_parser___ReduceAction520___init(); /*new ReduceAction520*/
1720 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[524]) /*AbstractArray::add*/;
1721 variable[525] = NEW_ReduceAction521_parser___ReduceAction521___init(); /*new ReduceAction521*/
1722 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[525]) /*AbstractArray::add*/;
1723 variable[526] = NEW_ReduceAction522_parser___ReduceAction522___init(); /*new ReduceAction522*/
1724 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[526]) /*AbstractArray::add*/;
1725 variable[527] = NEW_ReduceAction523_parser___ReduceAction523___init(); /*new ReduceAction523*/
1726 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[527]) /*AbstractArray::add*/;
1727 variable[528] = NEW_ReduceAction524_parser___ReduceAction524___init(); /*new ReduceAction524*/
1728 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[528]) /*AbstractArray::add*/;
1729 variable[529] = NEW_ReduceAction525_parser___ReduceAction525___init(); /*new ReduceAction525*/
1730 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[529]) /*AbstractArray::add*/;
1731 variable[530] = NEW_ReduceAction526_parser___ReduceAction526___init(); /*new ReduceAction526*/
1732 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[530]) /*AbstractArray::add*/;
1733 variable[531] = NEW_ReduceAction527_parser___ReduceAction527___init(); /*new ReduceAction527*/
1734 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[531]) /*AbstractArray::add*/;
1735 variable[532] = NEW_ReduceAction528_parser___ReduceAction528___init(); /*new ReduceAction528*/
1736 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[532]) /*AbstractArray::add*/;
1737 variable[533] = NEW_ReduceAction529_parser___ReduceAction529___init(); /*new ReduceAction529*/
1738 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[533]) /*AbstractArray::add*/;
1739 variable[534] = NEW_ReduceAction530_parser___ReduceAction530___init(); /*new ReduceAction530*/
1740 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[534]) /*AbstractArray::add*/;
1741 variable[535] = NEW_ReduceAction531_parser___ReduceAction531___init(); /*new ReduceAction531*/
1742 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[535]) /*AbstractArray::add*/;
1743 variable[536] = NEW_ReduceAction532_parser___ReduceAction532___init(); /*new ReduceAction532*/
1744 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[536]) /*AbstractArray::add*/;
1745 variable[537] = NEW_ReduceAction533_parser___ReduceAction533___init(); /*new ReduceAction533*/
1746 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[537]) /*AbstractArray::add*/;
1747 variable[538] = NEW_ReduceAction534_parser___ReduceAction534___init(); /*new ReduceAction534*/
1748 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[538]) /*AbstractArray::add*/;
1749 variable[539] = NEW_ReduceAction535_parser___ReduceAction535___init(); /*new ReduceAction535*/
1750 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[539]) /*AbstractArray::add*/;
1751 variable[540] = NEW_ReduceAction536_parser___ReduceAction536___init(); /*new ReduceAction536*/
1752 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[540]) /*AbstractArray::add*/;
1753 variable[541] = NEW_ReduceAction537_parser___ReduceAction537___init(); /*new ReduceAction537*/
1754 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[541]) /*AbstractArray::add*/;
1755 variable[542] = NEW_ReduceAction538_parser___ReduceAction538___init(); /*new ReduceAction538*/
1756 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[542]) /*AbstractArray::add*/;
1757 variable[543] = NEW_ReduceAction539_parser___ReduceAction539___init(); /*new ReduceAction539*/
1758 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[543]) /*AbstractArray::add*/;
1759 variable[544] = NEW_ReduceAction540_parser___ReduceAction540___init(); /*new ReduceAction540*/
1760 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[544]) /*AbstractArray::add*/;
1761 variable[545] = NEW_ReduceAction541_parser___ReduceAction541___init(); /*new ReduceAction541*/
1762 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[545]) /*AbstractArray::add*/;
1763 variable[546] = NEW_ReduceAction542_parser___ReduceAction542___init(); /*new ReduceAction542*/
1764 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[546]) /*AbstractArray::add*/;
1765 variable[547] = NEW_ReduceAction543_parser___ReduceAction543___init(); /*new ReduceAction543*/
1766 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[547]) /*AbstractArray::add*/;
1767 variable[548] = NEW_ReduceAction544_parser___ReduceAction544___init(); /*new ReduceAction544*/
1768 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[548]) /*AbstractArray::add*/;
1769 variable[549] = NEW_ReduceAction545_parser___ReduceAction545___init(); /*new ReduceAction545*/
1770 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[549]) /*AbstractArray::add*/;
1771 variable[550] = NEW_ReduceAction546_parser___ReduceAction546___init(); /*new ReduceAction546*/
1772 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[550]) /*AbstractArray::add*/;
1773 variable[551] = NEW_ReduceAction547_parser___ReduceAction547___init(); /*new ReduceAction547*/
1774 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[551]) /*AbstractArray::add*/;
1775 variable[552] = NEW_ReduceAction548_parser___ReduceAction548___init(); /*new ReduceAction548*/
1776 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[552]) /*AbstractArray::add*/;
1777 variable[553] = NEW_ReduceAction549_parser___ReduceAction549___init(); /*new ReduceAction549*/
1778 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[553]) /*AbstractArray::add*/;
1779 variable[554] = NEW_ReduceAction550_parser___ReduceAction550___init(); /*new ReduceAction550*/
1780 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[554]) /*AbstractArray::add*/;
1781 variable[555] = NEW_ReduceAction551_parser___ReduceAction551___init(); /*new ReduceAction551*/
1782 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[555]) /*AbstractArray::add*/;
1783 variable[556] = NEW_ReduceAction552_parser___ReduceAction552___init(); /*new ReduceAction552*/
1784 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[556]) /*AbstractArray::add*/;
1785 variable[557] = NEW_ReduceAction553_parser___ReduceAction553___init(); /*new ReduceAction553*/
1786 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[557]) /*AbstractArray::add*/;
1787 variable[558] = NEW_ReduceAction554_parser___ReduceAction554___init(); /*new ReduceAction554*/
1788 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[558]) /*AbstractArray::add*/;
1789 variable[559] = NEW_ReduceAction555_parser___ReduceAction555___init(); /*new ReduceAction555*/
1790 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[559]) /*AbstractArray::add*/;
1791 variable[560] = NEW_ReduceAction556_parser___ReduceAction556___init(); /*new ReduceAction556*/
1792 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[560]) /*AbstractArray::add*/;
1793 variable[561] = NEW_ReduceAction557_parser___ReduceAction557___init(); /*new ReduceAction557*/
1794 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[561]) /*AbstractArray::add*/;
1795 variable[562] = NEW_ReduceAction558_parser___ReduceAction558___init(); /*new ReduceAction558*/
1796 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[562]) /*AbstractArray::add*/;
1797 variable[563] = NEW_ReduceAction559_parser___ReduceAction559___init(); /*new ReduceAction559*/
1798 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[563]) /*AbstractArray::add*/;
1799 variable[564] = NEW_ReduceAction560_parser___ReduceAction560___init(); /*new ReduceAction560*/
1800 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[564]) /*AbstractArray::add*/;
1801 variable[565] = NEW_ReduceAction561_parser___ReduceAction561___init(); /*new ReduceAction561*/
1802 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[565]) /*AbstractArray::add*/;
1803 variable[566] = NEW_ReduceAction562_parser___ReduceAction562___init(); /*new ReduceAction562*/
1804 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[566]) /*AbstractArray::add*/;
1805 variable[567] = NEW_ReduceAction563_parser___ReduceAction563___init(); /*new ReduceAction563*/
1806 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[567]) /*AbstractArray::add*/;
1807 variable[568] = NEW_ReduceAction564_parser___ReduceAction564___init(); /*new ReduceAction564*/
1808 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[568]) /*AbstractArray::add*/;
1809 variable[569] = NEW_ReduceAction565_parser___ReduceAction565___init(); /*new ReduceAction565*/
1810 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[569]) /*AbstractArray::add*/;
1811 variable[570] = NEW_ReduceAction566_parser___ReduceAction566___init(); /*new ReduceAction566*/
1812 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[570]) /*AbstractArray::add*/;
1813 variable[571] = NEW_ReduceAction567_parser___ReduceAction567___init(); /*new ReduceAction567*/
1814 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[571]) /*AbstractArray::add*/;
1815 variable[572] = NEW_ReduceAction568_parser___ReduceAction568___init(); /*new ReduceAction568*/
1816 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[572]) /*AbstractArray::add*/;
1817 variable[573] = NEW_ReduceAction569_parser___ReduceAction569___init(); /*new ReduceAction569*/
1818 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[573]) /*AbstractArray::add*/;
1819 variable[574] = NEW_ReduceAction570_parser___ReduceAction570___init(); /*new ReduceAction570*/
1820 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[574]) /*AbstractArray::add*/;
1821 variable[575] = NEW_ReduceAction571_parser___ReduceAction571___init(); /*new ReduceAction571*/
1822 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[575]) /*AbstractArray::add*/;
1823 variable[576] = NEW_ReduceAction572_parser___ReduceAction572___init(); /*new ReduceAction572*/
1824 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[576]) /*AbstractArray::add*/;
1825 variable[577] = NEW_ReduceAction573_parser___ReduceAction573___init(); /*new ReduceAction573*/
1826 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[577]) /*AbstractArray::add*/;
1827 variable[578] = NEW_ReduceAction574_parser___ReduceAction574___init(); /*new ReduceAction574*/
1828 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[578]) /*AbstractArray::add*/;
1829 variable[579] = NEW_ReduceAction575_parser___ReduceAction575___init(); /*new ReduceAction575*/
1830 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[579]) /*AbstractArray::add*/;
1831 variable[580] = NEW_ReduceAction576_parser___ReduceAction576___init(); /*new ReduceAction576*/
1832 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[580]) /*AbstractArray::add*/;
1833 variable[581] = NEW_ReduceAction577_parser___ReduceAction577___init(); /*new ReduceAction577*/
1834 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[581]) /*AbstractArray::add*/;
1835 variable[582] = NEW_ReduceAction578_parser___ReduceAction578___init(); /*new ReduceAction578*/
1836 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[582]) /*AbstractArray::add*/;
1837 variable[583] = NEW_ReduceAction579_parser___ReduceAction579___init(); /*new ReduceAction579*/
1838 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[583]) /*AbstractArray::add*/;
1839 variable[584] = NEW_ReduceAction580_parser___ReduceAction580___init(); /*new ReduceAction580*/
1840 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[584]) /*AbstractArray::add*/;
1841 variable[585] = NEW_ReduceAction581_parser___ReduceAction581___init(); /*new ReduceAction581*/
1842 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[585]) /*AbstractArray::add*/;
1843 variable[586] = NEW_ReduceAction582_parser___ReduceAction582___init(); /*new ReduceAction582*/
1844 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[586]) /*AbstractArray::add*/;
1845 variable[587] = NEW_ReduceAction583_parser___ReduceAction583___init(); /*new ReduceAction583*/
1846 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[587]) /*AbstractArray::add*/;
1847 variable[588] = NEW_ReduceAction584_parser___ReduceAction584___init(); /*new ReduceAction584*/
1848 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[588]) /*AbstractArray::add*/;
1849 variable[589] = NEW_ReduceAction585_parser___ReduceAction585___init(); /*new ReduceAction585*/
1850 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[589]) /*AbstractArray::add*/;
1851 variable[590] = NEW_ReduceAction586_parser___ReduceAction586___init(); /*new ReduceAction586*/
1852 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[590]) /*AbstractArray::add*/;
1853 variable[591] = NEW_ReduceAction587_parser___ReduceAction587___init(); /*new ReduceAction587*/
1854 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[591]) /*AbstractArray::add*/;
1855 variable[592] = NEW_ReduceAction588_parser___ReduceAction588___init(); /*new ReduceAction588*/
1856 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[592]) /*AbstractArray::add*/;
1857 variable[593] = NEW_ReduceAction589_parser___ReduceAction589___init(); /*new ReduceAction589*/
1858 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[593]) /*AbstractArray::add*/;
1859 variable[594] = NEW_ReduceAction590_parser___ReduceAction590___init(); /*new ReduceAction590*/
1860 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[594]) /*AbstractArray::add*/;
1861 variable[595] = NEW_ReduceAction591_parser___ReduceAction591___init(); /*new ReduceAction591*/
1862 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[595]) /*AbstractArray::add*/;
1863 variable[596] = NEW_ReduceAction592_parser___ReduceAction592___init(); /*new ReduceAction592*/
1864 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[596]) /*AbstractArray::add*/;
1865 variable[597] = NEW_ReduceAction593_parser___ReduceAction593___init(); /*new ReduceAction593*/
1866 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[597]) /*AbstractArray::add*/;
1867 variable[598] = NEW_ReduceAction594_parser___ReduceAction594___init(); /*new ReduceAction594*/
1868 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[598]) /*AbstractArray::add*/;
1869 variable[599] = NEW_ReduceAction595_parser___ReduceAction595___init(); /*new ReduceAction595*/
1870 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[599]) /*AbstractArray::add*/;
1871 variable[600] = NEW_ReduceAction596_parser___ReduceAction596___init(); /*new ReduceAction596*/
1872 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[600]) /*AbstractArray::add*/;
1873 variable[601] = NEW_ReduceAction597_parser___ReduceAction597___init(); /*new ReduceAction597*/
1874 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[601]) /*AbstractArray::add*/;
1875 variable[602] = NEW_ReduceAction598_parser___ReduceAction598___init(); /*new ReduceAction598*/
1876 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[602]) /*AbstractArray::add*/;
1877 variable[603] = NEW_ReduceAction599_parser___ReduceAction599___init(); /*new ReduceAction599*/
1878 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[603]) /*AbstractArray::add*/;
1879 variable[604] = NEW_ReduceAction600_parser___ReduceAction600___init(); /*new ReduceAction600*/
1880 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[604]) /*AbstractArray::add*/;
1881 variable[605] = NEW_ReduceAction601_parser___ReduceAction601___init(); /*new ReduceAction601*/
1882 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[605]) /*AbstractArray::add*/;
1883 variable[606] = NEW_ReduceAction602_parser___ReduceAction602___init(); /*new ReduceAction602*/
1884 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[606]) /*AbstractArray::add*/;
1885 variable[607] = NEW_ReduceAction603_parser___ReduceAction603___init(); /*new ReduceAction603*/
1886 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[607]) /*AbstractArray::add*/;
1887 variable[608] = NEW_ReduceAction604_parser___ReduceAction604___init(); /*new ReduceAction604*/
1888 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[608]) /*AbstractArray::add*/;
1889 variable[609] = NEW_ReduceAction605_parser___ReduceAction605___init(); /*new ReduceAction605*/
1890 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[609]) /*AbstractArray::add*/;
1891 variable[610] = NEW_ReduceAction606_parser___ReduceAction606___init(); /*new ReduceAction606*/
1892 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[610]) /*AbstractArray::add*/;
1893 variable[611] = NEW_ReduceAction607_parser___ReduceAction607___init(); /*new ReduceAction607*/
1894 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[611]) /*AbstractArray::add*/;
1895 variable[612] = NEW_ReduceAction608_parser___ReduceAction608___init(); /*new ReduceAction608*/
1896 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[612]) /*AbstractArray::add*/;
1897 variable[613] = NEW_ReduceAction609_parser___ReduceAction609___init(); /*new ReduceAction609*/
1898 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[613]) /*AbstractArray::add*/;
1899 variable[614] = NEW_ReduceAction610_parser___ReduceAction610___init(); /*new ReduceAction610*/
1900 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[614]) /*AbstractArray::add*/;
1901 variable[615] = NEW_ReduceAction611_parser___ReduceAction611___init(); /*new ReduceAction611*/
1902 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[615]) /*AbstractArray::add*/;
1903 variable[616] = NEW_ReduceAction612_parser___ReduceAction612___init(); /*new ReduceAction612*/
1904 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[616]) /*AbstractArray::add*/;
1905 variable[617] = NEW_ReduceAction613_parser___ReduceAction613___init(); /*new ReduceAction613*/
1906 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[617]) /*AbstractArray::add*/;
1907 variable[618] = NEW_ReduceAction614_parser___ReduceAction614___init(); /*new ReduceAction614*/
1908 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[618]) /*AbstractArray::add*/;
1909 variable[619] = NEW_ReduceAction615_parser___ReduceAction615___init(); /*new ReduceAction615*/
1910 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[619]) /*AbstractArray::add*/;
1911 variable[620] = NEW_ReduceAction616_parser___ReduceAction616___init(); /*new ReduceAction616*/
1912 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[620]) /*AbstractArray::add*/;
1913 variable[621] = NEW_ReduceAction617_parser___ReduceAction617___init(); /*new ReduceAction617*/
1914 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[621]) /*AbstractArray::add*/;
1915 variable[622] = NEW_ReduceAction618_parser___ReduceAction618___init(); /*new ReduceAction618*/
1916 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[622]) /*AbstractArray::add*/;
1917 variable[623] = NEW_ReduceAction619_parser___ReduceAction619___init(); /*new ReduceAction619*/
1918 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[623]) /*AbstractArray::add*/;
1919 variable[624] = NEW_ReduceAction620_parser___ReduceAction620___init(); /*new ReduceAction620*/
1920 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[624]) /*AbstractArray::add*/;
1921 variable[625] = NEW_ReduceAction621_parser___ReduceAction621___init(); /*new ReduceAction621*/
1922 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[625]) /*AbstractArray::add*/;
1923 variable[626] = NEW_ReduceAction622_parser___ReduceAction622___init(); /*new ReduceAction622*/
1924 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[626]) /*AbstractArray::add*/;
1925 variable[627] = NEW_ReduceAction623_parser___ReduceAction623___init(); /*new ReduceAction623*/
1926 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[627]) /*AbstractArray::add*/;
1927 variable[628] = NEW_ReduceAction624_parser___ReduceAction624___init(); /*new ReduceAction624*/
1928 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[628]) /*AbstractArray::add*/;
1929 variable[629] = NEW_ReduceAction625_parser___ReduceAction625___init(); /*new ReduceAction625*/
1930 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[629]) /*AbstractArray::add*/;
1931 variable[630] = NEW_ReduceAction626_parser___ReduceAction626___init(); /*new ReduceAction626*/
1932 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[630]) /*AbstractArray::add*/;
1933 variable[631] = NEW_ReduceAction627_parser___ReduceAction627___init(); /*new ReduceAction627*/
1934 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[631]) /*AbstractArray::add*/;
1935 variable[632] = NEW_ReduceAction628_parser___ReduceAction628___init(); /*new ReduceAction628*/
1936 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[632]) /*AbstractArray::add*/;
1937 variable[633] = NEW_ReduceAction629_parser___ReduceAction629___init(); /*new ReduceAction629*/
1938 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[633]) /*AbstractArray::add*/;
1939 variable[634] = NEW_ReduceAction630_parser___ReduceAction630___init(); /*new ReduceAction630*/
1940 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[634]) /*AbstractArray::add*/;
1941 variable[635] = NEW_ReduceAction631_parser___ReduceAction631___init(); /*new ReduceAction631*/
1942 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[635]) /*AbstractArray::add*/;
1943 variable[636] = NEW_ReduceAction632_parser___ReduceAction632___init(); /*new ReduceAction632*/
1944 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[636]) /*AbstractArray::add*/;
1945 variable[637] = NEW_ReduceAction633_parser___ReduceAction633___init(); /*new ReduceAction633*/
1946 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[637]) /*AbstractArray::add*/;
1947 variable[638] = NEW_ReduceAction634_parser___ReduceAction634___init(); /*new ReduceAction634*/
1948 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[638]) /*AbstractArray::add*/;
1949 variable[639] = NEW_ReduceAction635_parser___ReduceAction635___init(); /*new ReduceAction635*/
1950 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[639]) /*AbstractArray::add*/;
1951 variable[640] = NEW_ReduceAction636_parser___ReduceAction636___init(); /*new ReduceAction636*/
1952 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[640]) /*AbstractArray::add*/;
1953 variable[641] = NEW_ReduceAction637_parser___ReduceAction637___init(); /*new ReduceAction637*/
1954 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[641]) /*AbstractArray::add*/;
1955 variable[642] = NEW_ReduceAction638_parser___ReduceAction638___init(); /*new ReduceAction638*/
1956 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[642]) /*AbstractArray::add*/;
1957 variable[643] = NEW_ReduceAction639_parser___ReduceAction639___init(); /*new ReduceAction639*/
1958 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[643]) /*AbstractArray::add*/;
1959 variable[644] = NEW_ReduceAction640_parser___ReduceAction640___init(); /*new ReduceAction640*/
1960 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[644]) /*AbstractArray::add*/;
1961 variable[645] = NEW_ReduceAction641_parser___ReduceAction641___init(); /*new ReduceAction641*/
1962 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[645]) /*AbstractArray::add*/;
1963 variable[646] = NEW_ReduceAction642_parser___ReduceAction642___init(); /*new ReduceAction642*/
1964 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[646]) /*AbstractArray::add*/;
1965 variable[647] = NEW_ReduceAction643_parser___ReduceAction643___init(); /*new ReduceAction643*/
1966 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[647]) /*AbstractArray::add*/;
1967 variable[648] = NEW_ReduceAction644_parser___ReduceAction644___init(); /*new ReduceAction644*/
1968 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[648]) /*AbstractArray::add*/;
1969 variable[649] = NEW_ReduceAction645_parser___ReduceAction645___init(); /*new ReduceAction645*/
1970 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[649]) /*AbstractArray::add*/;
1971 variable[650] = NEW_ReduceAction646_parser___ReduceAction646___init(); /*new ReduceAction646*/
1972 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[650]) /*AbstractArray::add*/;
1973 variable[651] = NEW_ReduceAction647_parser___ReduceAction647___init(); /*new ReduceAction647*/
1974 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[651]) /*AbstractArray::add*/;
1975 variable[652] = NEW_ReduceAction648_parser___ReduceAction648___init(); /*new ReduceAction648*/
1976 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[652]) /*AbstractArray::add*/;
1977 variable[653] = NEW_ReduceAction649_parser___ReduceAction649___init(); /*new ReduceAction649*/
1978 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[653]) /*AbstractArray::add*/;
1979 variable[654] = NEW_ReduceAction650_parser___ReduceAction650___init(); /*new ReduceAction650*/
1980 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[654]) /*AbstractArray::add*/;
1981 variable[655] = NEW_ReduceAction651_parser___ReduceAction651___init(); /*new ReduceAction651*/
1982 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[655]) /*AbstractArray::add*/;
1983 variable[656] = NEW_ReduceAction652_parser___ReduceAction652___init(); /*new ReduceAction652*/
1984 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[656]) /*AbstractArray::add*/;
1985 variable[657] = NEW_ReduceAction653_parser___ReduceAction653___init(); /*new ReduceAction653*/
1986 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[657]) /*AbstractArray::add*/;
1987 variable[658] = NEW_ReduceAction654_parser___ReduceAction654___init(); /*new ReduceAction654*/
1988 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[658]) /*AbstractArray::add*/;
1989 variable[659] = NEW_ReduceAction655_parser___ReduceAction655___init(); /*new ReduceAction655*/
1990 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[659]) /*AbstractArray::add*/;
1991 variable[660] = NEW_ReduceAction656_parser___ReduceAction656___init(); /*new ReduceAction656*/
1992 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[660]) /*AbstractArray::add*/;
1993 variable[661] = NEW_ReduceAction657_parser___ReduceAction657___init(); /*new ReduceAction657*/
1994 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[661]) /*AbstractArray::add*/;
1995 variable[662] = NEW_ReduceAction658_parser___ReduceAction658___init(); /*new ReduceAction658*/
1996 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[662]) /*AbstractArray::add*/;
1997 variable[663] = NEW_ReduceAction659_parser___ReduceAction659___init(); /*new ReduceAction659*/
1998 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[663]) /*AbstractArray::add*/;
1999 variable[664] = NEW_ReduceAction660_parser___ReduceAction660___init(); /*new ReduceAction660*/
2000 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[664]) /*AbstractArray::add*/;
2001 variable[665] = NEW_ReduceAction661_parser___ReduceAction661___init(); /*new ReduceAction661*/
2002 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[665]) /*AbstractArray::add*/;
2003 variable[666] = NEW_ReduceAction662_parser___ReduceAction662___init(); /*new ReduceAction662*/
2004 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[666]) /*AbstractArray::add*/;
2005 variable[667] = NEW_ReduceAction663_parser___ReduceAction663___init(); /*new ReduceAction663*/
2006 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[667]) /*AbstractArray::add*/;
2007 variable[668] = NEW_ReduceAction664_parser___ReduceAction664___init(); /*new ReduceAction664*/
2008 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[668]) /*AbstractArray::add*/;
2009 variable[669] = NEW_ReduceAction665_parser___ReduceAction665___init(); /*new ReduceAction665*/
2010 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[669]) /*AbstractArray::add*/;
2011 variable[670] = NEW_ReduceAction666_parser___ReduceAction666___init(); /*new ReduceAction666*/
2012 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[670]) /*AbstractArray::add*/;
2013 variable[671] = NEW_ReduceAction667_parser___ReduceAction667___init(); /*new ReduceAction667*/
2014 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[671]) /*AbstractArray::add*/;
2015 variable[672] = NEW_ReduceAction668_parser___ReduceAction668___init(); /*new ReduceAction668*/
2016 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[672]) /*AbstractArray::add*/;
2017 variable[673] = NEW_ReduceAction669_parser___ReduceAction669___init(); /*new ReduceAction669*/
2018 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[673]) /*AbstractArray::add*/;
2019 variable[674] = NEW_ReduceAction670_parser___ReduceAction670___init(); /*new ReduceAction670*/
2020 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[674]) /*AbstractArray::add*/;
2021 variable[675] = NEW_ReduceAction671_parser___ReduceAction671___init(); /*new ReduceAction671*/
2022 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[675]) /*AbstractArray::add*/;
2023 variable[676] = NEW_ReduceAction672_parser___ReduceAction672___init(); /*new ReduceAction672*/
2024 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[676]) /*AbstractArray::add*/;
2025 variable[677] = NEW_ReduceAction673_parser___ReduceAction673___init(); /*new ReduceAction673*/
2026 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[677]) /*AbstractArray::add*/;
2027 variable[678] = NEW_ReduceAction674_parser___ReduceAction674___init(); /*new ReduceAction674*/
2028 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[678]) /*AbstractArray::add*/;
2029 variable[679] = NEW_ReduceAction675_parser___ReduceAction675___init(); /*new ReduceAction675*/
2030 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[679]) /*AbstractArray::add*/;
2031 variable[680] = NEW_ReduceAction676_parser___ReduceAction676___init(); /*new ReduceAction676*/
2032 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[680]) /*AbstractArray::add*/;
2033 variable[681] = NEW_ReduceAction677_parser___ReduceAction677___init(); /*new ReduceAction677*/
2034 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[681]) /*AbstractArray::add*/;
2035 variable[682] = NEW_ReduceAction678_parser___ReduceAction678___init(); /*new ReduceAction678*/
2036 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[682]) /*AbstractArray::add*/;
2037 variable[683] = NEW_ReduceAction679_parser___ReduceAction679___init(); /*new ReduceAction679*/
2038 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[683]) /*AbstractArray::add*/;
2039 variable[684] = NEW_ReduceAction680_parser___ReduceAction680___init(); /*new ReduceAction680*/
2040 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[684]) /*AbstractArray::add*/;
2041 variable[685] = NEW_ReduceAction681_parser___ReduceAction681___init(); /*new ReduceAction681*/
2042 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[685]) /*AbstractArray::add*/;
2043 variable[686] = NEW_ReduceAction682_parser___ReduceAction682___init(); /*new ReduceAction682*/
2044 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[686]) /*AbstractArray::add*/;
2045 variable[687] = NEW_ReduceAction683_parser___ReduceAction683___init(); /*new ReduceAction683*/
2046 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[687]) /*AbstractArray::add*/;
2047 variable[688] = NEW_ReduceAction684_parser___ReduceAction684___init(); /*new ReduceAction684*/
2048 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[688]) /*AbstractArray::add*/;
2049 variable[689] = NEW_ReduceAction685_parser___ReduceAction685___init(); /*new ReduceAction685*/
2050 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[689]) /*AbstractArray::add*/;
2051 variable[690] = NEW_ReduceAction686_parser___ReduceAction686___init(); /*new ReduceAction686*/
2052 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[690]) /*AbstractArray::add*/;
2053 variable[691] = NEW_ReduceAction687_parser___ReduceAction687___init(); /*new ReduceAction687*/
2054 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[691]) /*AbstractArray::add*/;
2055 variable[692] = NEW_ReduceAction688_parser___ReduceAction688___init(); /*new ReduceAction688*/
2056 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[692]) /*AbstractArray::add*/;
2057 variable[693] = NEW_ReduceAction689_parser___ReduceAction689___init(); /*new ReduceAction689*/
2058 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[693]) /*AbstractArray::add*/;
2059 variable[694] = NEW_ReduceAction690_parser___ReduceAction690___init(); /*new ReduceAction690*/
2060 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[694]) /*AbstractArray::add*/;
2061 variable[695] = NEW_ReduceAction691_parser___ReduceAction691___init(); /*new ReduceAction691*/
2062 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[695]) /*AbstractArray::add*/;
2063 variable[696] = NEW_ReduceAction692_parser___ReduceAction692___init(); /*new ReduceAction692*/
2064 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[696]) /*AbstractArray::add*/;
2065 variable[697] = NEW_ReduceAction693_parser___ReduceAction693___init(); /*new ReduceAction693*/
2066 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[697]) /*AbstractArray::add*/;
2067 variable[698] = NEW_ReduceAction694_parser___ReduceAction694___init(); /*new ReduceAction694*/
2068 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[698]) /*AbstractArray::add*/;
2069 variable[699] = NEW_ReduceAction695_parser___ReduceAction695___init(); /*new ReduceAction695*/
2070 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[699]) /*AbstractArray::add*/;
2071 variable[700] = NEW_ReduceAction696_parser___ReduceAction696___init(); /*new ReduceAction696*/
2072 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[700]) /*AbstractArray::add*/;
2073 variable[701] = NEW_ReduceAction697_parser___ReduceAction697___init(); /*new ReduceAction697*/
2074 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[701]) /*AbstractArray::add*/;
2075 variable[702] = NEW_ReduceAction698_parser___ReduceAction698___init(); /*new ReduceAction698*/
2076 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[702]) /*AbstractArray::add*/;
2077 variable[703] = NEW_ReduceAction699_parser___ReduceAction699___init(); /*new ReduceAction699*/
2078 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[703]) /*AbstractArray::add*/;
2079 variable[704] = NEW_ReduceAction700_parser___ReduceAction700___init(); /*new ReduceAction700*/
2080 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[704]) /*AbstractArray::add*/;
2081 variable[705] = NEW_ReduceAction701_parser___ReduceAction701___init(); /*new ReduceAction701*/
2082 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[705]) /*AbstractArray::add*/;
2083 variable[706] = NEW_ReduceAction702_parser___ReduceAction702___init(); /*new ReduceAction702*/
2084 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[706]) /*AbstractArray::add*/;
2085 variable[707] = NEW_ReduceAction703_parser___ReduceAction703___init(); /*new ReduceAction703*/
2086 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[707]) /*AbstractArray::add*/;
2087 variable[708] = NEW_ReduceAction704_parser___ReduceAction704___init(); /*new ReduceAction704*/
2088 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[708]) /*AbstractArray::add*/;
2089 variable[709] = NEW_ReduceAction705_parser___ReduceAction705___init(); /*new ReduceAction705*/
2090 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[709]) /*AbstractArray::add*/;
2091 variable[710] = NEW_ReduceAction706_parser___ReduceAction706___init(); /*new ReduceAction706*/
2092 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[710]) /*AbstractArray::add*/;
2093 variable[711] = NEW_ReduceAction707_parser___ReduceAction707___init(); /*new ReduceAction707*/
2094 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[711]) /*AbstractArray::add*/;
2095 variable[712] = NEW_ReduceAction708_parser___ReduceAction708___init(); /*new ReduceAction708*/
2096 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[712]) /*AbstractArray::add*/;
2097 variable[713] = NEW_ReduceAction709_parser___ReduceAction709___init(); /*new ReduceAction709*/
2098 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[713]) /*AbstractArray::add*/;
2099 variable[714] = NEW_ReduceAction710_parser___ReduceAction710___init(); /*new ReduceAction710*/
2100 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[714]) /*AbstractArray::add*/;
2101 variable[715] = NEW_ReduceAction711_parser___ReduceAction711___init(); /*new ReduceAction711*/
2102 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[715]) /*AbstractArray::add*/;
2103 variable[716] = NEW_ReduceAction712_parser___ReduceAction712___init(); /*new ReduceAction712*/
2104 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[716]) /*AbstractArray::add*/;
2105 variable[717] = NEW_ReduceAction713_parser___ReduceAction713___init(); /*new ReduceAction713*/
2106 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[717]) /*AbstractArray::add*/;
2107 variable[718] = NEW_ReduceAction714_parser___ReduceAction714___init(); /*new ReduceAction714*/
2108 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[718]) /*AbstractArray::add*/;
2109 variable[719] = NEW_ReduceAction715_parser___ReduceAction715___init(); /*new ReduceAction715*/
2110 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[719]) /*AbstractArray::add*/;
2111 variable[720] = NEW_ReduceAction716_parser___ReduceAction716___init(); /*new ReduceAction716*/
2112 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[720]) /*AbstractArray::add*/;
2113 variable[721] = NEW_ReduceAction717_parser___ReduceAction717___init(); /*new ReduceAction717*/
2114 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[721]) /*AbstractArray::add*/;
2115 variable[722] = NEW_ReduceAction718_parser___ReduceAction718___init(); /*new ReduceAction718*/
2116 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[722]) /*AbstractArray::add*/;
2117 variable[723] = NEW_ReduceAction719_parser___ReduceAction719___init(); /*new ReduceAction719*/
2118 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[723]) /*AbstractArray::add*/;
2119 variable[724] = NEW_ReduceAction720_parser___ReduceAction720___init(); /*new ReduceAction720*/
2120 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[724]) /*AbstractArray::add*/;
2121 variable[725] = NEW_ReduceAction721_parser___ReduceAction721___init(); /*new ReduceAction721*/
2122 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[725]) /*AbstractArray::add*/;
2123 variable[726] = NEW_ReduceAction722_parser___ReduceAction722___init(); /*new ReduceAction722*/
2124 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[726]) /*AbstractArray::add*/;
2125 variable[727] = NEW_ReduceAction723_parser___ReduceAction723___init(); /*new ReduceAction723*/
2126 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[727]) /*AbstractArray::add*/;
2127 variable[728] = NEW_ReduceAction724_parser___ReduceAction724___init(); /*new ReduceAction724*/
2128 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[728]) /*AbstractArray::add*/;
2129 variable[729] = NEW_ReduceAction725_parser___ReduceAction725___init(); /*new ReduceAction725*/
2130 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[729]) /*AbstractArray::add*/;
2131 variable[730] = NEW_ReduceAction726_parser___ReduceAction726___init(); /*new ReduceAction726*/
2132 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[730]) /*AbstractArray::add*/;
2133 variable[731] = NEW_ReduceAction727_parser___ReduceAction727___init(); /*new ReduceAction727*/
2134 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[731]) /*AbstractArray::add*/;
2135 variable[732] = NEW_ReduceAction728_parser___ReduceAction728___init(); /*new ReduceAction728*/
2136 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[732]) /*AbstractArray::add*/;
2137 variable[733] = NEW_ReduceAction729_parser___ReduceAction729___init(); /*new ReduceAction729*/
2138 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[733]) /*AbstractArray::add*/;
2139 variable[734] = NEW_ReduceAction730_parser___ReduceAction730___init(); /*new ReduceAction730*/
2140 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[734]) /*AbstractArray::add*/;
2141 variable[735] = NEW_ReduceAction731_parser___ReduceAction731___init(); /*new ReduceAction731*/
2142 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[735]) /*AbstractArray::add*/;
2143 variable[736] = NEW_ReduceAction732_parser___ReduceAction732___init(); /*new ReduceAction732*/
2144 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[736]) /*AbstractArray::add*/;
2145 variable[737] = NEW_ReduceAction733_parser___ReduceAction733___init(); /*new ReduceAction733*/
2146 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[737]) /*AbstractArray::add*/;
2147 variable[738] = NEW_ReduceAction734_parser___ReduceAction734___init(); /*new ReduceAction734*/
2148 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[738]) /*AbstractArray::add*/;
2149 variable[739] = NEW_ReduceAction735_parser___ReduceAction735___init(); /*new ReduceAction735*/
2150 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[739]) /*AbstractArray::add*/;
2151 variable[740] = NEW_ReduceAction736_parser___ReduceAction736___init(); /*new ReduceAction736*/
2152 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[740]) /*AbstractArray::add*/;
2153 variable[741] = NEW_ReduceAction737_parser___ReduceAction737___init(); /*new ReduceAction737*/
2154 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[741]) /*AbstractArray::add*/;
2155 variable[742] = NEW_ReduceAction738_parser___ReduceAction738___init(); /*new ReduceAction738*/
2156 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[742]) /*AbstractArray::add*/;
2157 variable[743] = NEW_ReduceAction739_parser___ReduceAction739___init(); /*new ReduceAction739*/
2158 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[743]) /*AbstractArray::add*/;
2159 variable[744] = NEW_ReduceAction740_parser___ReduceAction740___init(); /*new ReduceAction740*/
2160 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[744]) /*AbstractArray::add*/;
2161 variable[745] = NEW_ReduceAction741_parser___ReduceAction741___init(); /*new ReduceAction741*/
2162 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[745]) /*AbstractArray::add*/;
2163 variable[746] = NEW_ReduceAction742_parser___ReduceAction742___init(); /*new ReduceAction742*/
2164 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[746]) /*AbstractArray::add*/;
2165 variable[747] = NEW_ReduceAction743_parser___ReduceAction743___init(); /*new ReduceAction743*/
2166 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[747]) /*AbstractArray::add*/;
2167 variable[748] = NEW_ReduceAction744_parser___ReduceAction744___init(); /*new ReduceAction744*/
2168 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[748]) /*AbstractArray::add*/;
2169 variable[749] = NEW_ReduceAction745_parser___ReduceAction745___init(); /*new ReduceAction745*/
2170 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[749]) /*AbstractArray::add*/;
2171 variable[750] = NEW_ReduceAction746_parser___ReduceAction746___init(); /*new ReduceAction746*/
2172 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[750]) /*AbstractArray::add*/;
2173 variable[751] = NEW_ReduceAction747_parser___ReduceAction747___init(); /*new ReduceAction747*/
2174 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[751]) /*AbstractArray::add*/;
2175 variable[752] = NEW_ReduceAction748_parser___ReduceAction748___init(); /*new ReduceAction748*/
2176 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[752]) /*AbstractArray::add*/;
2177 variable[753] = NEW_ReduceAction749_parser___ReduceAction749___init(); /*new ReduceAction749*/
2178 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[753]) /*AbstractArray::add*/;
2179 variable[754] = NEW_ReduceAction750_parser___ReduceAction750___init(); /*new ReduceAction750*/
2180 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[754]) /*AbstractArray::add*/;
2181 variable[755] = NEW_ReduceAction751_parser___ReduceAction751___init(); /*new ReduceAction751*/
2182 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[755]) /*AbstractArray::add*/;
2183 variable[756] = NEW_ReduceAction752_parser___ReduceAction752___init(); /*new ReduceAction752*/
2184 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[756]) /*AbstractArray::add*/;
2185 variable[757] = NEW_ReduceAction753_parser___ReduceAction753___init(); /*new ReduceAction753*/
2186 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[757]) /*AbstractArray::add*/;
2187 variable[758] = NEW_ReduceAction754_parser___ReduceAction754___init(); /*new ReduceAction754*/
2188 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[758]) /*AbstractArray::add*/;
2189 variable[759] = NEW_ReduceAction755_parser___ReduceAction755___init(); /*new ReduceAction755*/
2190 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[759]) /*AbstractArray::add*/;
2191 variable[760] = NEW_ReduceAction756_parser___ReduceAction756___init(); /*new ReduceAction756*/
2192 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[760]) /*AbstractArray::add*/;
2193 variable[761] = NEW_ReduceAction757_parser___ReduceAction757___init(); /*new ReduceAction757*/
2194 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[761]) /*AbstractArray::add*/;
2195 variable[762] = NEW_ReduceAction758_parser___ReduceAction758___init(); /*new ReduceAction758*/
2196 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[762]) /*AbstractArray::add*/;
2197 variable[763] = NEW_ReduceAction759_parser___ReduceAction759___init(); /*new ReduceAction759*/
2198 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[763]) /*AbstractArray::add*/;
2199 variable[764] = NEW_ReduceAction760_parser___ReduceAction760___init(); /*new ReduceAction760*/
2200 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[764]) /*AbstractArray::add*/;
2201 variable[765] = NEW_ReduceAction761_parser___ReduceAction761___init(); /*new ReduceAction761*/
2202 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[765]) /*AbstractArray::add*/;
2203 variable[766] = NEW_ReduceAction762_parser___ReduceAction762___init(); /*new ReduceAction762*/
2204 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[766]) /*AbstractArray::add*/;
2205 variable[767] = NEW_ReduceAction763_parser___ReduceAction763___init(); /*new ReduceAction763*/
2206 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[767]) /*AbstractArray::add*/;
2207 variable[768] = NEW_ReduceAction764_parser___ReduceAction764___init(); /*new ReduceAction764*/
2208 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[768]) /*AbstractArray::add*/;
2209 variable[769] = NEW_ReduceAction765_parser___ReduceAction765___init(); /*new ReduceAction765*/
2210 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[769]) /*AbstractArray::add*/;
2211 variable[770] = NEW_ReduceAction766_parser___ReduceAction766___init(); /*new ReduceAction766*/
2212 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[770]) /*AbstractArray::add*/;
2213 variable[771] = NEW_ReduceAction767_parser___ReduceAction767___init(); /*new ReduceAction767*/
2214 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[771]) /*AbstractArray::add*/;
2215 variable[772] = NEW_ReduceAction768_parser___ReduceAction768___init(); /*new ReduceAction768*/
2216 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[772]) /*AbstractArray::add*/;
2217 variable[773] = NEW_ReduceAction769_parser___ReduceAction769___init(); /*new ReduceAction769*/
2218 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[773]) /*AbstractArray::add*/;
2219 variable[774] = NEW_ReduceAction770_parser___ReduceAction770___init(); /*new ReduceAction770*/
2220 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[774]) /*AbstractArray::add*/;
2221 variable[775] = NEW_ReduceAction771_parser___ReduceAction771___init(); /*new ReduceAction771*/
2222 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[775]) /*AbstractArray::add*/;
2223 variable[776] = NEW_ReduceAction772_parser___ReduceAction772___init(); /*new ReduceAction772*/
2224 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[776]) /*AbstractArray::add*/;
2225 variable[777] = NEW_ReduceAction773_parser___ReduceAction773___init(); /*new ReduceAction773*/
2226 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[777]) /*AbstractArray::add*/;
2227 variable[778] = NEW_ReduceAction774_parser___ReduceAction774___init(); /*new ReduceAction774*/
2228 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[778]) /*AbstractArray::add*/;
2229 variable[779] = NEW_ReduceAction775_parser___ReduceAction775___init(); /*new ReduceAction775*/
2230 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[779]) /*AbstractArray::add*/;
2231 variable[780] = NEW_ReduceAction776_parser___ReduceAction776___init(); /*new ReduceAction776*/
2232 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[780]) /*AbstractArray::add*/;
2233 variable[781] = NEW_ReduceAction777_parser___ReduceAction777___init(); /*new ReduceAction777*/
2234 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[781]) /*AbstractArray::add*/;
2235 variable[782] = NEW_ReduceAction778_parser___ReduceAction778___init(); /*new ReduceAction778*/
2236 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[782]) /*AbstractArray::add*/;
2237 variable[783] = NEW_ReduceAction779_parser___ReduceAction779___init(); /*new ReduceAction779*/
2238 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[783]) /*AbstractArray::add*/;
2239 variable[784] = NEW_ReduceAction780_parser___ReduceAction780___init(); /*new ReduceAction780*/
2240 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[784]) /*AbstractArray::add*/;
2241 variable[785] = NEW_ReduceAction781_parser___ReduceAction781___init(); /*new ReduceAction781*/
2242 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[785]) /*AbstractArray::add*/;
2243 variable[786] = NEW_ReduceAction782_parser___ReduceAction782___init(); /*new ReduceAction782*/
2244 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[786]) /*AbstractArray::add*/;
2245 variable[787] = NEW_ReduceAction783_parser___ReduceAction783___init(); /*new ReduceAction783*/
2246 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[787]) /*AbstractArray::add*/;
2247 variable[788] = NEW_ReduceAction784_parser___ReduceAction784___init(); /*new ReduceAction784*/
2248 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[788]) /*AbstractArray::add*/;
2249 variable[789] = NEW_ReduceAction785_parser___ReduceAction785___init(); /*new ReduceAction785*/
2250 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[789]) /*AbstractArray::add*/;
2251 variable[790] = NEW_ReduceAction786_parser___ReduceAction786___init(); /*new ReduceAction786*/
2252 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[790]) /*AbstractArray::add*/;
2253 variable[791] = NEW_ReduceAction787_parser___ReduceAction787___init(); /*new ReduceAction787*/
2254 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[791]) /*AbstractArray::add*/;
2255 variable[792] = NEW_ReduceAction788_parser___ReduceAction788___init(); /*new ReduceAction788*/
2256 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[792]) /*AbstractArray::add*/;
2257 variable[793] = NEW_ReduceAction789_parser___ReduceAction789___init(); /*new ReduceAction789*/
2258 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[793]) /*AbstractArray::add*/;
2259 variable[794] = NEW_ReduceAction790_parser___ReduceAction790___init(); /*new ReduceAction790*/
2260 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[794]) /*AbstractArray::add*/;
2261 variable[795] = NEW_ReduceAction791_parser___ReduceAction791___init(); /*new ReduceAction791*/
2262 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[795]) /*AbstractArray::add*/;
2263 variable[796] = NEW_ReduceAction792_parser___ReduceAction792___init(); /*new ReduceAction792*/
2264 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[796]) /*AbstractArray::add*/;
2265 variable[797] = NEW_ReduceAction793_parser___ReduceAction793___init(); /*new ReduceAction793*/
2266 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[797]) /*AbstractArray::add*/;
2267 variable[798] = NEW_ReduceAction794_parser___ReduceAction794___init(); /*new ReduceAction794*/
2268 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[798]) /*AbstractArray::add*/;
2269 variable[799] = NEW_ReduceAction795_parser___ReduceAction795___init(); /*new ReduceAction795*/
2270 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[799]) /*AbstractArray::add*/;
2271 variable[800] = NEW_ReduceAction796_parser___ReduceAction796___init(); /*new ReduceAction796*/
2272 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[800]) /*AbstractArray::add*/;
2273 variable[801] = NEW_ReduceAction797_parser___ReduceAction797___init(); /*new ReduceAction797*/
2274 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[801]) /*AbstractArray::add*/;
2275 variable[802] = NEW_ReduceAction798_parser___ReduceAction798___init(); /*new ReduceAction798*/
2276 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[802]) /*AbstractArray::add*/;
2277 variable[803] = NEW_ReduceAction799_parser___ReduceAction799___init(); /*new ReduceAction799*/
2278 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[803]) /*AbstractArray::add*/;
2279 variable[804] = NEW_ReduceAction800_parser___ReduceAction800___init(); /*new ReduceAction800*/
2280 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[804]) /*AbstractArray::add*/;
2281 variable[805] = NEW_ReduceAction801_parser___ReduceAction801___init(); /*new ReduceAction801*/
2282 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[805]) /*AbstractArray::add*/;
2283 variable[806] = NEW_ReduceAction802_parser___ReduceAction802___init(); /*new ReduceAction802*/
2284 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[806]) /*AbstractArray::add*/;
2285 variable[807] = NEW_ReduceAction803_parser___ReduceAction803___init(); /*new ReduceAction803*/
2286 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[807]) /*AbstractArray::add*/;
2287 variable[808] = NEW_ReduceAction804_parser___ReduceAction804___init(); /*new ReduceAction804*/
2288 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[808]) /*AbstractArray::add*/;
2289 variable[809] = NEW_ReduceAction805_parser___ReduceAction805___init(); /*new ReduceAction805*/
2290 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[809]) /*AbstractArray::add*/;
2291 variable[810] = NEW_ReduceAction806_parser___ReduceAction806___init(); /*new ReduceAction806*/
2292 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[810]) /*AbstractArray::add*/;
2293 variable[811] = NEW_ReduceAction807_parser___ReduceAction807___init(); /*new ReduceAction807*/
2294 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[811]) /*AbstractArray::add*/;
2295 variable[812] = NEW_ReduceAction808_parser___ReduceAction808___init(); /*new ReduceAction808*/
2296 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[812]) /*AbstractArray::add*/;
2297 variable[813] = NEW_ReduceAction809_parser___ReduceAction809___init(); /*new ReduceAction809*/
2298 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[813]) /*AbstractArray::add*/;
2299 variable[814] = NEW_ReduceAction810_parser___ReduceAction810___init(); /*new ReduceAction810*/
2300 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[814]) /*AbstractArray::add*/;
2301 variable[815] = NEW_ReduceAction811_parser___ReduceAction811___init(); /*new ReduceAction811*/
2302 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[815]) /*AbstractArray::add*/;
2303 variable[816] = NEW_ReduceAction812_parser___ReduceAction812___init(); /*new ReduceAction812*/
2304 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[816]) /*AbstractArray::add*/;
2305 variable[817] = NEW_ReduceAction813_parser___ReduceAction813___init(); /*new ReduceAction813*/
2306 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[817]) /*AbstractArray::add*/;
2307 variable[818] = NEW_ReduceAction814_parser___ReduceAction814___init(); /*new ReduceAction814*/
2308 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[818]) /*AbstractArray::add*/;
2309 variable[819] = NEW_ReduceAction815_parser___ReduceAction815___init(); /*new ReduceAction815*/
2310 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[819]) /*AbstractArray::add*/;
2311 variable[820] = NEW_ReduceAction816_parser___ReduceAction816___init(); /*new ReduceAction816*/
2312 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[820]) /*AbstractArray::add*/;
2313 variable[821] = NEW_ReduceAction817_parser___ReduceAction817___init(); /*new ReduceAction817*/
2314 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[821]) /*AbstractArray::add*/;
2315 variable[822] = NEW_ReduceAction818_parser___ReduceAction818___init(); /*new ReduceAction818*/
2316 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[822]) /*AbstractArray::add*/;
2317 variable[823] = NEW_ReduceAction819_parser___ReduceAction819___init(); /*new ReduceAction819*/
2318 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[823]) /*AbstractArray::add*/;
2319 variable[824] = NEW_ReduceAction820_parser___ReduceAction820___init(); /*new ReduceAction820*/
2320 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[824]) /*AbstractArray::add*/;
2321 variable[825] = NEW_ReduceAction821_parser___ReduceAction821___init(); /*new ReduceAction821*/
2322 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[825]) /*AbstractArray::add*/;
2323 variable[826] = NEW_ReduceAction822_parser___ReduceAction822___init(); /*new ReduceAction822*/
2324 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[826]) /*AbstractArray::add*/;
2325 variable[827] = NEW_ReduceAction823_parser___ReduceAction823___init(); /*new ReduceAction823*/
2326 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[827]) /*AbstractArray::add*/;
2327 variable[828] = NEW_ReduceAction824_parser___ReduceAction824___init(); /*new ReduceAction824*/
2328 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[828]) /*AbstractArray::add*/;
2329 variable[4] = NEW_Array_array___Array___with_items(variable[3]); /*new Array[ReduceAction]*/
2330 variable[3] = variable[4];
2331 ATTR_parser___Parser____reduce_table(variable[2]) /*Parser::_reduce_table*/ = variable[3];
2332 return_label28: while(false);
2333 tracehead = trace.prev;
2334 return;
2335 }
2336 void parser___SearchTokensVisitor___visit(val_t self, val_t param0) {
2337 struct trace_t trace = {NULL, NULL, 996, LOCATE_parser___SearchTokensVisitor___visit};
2338 val_t variable[6];
2339 void **closurevariable = NULL;
2340 trace.prev = tracehead; tracehead = &trace;
2341 trace.file = LOCATE_parser;
2342 variable[0] = self;
2343 variable[1] = param0;
2344 variable[3] = TAG_Bool(( variable[1] /*n*/==NIT_NULL) || VAL_ISA( variable[1] /*n*/, COLOR_Token, ID_Token)) /*cast Token*/;
2345 if (UNTAG_Bool(variable[3])) { /*if*/
2346 variable[3] = TAG_Bool(( variable[1] /*n*/==NIT_NULL) || VAL_ISA( variable[1] /*n*/, COLOR_Token, ID_Token)) /*cast Token*/;
2347 if (!UNTAG_Bool(variable[3])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___SearchTokensVisitor___visit, LOCATE_parser, 999); nit_exit(1);}
2348 variable[3] = variable[0];
2349 ATTR_parser___SearchTokensVisitor____last_token(variable[3]) /*SearchTokensVisitor::_last_token*/ = variable[1] /*n*/;
2350 variable[3] = variable[0];
2351 variable[3] = ATTR_parser___SearchTokensVisitor____untokenned_nodes(variable[3]) /*SearchTokensVisitor::_untokenned_nodes*/;
2352 variable[3] = ((array___AbstractArray___iterator_t)CALL(variable[3],COLOR_abstract_collection___Collection___iterator))(variable[3]) /*AbstractArray::iterator*/;
2353 while (true) { /*for*/
2354 variable[4] = ((array___ArrayIterator___is_ok_t)CALL(variable[3],COLOR_abstract_collection___Iterator___is_ok))(variable[3]) /*ArrayIterator::is_ok*/;
2355 if (!UNTAG_Bool(variable[4])) break; /*for*/
2356 variable[4] = ((array___ArrayIterator___item_t)CALL(variable[3],COLOR_abstract_collection___Iterator___item))(variable[3]) /*ArrayIterator::item*/;
2357 variable[5] = variable[4];
2358 ((parser_prod___Prod___first_token__eq_t)CALL( variable[5] /*no*/,COLOR_parser_prod___Prod___first_token__eq))( variable[5] /*no*/, variable[1] /*n*/) /*Prod::first_token=*/;
2359 continue_30: while(0);
2360 ((array___ArrayIterator___next_t)CALL(variable[3],COLOR_abstract_collection___Iterator___next))(variable[3]) /*ArrayIterator::next*/;
2361 }
2362 break_30: while(0);
2363 variable[3] = variable[0];
2364 variable[3] = ATTR_parser___SearchTokensVisitor____untokenned_nodes(variable[3]) /*SearchTokensVisitor::_untokenned_nodes*/;
2365 ((array___AbstractArray___clear_t)CALL(variable[3],COLOR_abstract_collection___RemovableCollection___clear))(variable[3]) /*AbstractArray::clear*/;
2366 } else { /*if*/
2367 variable[3] = TAG_Bool(( variable[1] /*n*/==NIT_NULL) || VAL_ISA( variable[1] /*n*/, COLOR_Prod, ID_Prod)) /*cast Prod*/;
2368 if (!UNTAG_Bool(variable[3])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___SearchTokensVisitor___visit, LOCATE_parser, 1006); nit_exit(1);}
2369 variable[3] = variable[0];
2370 variable[3] = ATTR_parser___SearchTokensVisitor____untokenned_nodes(variable[3]) /*SearchTokensVisitor::_untokenned_nodes*/;
2371 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[1] /*n*/) /*AbstractArray::add*/;
2372 variable[3] = variable[0];
2373 ((parser_prod___PNode___visit_all_t)CALL( variable[1] /*n*/,COLOR_parser_prod___PNode___visit_all))( variable[1] /*n*/, variable[3]) /*PNode::visit_all*/;
2374 variable[3] = variable[0];
2375 variable[3] = ATTR_parser___SearchTokensVisitor____last_token(variable[3]) /*SearchTokensVisitor::_last_token*/;
2376 ((parser_prod___Prod___last_token__eq_t)CALL( variable[1] /*n*/,COLOR_parser_prod___Prod___last_token__eq))( variable[1] /*n*/, variable[3]) /*Prod::last_token=*/;
2377 }
2378 return_label29: while(false);
2379 tracehead = trace.prev;
2380 return;
2381 }
2382 void parser___SearchTokensVisitor___init(val_t self, int* init_table) {
2383 struct trace_t trace = {NULL, NULL, 1012, LOCATE_parser___SearchTokensVisitor___init};
2384 val_t variable[4];
2385 void **closurevariable = NULL;
2386 trace.prev = tracehead; tracehead = &trace;
2387 trace.file = LOCATE_parser;
2388 variable[0] = self;
2389 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_SearchTokensVisitor].i]) return;
2390 variable[2] = variable[0];
2391 variable[3] = NEW_Array_array___Array___init(); /*new Array[Prod]*/
2392 ATTR_parser___SearchTokensVisitor____untokenned_nodes(variable[2]) /*SearchTokensVisitor::_untokenned_nodes*/ = variable[3];
2393 return_label31: while(false);
2394 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_SearchTokensVisitor].i] = 1;
2395 tracehead = trace.prev;
2396 return;
2397 }
2398 void parser___ReduceAction___action(val_t self, val_t param0) {
2399 struct trace_t trace = {NULL, NULL, 1020, LOCATE_parser___ReduceAction___action};
2400 val_t *variable = NULL;
2401 void **closurevariable = NULL;
2402 trace.prev = tracehead; tracehead = &trace;
2403 trace.file = LOCATE_parser;
2404 fprintf(stderr, "Deferred method called");
2405 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1020);
2406 nit_exit(1);
2407 tracehead = trace.prev;
2408 return;
2409 }
2410 void parser___ReduceAction___init(val_t self, int* init_table) {
2411 struct trace_t trace = {NULL, NULL, 0, LOCATE_parser___ReduceAction___init};
2412 val_t *variable = NULL;
2413 void **closurevariable = NULL;
2414 trace.prev = tracehead; tracehead = &trace;
2415 trace.file = LOCATE_parser;
2416 tracehead = trace.prev;
2417 return;
2418 }
2419 void parser___ReduceAction0___action(val_t self, val_t param0) {
2420 struct trace_t trace = {NULL, NULL, 1025, LOCATE_parser___ReduceAction0___action};
2421 val_t variable[8];
2422 void **closurevariable = NULL;
2423 trace.prev = tracehead; tracehead = &trace;
2424 trace.file = LOCATE_parser;
2425 variable[0] = self;
2426 variable[1] = param0;
2427 variable[3] = NIT_NULL /*null*/;
2428 variable[5] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2429 variable[4] = variable[5];
2430 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2431 variable[5] = variable[6];
2432 variable[7] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[4] /*listnode3*/, variable[5] /*listnode4*/); /*new AModule*/
2433 variable[6] = variable[7];
2434 variable[3] = variable[6] /*pmodulenode1*/ /*node_list=*/;
2435 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
2436 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
2437 return_label32: while(false);
2438 tracehead = trace.prev;
2439 return;
2440 }
2441 void parser___ReduceAction0___init(val_t self, int* init_table) {
2442 struct trace_t trace = {NULL, NULL, 1038, LOCATE_parser___ReduceAction0___init};
2443 val_t variable[2];
2444 void **closurevariable = NULL;
2445 trace.prev = tracehead; tracehead = &trace;
2446 trace.file = LOCATE_parser;
2447 variable[0] = self;
2448 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction0].i]) return;
2449 return_label33: while(false);
2450 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction0].i] = 1;
2451 tracehead = trace.prev;
2452 return;
2453 }
2454 void parser___ReduceAction1___action(val_t self, val_t param0) {
2455 struct trace_t trace = {NULL, NULL, 1042, LOCATE_parser___ReduceAction1___action};
2456 val_t variable[10];
2457 void **closurevariable = NULL;
2458 trace.prev = tracehead; tracehead = &trace;
2459 trace.file = LOCATE_parser;
2460 variable[0] = self;
2461 variable[1] = param0;
2462 variable[3] = NIT_NULL /*null*/;
2463 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
2464 variable[4] = variable[5];
2465 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2466 variable[5] = variable[6];
2467 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2468 variable[6] = variable[7];
2469 variable[7] = variable[4] /*nodearraylist1*/;
2470 variable[8] = TAG_Bool(( variable[7] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[7] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
2471 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction1___action, LOCATE_parser, 1049); nit_exit(1);}
2472 variable[9] = NEW_AModule_parser_prod___AModule___init_amodule( variable[7] /*ppackagedeclnode2*/, variable[5] /*listnode3*/, variable[6] /*listnode4*/); /*new AModule*/
2473 variable[8] = variable[9];
2474 variable[3] = variable[8] /*pmodulenode1*/ /*node_list=*/;
2475 variable[9] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
2476 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
2477 return_label34: while(false);
2478 tracehead = trace.prev;
2479 return;
2480 }
2481 void parser___ReduceAction1___init(val_t self, int* init_table) {
2482 struct trace_t trace = {NULL, NULL, 1058, LOCATE_parser___ReduceAction1___init};
2483 val_t variable[2];
2484 void **closurevariable = NULL;
2485 trace.prev = tracehead; tracehead = &trace;
2486 trace.file = LOCATE_parser;
2487 variable[0] = self;
2488 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction1].i]) return;
2489 return_label35: while(false);
2490 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction1].i] = 1;
2491 tracehead = trace.prev;
2492 return;
2493 }
2494 void parser___ReduceAction2___action(val_t self, val_t param0) {
2495 struct trace_t trace = {NULL, NULL, 1062, LOCATE_parser___ReduceAction2___action};
2496 val_t variable[10];
2497 void **closurevariable = NULL;
2498 trace.prev = tracehead; tracehead = &trace;
2499 trace.file = LOCATE_parser;
2500 variable[0] = self;
2501 variable[1] = param0;
2502 variable[3] = NIT_NULL /*null*/;
2503 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
2504 variable[4] = variable[5];
2505 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2506 variable[5] = variable[6];
2507 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2508 variable[6] = variable[7];
2509 variable[7] = variable[4] /*nodearraylist1*/;
2510 variable[8] = TAG_Bool(( variable[7] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
2511 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction2___action, LOCATE_parser, 1069); nit_exit(1);}
2512 variable[8] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[7] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[7] /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[7] /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[7] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[7] /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable[7] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2513 if (UNTAG_Bool(variable[8])) { /*if*/
2514 variable[8] = ((array___AbstractArray___is_empty_t)CALL( variable[5] /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable[5] /*listnode4*/) /*AbstractArray::is_empty*/;
2515 if (UNTAG_Bool(variable[8])) { /*if*/
2516 variable[5] = variable[7] /*listnode3*/ /*listnode4=*/;
2517 } else { /*if*/
2518 ((abstract_collection___IndexedCollection___append_t)CALL( variable[5] /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable[5] /*listnode4*/, variable[7] /*listnode3*/) /*IndexedCollection::append*/;
2519 }
2520 }
2521 variable[9] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[5] /*listnode4*/, variable[6] /*listnode5*/); /*new AModule*/
2522 variable[8] = variable[9];
2523 variable[3] = variable[8] /*pmodulenode1*/ /*node_list=*/;
2524 variable[9] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
2525 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
2526 return_label36: while(false);
2527 tracehead = trace.prev;
2528 return;
2529 }
2530 void parser___ReduceAction2___init(val_t self, int* init_table) {
2531 struct trace_t trace = {NULL, NULL, 1085, LOCATE_parser___ReduceAction2___init};
2532 val_t variable[2];
2533 void **closurevariable = NULL;
2534 trace.prev = tracehead; tracehead = &trace;
2535 trace.file = LOCATE_parser;
2536 variable[0] = self;
2537 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction2].i]) return;
2538 return_label37: while(false);
2539 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction2].i] = 1;
2540 tracehead = trace.prev;
2541 return;
2542 }
2543 void parser___ReduceAction3___action(val_t self, val_t param0) {
2544 struct trace_t trace = {NULL, NULL, 1089, LOCATE_parser___ReduceAction3___action};
2545 val_t variable[12];
2546 void **closurevariable = NULL;
2547 trace.prev = tracehead; tracehead = &trace;
2548 trace.file = LOCATE_parser;
2549 variable[0] = self;
2550 variable[1] = param0;
2551 variable[3] = NIT_NULL /*null*/;
2552 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
2553 variable[4] = variable[5];
2554 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
2555 variable[5] = variable[6];
2556 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2557 variable[6] = variable[7];
2558 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2559 variable[7] = variable[8];
2560 variable[8] = variable[5] /*nodearraylist1*/;
2561 variable[9] = TAG_Bool(( variable[8] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
2562 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction3___action, LOCATE_parser, 1097); nit_exit(1);}
2563 variable[9] = variable[4] /*nodearraylist2*/;
2564 variable[10] = TAG_Bool(( variable[9] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
2565 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction3___action, LOCATE_parser, 1099); nit_exit(1);}
2566 variable[10] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[9] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[9] /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[9] /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[9] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[9] /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable[9] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2567 if (UNTAG_Bool(variable[10])) { /*if*/
2568 variable[10] = ((array___AbstractArray___is_empty_t)CALL( variable[6] /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable[6] /*listnode4*/) /*AbstractArray::is_empty*/;
2569 if (UNTAG_Bool(variable[10])) { /*if*/
2570 variable[6] = variable[9] /*listnode3*/ /*listnode4=*/;
2571 } else { /*if*/
2572 ((abstract_collection___IndexedCollection___append_t)CALL( variable[6] /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable[6] /*listnode4*/, variable[9] /*listnode3*/) /*IndexedCollection::append*/;
2573 }
2574 }
2575 variable[11] = NEW_AModule_parser_prod___AModule___init_amodule( variable[8] /*ppackagedeclnode2*/, variable[6] /*listnode4*/, variable[7] /*listnode5*/); /*new AModule*/
2576 variable[10] = variable[11];
2577 variable[3] = variable[10] /*pmodulenode1*/ /*node_list=*/;
2578 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
2579 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
2580 return_label38: while(false);
2581 tracehead = trace.prev;
2582 return;
2583 }
2584 void parser___ReduceAction3___init(val_t self, int* init_table) {
2585 struct trace_t trace = {NULL, NULL, 1115, LOCATE_parser___ReduceAction3___init};
2586 val_t variable[2];
2587 void **closurevariable = NULL;
2588 trace.prev = tracehead; tracehead = &trace;
2589 trace.file = LOCATE_parser;
2590 variable[0] = self;
2591 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction3].i]) return;
2592 return_label39: while(false);
2593 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction3].i] = 1;
2594 tracehead = trace.prev;
2595 return;
2596 }
2597 void parser___ReduceAction4___action(val_t self, val_t param0) {
2598 struct trace_t trace = {NULL, NULL, 1119, LOCATE_parser___ReduceAction4___action};
2599 val_t variable[10];
2600 void **closurevariable = NULL;
2601 trace.prev = tracehead; tracehead = &trace;
2602 trace.file = LOCATE_parser;
2603 variable[0] = self;
2604 variable[1] = param0;
2605 variable[3] = NIT_NULL /*null*/;
2606 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
2607 variable[4] = variable[5];
2608 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2609 variable[5] = variable[6];
2610 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2611 variable[6] = variable[7];
2612 variable[7] = variable[4] /*nodearraylist1*/;
2613 variable[8] = TAG_Bool(( variable[7] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
2614 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction4___action, LOCATE_parser, 1126); nit_exit(1);}
2615 variable[8] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[7] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[7] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[7] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[7] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[7] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[7] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2616 if (UNTAG_Bool(variable[8])) { /*if*/
2617 variable[8] = ((array___AbstractArray___is_empty_t)CALL( variable[6] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[6] /*listnode5*/) /*AbstractArray::is_empty*/;
2618 if (UNTAG_Bool(variable[8])) { /*if*/
2619 variable[6] = variable[7] /*listnode4*/ /*listnode5=*/;
2620 } else { /*if*/
2621 ((abstract_collection___IndexedCollection___append_t)CALL( variable[6] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[6] /*listnode5*/, variable[7] /*listnode4*/) /*IndexedCollection::append*/;
2622 }
2623 }
2624 variable[9] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[5] /*listnode3*/, variable[6] /*listnode5*/); /*new AModule*/
2625 variable[8] = variable[9];
2626 variable[3] = variable[8] /*pmodulenode1*/ /*node_list=*/;
2627 variable[9] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
2628 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
2629 return_label40: while(false);
2630 tracehead = trace.prev;
2631 return;
2632 }
2633 void parser___ReduceAction4___init(val_t self, int* init_table) {
2634 struct trace_t trace = {NULL, NULL, 1142, LOCATE_parser___ReduceAction4___init};
2635 val_t variable[2];
2636 void **closurevariable = NULL;
2637 trace.prev = tracehead; tracehead = &trace;
2638 trace.file = LOCATE_parser;
2639 variable[0] = self;
2640 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction4].i]) return;
2641 return_label41: while(false);
2642 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction4].i] = 1;
2643 tracehead = trace.prev;
2644 return;
2645 }
2646 void parser___ReduceAction5___action(val_t self, val_t param0) {
2647 struct trace_t trace = {NULL, NULL, 1146, LOCATE_parser___ReduceAction5___action};
2648 val_t variable[12];
2649 void **closurevariable = NULL;
2650 trace.prev = tracehead; tracehead = &trace;
2651 trace.file = LOCATE_parser;
2652 variable[0] = self;
2653 variable[1] = param0;
2654 variable[3] = NIT_NULL /*null*/;
2655 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
2656 variable[4] = variable[5];
2657 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
2658 variable[5] = variable[6];
2659 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2660 variable[6] = variable[7];
2661 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2662 variable[7] = variable[8];
2663 variable[8] = variable[5] /*nodearraylist1*/;
2664 variable[9] = TAG_Bool(( variable[8] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
2665 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction5___action, LOCATE_parser, 1154); nit_exit(1);}
2666 variable[9] = variable[4] /*nodearraylist2*/;
2667 variable[10] = TAG_Bool(( variable[9] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[9] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
2668 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction5___action, LOCATE_parser, 1156); nit_exit(1);}
2669 variable[10] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[9] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[9] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[9] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[9] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[9] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[9] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2670 if (UNTAG_Bool(variable[10])) { /*if*/
2671 variable[10] = ((array___AbstractArray___is_empty_t)CALL( variable[7] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[7] /*listnode5*/) /*AbstractArray::is_empty*/;
2672 if (UNTAG_Bool(variable[10])) { /*if*/
2673 variable[7] = variable[9] /*listnode4*/ /*listnode5=*/;
2674 } else { /*if*/
2675 ((abstract_collection___IndexedCollection___append_t)CALL( variable[7] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[7] /*listnode5*/, variable[9] /*listnode4*/) /*IndexedCollection::append*/;
2676 }
2677 }
2678 variable[11] = NEW_AModule_parser_prod___AModule___init_amodule( variable[8] /*ppackagedeclnode2*/, variable[6] /*listnode3*/, variable[7] /*listnode5*/); /*new AModule*/
2679 variable[10] = variable[11];
2680 variable[3] = variable[10] /*pmodulenode1*/ /*node_list=*/;
2681 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
2682 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
2683 return_label42: while(false);
2684 tracehead = trace.prev;
2685 return;
2686 }
2687 void parser___ReduceAction5___init(val_t self, int* init_table) {
2688 struct trace_t trace = {NULL, NULL, 1172, LOCATE_parser___ReduceAction5___init};
2689 val_t variable[2];
2690 void **closurevariable = NULL;
2691 trace.prev = tracehead; tracehead = &trace;
2692 trace.file = LOCATE_parser;
2693 variable[0] = self;
2694 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction5].i]) return;
2695 return_label43: while(false);
2696 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction5].i] = 1;
2697 tracehead = trace.prev;
2698 return;
2699 }
2700 void parser___ReduceAction6___action(val_t self, val_t param0) {
2701 struct trace_t trace = {NULL, NULL, 1176, LOCATE_parser___ReduceAction6___action};
2702 val_t variable[12];
2703 void **closurevariable = NULL;
2704 trace.prev = tracehead; tracehead = &trace;
2705 trace.file = LOCATE_parser;
2706 variable[0] = self;
2707 variable[1] = param0;
2708 variable[3] = NIT_NULL /*null*/;
2709 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
2710 variable[4] = variable[5];
2711 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
2712 variable[5] = variable[6];
2713 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2714 variable[6] = variable[7];
2715 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2716 variable[7] = variable[8];
2717 variable[8] = variable[5] /*nodearraylist1*/;
2718 variable[9] = TAG_Bool(( variable[8] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
2719 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction6___action, LOCATE_parser, 1184); nit_exit(1);}
2720 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[8] /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[8] /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[8] /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable[8] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2721 if (UNTAG_Bool(variable[9])) { /*if*/
2722 variable[9] = ((array___AbstractArray___is_empty_t)CALL( variable[6] /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable[6] /*listnode4*/) /*AbstractArray::is_empty*/;
2723 if (UNTAG_Bool(variable[9])) { /*if*/
2724 variable[6] = variable[8] /*listnode3*/ /*listnode4=*/;
2725 } else { /*if*/
2726 ((abstract_collection___IndexedCollection___append_t)CALL( variable[6] /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable[6] /*listnode4*/, variable[8] /*listnode3*/) /*IndexedCollection::append*/;
2727 }
2728 }
2729 variable[9] = variable[4] /*nodearraylist2*/;
2730 variable[10] = TAG_Bool(( variable[9] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[9] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
2731 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction6___action, LOCATE_parser, 1193); nit_exit(1);}
2732 variable[10] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[9] /*listnode5*/ == NIT_NULL /*null*/) || (( variable[9] /*listnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[9] /*listnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[9] /*listnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[9] /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable[9] /*listnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2733 if (UNTAG_Bool(variable[10])) { /*if*/
2734 variable[10] = ((array___AbstractArray___is_empty_t)CALL( variable[7] /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable[7] /*listnode6*/) /*AbstractArray::is_empty*/;
2735 if (UNTAG_Bool(variable[10])) { /*if*/
2736 variable[7] = variable[9] /*listnode5*/ /*listnode6=*/;
2737 } else { /*if*/
2738 ((abstract_collection___IndexedCollection___append_t)CALL( variable[7] /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable[7] /*listnode6*/, variable[9] /*listnode5*/) /*IndexedCollection::append*/;
2739 }
2740 }
2741 variable[11] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[6] /*listnode4*/, variable[7] /*listnode6*/); /*new AModule*/
2742 variable[10] = variable[11];
2743 variable[3] = variable[10] /*pmodulenode1*/ /*node_list=*/;
2744 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
2745 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
2746 return_label44: while(false);
2747 tracehead = trace.prev;
2748 return;
2749 }
2750 void parser___ReduceAction6___init(val_t self, int* init_table) {
2751 struct trace_t trace = {NULL, NULL, 1209, LOCATE_parser___ReduceAction6___init};
2752 val_t variable[2];
2753 void **closurevariable = NULL;
2754 trace.prev = tracehead; tracehead = &trace;
2755 trace.file = LOCATE_parser;
2756 variable[0] = self;
2757 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction6].i]) return;
2758 return_label45: while(false);
2759 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction6].i] = 1;
2760 tracehead = trace.prev;
2761 return;
2762 }
2763 void parser___ReduceAction7___action(val_t self, val_t param0) {
2764 struct trace_t trace = {NULL, NULL, 1213, LOCATE_parser___ReduceAction7___action};
2765 val_t variable[14];
2766 void **closurevariable = NULL;
2767 trace.prev = tracehead; tracehead = &trace;
2768 trace.file = LOCATE_parser;
2769 variable[0] = self;
2770 variable[1] = param0;
2771 variable[3] = NIT_NULL /*null*/;
2772 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
2773 variable[4] = variable[5];
2774 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
2775 variable[5] = variable[6];
2776 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
2777 variable[6] = variable[7];
2778 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2779 variable[7] = variable[8];
2780 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2781 variable[8] = variable[9];
2782 variable[9] = variable[6] /*nodearraylist1*/;
2783 variable[10] = TAG_Bool(( variable[9] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
2784 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction7___action, LOCATE_parser, 1222); nit_exit(1);}
2785 variable[10] = variable[5] /*nodearraylist2*/;
2786 variable[11] = TAG_Bool(( variable[10] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
2787 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction7___action, LOCATE_parser, 1224); nit_exit(1);}
2788 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable[10] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2789 if (UNTAG_Bool(variable[11])) { /*if*/
2790 variable[11] = ((array___AbstractArray___is_empty_t)CALL( variable[7] /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable[7] /*listnode4*/) /*AbstractArray::is_empty*/;
2791 if (UNTAG_Bool(variable[11])) { /*if*/
2792 variable[7] = variable[10] /*listnode3*/ /*listnode4=*/;
2793 } else { /*if*/
2794 ((abstract_collection___IndexedCollection___append_t)CALL( variable[7] /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable[7] /*listnode4*/, variable[10] /*listnode3*/) /*IndexedCollection::append*/;
2795 }
2796 }
2797 variable[11] = variable[4] /*nodearraylist3*/;
2798 variable[12] = TAG_Bool(( variable[11] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
2799 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction7___action, LOCATE_parser, 1233); nit_exit(1);}
2800 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode5*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable[11] /*listnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2801 if (UNTAG_Bool(variable[12])) { /*if*/
2802 variable[12] = ((array___AbstractArray___is_empty_t)CALL( variable[8] /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable[8] /*listnode6*/) /*AbstractArray::is_empty*/;
2803 if (UNTAG_Bool(variable[12])) { /*if*/
2804 variable[8] = variable[11] /*listnode5*/ /*listnode6=*/;
2805 } else { /*if*/
2806 ((abstract_collection___IndexedCollection___append_t)CALL( variable[8] /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable[8] /*listnode6*/, variable[11] /*listnode5*/) /*IndexedCollection::append*/;
2807 }
2808 }
2809 variable[13] = NEW_AModule_parser_prod___AModule___init_amodule( variable[9] /*ppackagedeclnode2*/, variable[7] /*listnode4*/, variable[8] /*listnode6*/); /*new AModule*/
2810 variable[12] = variable[13];
2811 variable[3] = variable[12] /*pmodulenode1*/ /*node_list=*/;
2812 variable[13] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
2813 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
2814 return_label46: while(false);
2815 tracehead = trace.prev;
2816 return;
2817 }
2818 void parser___ReduceAction7___init(val_t self, int* init_table) {
2819 struct trace_t trace = {NULL, NULL, 1249, LOCATE_parser___ReduceAction7___init};
2820 val_t variable[2];
2821 void **closurevariable = NULL;
2822 trace.prev = tracehead; tracehead = &trace;
2823 trace.file = LOCATE_parser;
2824 variable[0] = self;
2825 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction7].i]) return;
2826 return_label47: while(false);
2827 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction7].i] = 1;
2828 tracehead = trace.prev;
2829 return;
2830 }
2831 void parser___ReduceAction8___action(val_t self, val_t param0) {
2832 struct trace_t trace = {NULL, NULL, 1253, LOCATE_parser___ReduceAction8___action};
2833 val_t variable[13];
2834 void **closurevariable = NULL;
2835 trace.prev = tracehead; tracehead = &trace;
2836 trace.file = LOCATE_parser;
2837 variable[0] = self;
2838 variable[1] = param0;
2839 variable[3] = NIT_NULL /*null*/;
2840 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
2841 variable[4] = variable[5];
2842 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
2843 variable[5] = variable[6];
2844 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2845 variable[6] = variable[7];
2846 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2847 variable[7] = variable[8];
2848 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2849 variable[8] = variable[9];
2850 variable[9] = variable[5] /*nodearraylist1*/;
2851 variable[10] = TAG_Bool(( variable[9] /*ppropdefnode5*/==NIT_NULL) || VAL_ISA( variable[9] /*ppropdefnode5*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
2852 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction8___action, LOCATE_parser, 1262); nit_exit(1);}
2853 variable[10] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[9] /*ppropdefnode5*/ == NIT_NULL /*null*/) || (( variable[9] /*ppropdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[9] /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[9] /*ppropdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[9] /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))( variable[9] /*ppropdefnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2854 if (UNTAG_Bool(variable[10])) { /*if*/
2855 ((array___AbstractArray___add_t)CALL( variable[8] /*listnode6*/,COLOR_abstract_collection___SimpleCollection___add))( variable[8] /*listnode6*/, variable[9] /*ppropdefnode5*/) /*AbstractArray::add*/;
2856 }
2857 variable[11] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[8] /*listnode6*/); /*new ATopClassdef*/
2858 variable[10] = variable[11];
2859 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*pclassdefnode4*/ == NIT_NULL /*null*/) || (( variable[10] /*pclassdefnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[10] /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*pclassdefnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[10] /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))( variable[10] /*pclassdefnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2860 if (UNTAG_Bool(variable[11])) { /*if*/
2861 ((array___AbstractArray___add_t)CALL( variable[7] /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable[7] /*listnode7*/, variable[10] /*pclassdefnode4*/) /*AbstractArray::add*/;
2862 }
2863 variable[12] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[6] /*listnode3*/, variable[7] /*listnode7*/); /*new AModule*/
2864 variable[11] = variable[12];
2865 variable[3] = variable[11] /*pmodulenode1*/ /*node_list=*/;
2866 variable[12] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
2867 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
2868 return_label48: while(false);
2869 tracehead = trace.prev;
2870 return;
2871 }
2872 void parser___ReduceAction8___init(val_t self, int* init_table) {
2873 struct trace_t trace = {NULL, NULL, 1280, LOCATE_parser___ReduceAction8___init};
2874 val_t variable[2];
2875 void **closurevariable = NULL;
2876 trace.prev = tracehead; tracehead = &trace;
2877 trace.file = LOCATE_parser;
2878 variable[0] = self;
2879 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction8].i]) return;
2880 return_label49: while(false);
2881 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction8].i] = 1;
2882 tracehead = trace.prev;
2883 return;
2884 }
2885 void parser___ReduceAction9___action(val_t self, val_t param0) {
2886 struct trace_t trace = {NULL, NULL, 1284, LOCATE_parser___ReduceAction9___action};
2887 val_t variable[15];
2888 void **closurevariable = NULL;
2889 trace.prev = tracehead; tracehead = &trace;
2890 trace.file = LOCATE_parser;
2891 variable[0] = self;
2892 variable[1] = param0;
2893 variable[3] = NIT_NULL /*null*/;
2894 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
2895 variable[4] = variable[5];
2896 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
2897 variable[5] = variable[6];
2898 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
2899 variable[6] = variable[7];
2900 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2901 variable[7] = variable[8];
2902 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2903 variable[8] = variable[9];
2904 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2905 variable[9] = variable[10];
2906 variable[10] = variable[6] /*nodearraylist1*/;
2907 variable[11] = TAG_Bool(( variable[10] /*ppropdefnode5*/==NIT_NULL) || VAL_ISA( variable[10] /*ppropdefnode5*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
2908 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction9___action, LOCATE_parser, 1294); nit_exit(1);}
2909 variable[11] = variable[4] /*nodearraylist3*/;
2910 variable[12] = TAG_Bool(( variable[11] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
2911 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction9___action, LOCATE_parser, 1296); nit_exit(1);}
2912 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*ppropdefnode5*/ == NIT_NULL /*null*/) || (( variable[10] /*ppropdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[10] /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*ppropdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[10] /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))( variable[10] /*ppropdefnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2913 if (UNTAG_Bool(variable[12])) { /*if*/
2914 ((array___AbstractArray___add_t)CALL( variable[9] /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable[9] /*listnode7*/, variable[10] /*ppropdefnode5*/) /*AbstractArray::add*/;
2915 }
2916 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode6*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode6*/,COLOR_kernel___Object_____eqeq))( variable[11] /*listnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2917 if (UNTAG_Bool(variable[12])) { /*if*/
2918 variable[12] = ((array___AbstractArray___is_empty_t)CALL( variable[9] /*listnode7*/,COLOR_abstract_collection___Collection___is_empty))( variable[9] /*listnode7*/) /*AbstractArray::is_empty*/;
2919 if (UNTAG_Bool(variable[12])) { /*if*/
2920 variable[9] = variable[11] /*listnode6*/ /*listnode7=*/;
2921 } else { /*if*/
2922 ((abstract_collection___IndexedCollection___append_t)CALL( variable[9] /*listnode7*/,COLOR_abstract_collection___IndexedCollection___append))( variable[9] /*listnode7*/, variable[11] /*listnode6*/) /*IndexedCollection::append*/;
2923 }
2924 }
2925 variable[13] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[9] /*listnode7*/); /*new ATopClassdef*/
2926 variable[12] = variable[13];
2927 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*pclassdefnode4*/ == NIT_NULL /*null*/) || (( variable[12] /*pclassdefnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[12] /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*pclassdefnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[12] /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))( variable[12] /*pclassdefnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2928 if (UNTAG_Bool(variable[13])) { /*if*/
2929 ((array___AbstractArray___add_t)CALL( variable[8] /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable[8] /*listnode8*/, variable[12] /*pclassdefnode4*/) /*AbstractArray::add*/;
2930 }
2931 variable[14] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[7] /*listnode3*/, variable[8] /*listnode8*/); /*new AModule*/
2932 variable[13] = variable[14];
2933 variable[3] = variable[13] /*pmodulenode1*/ /*node_list=*/;
2934 variable[14] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
2935 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
2936 return_label50: while(false);
2937 tracehead = trace.prev;
2938 return;
2939 }
2940 void parser___ReduceAction9___init(val_t self, int* init_table) {
2941 struct trace_t trace = {NULL, NULL, 1321, LOCATE_parser___ReduceAction9___init};
2942 val_t variable[2];
2943 void **closurevariable = NULL;
2944 trace.prev = tracehead; tracehead = &trace;
2945 trace.file = LOCATE_parser;
2946 variable[0] = self;
2947 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction9].i]) return;
2948 return_label51: while(false);
2949 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction9].i] = 1;
2950 tracehead = trace.prev;
2951 return;
2952 }
2953 void parser___ReduceAction10___action(val_t self, val_t param0) {
2954 struct trace_t trace = {NULL, NULL, 1325, LOCATE_parser___ReduceAction10___action};
2955 val_t variable[15];
2956 void **closurevariable = NULL;
2957 trace.prev = tracehead; tracehead = &trace;
2958 trace.file = LOCATE_parser;
2959 variable[0] = self;
2960 variable[1] = param0;
2961 variable[3] = NIT_NULL /*null*/;
2962 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
2963 variable[4] = variable[5];
2964 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
2965 variable[5] = variable[6];
2966 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
2967 variable[6] = variable[7];
2968 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2969 variable[7] = variable[8];
2970 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2971 variable[8] = variable[9];
2972 variable[9] = variable[6] /*nodearraylist1*/;
2973 variable[10] = TAG_Bool(( variable[9] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
2974 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction10___action, LOCATE_parser, 1334); nit_exit(1);}
2975 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
2976 variable[10] = variable[11];
2977 variable[11] = variable[5] /*nodearraylist2*/;
2978 variable[12] = TAG_Bool(( variable[11] /*ppropdefnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*ppropdefnode5*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
2979 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction10___action, LOCATE_parser, 1337); nit_exit(1);}
2980 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*ppropdefnode5*/ == NIT_NULL /*null*/) || (( variable[11] /*ppropdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[11] /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*ppropdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[11] /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))( variable[11] /*ppropdefnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2981 if (UNTAG_Bool(variable[12])) { /*if*/
2982 ((array___AbstractArray___add_t)CALL( variable[10] /*listnode6*/,COLOR_abstract_collection___SimpleCollection___add))( variable[10] /*listnode6*/, variable[11] /*ppropdefnode5*/) /*AbstractArray::add*/;
2983 }
2984 variable[13] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[10] /*listnode6*/); /*new ATopClassdef*/
2985 variable[12] = variable[13];
2986 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*pclassdefnode4*/ == NIT_NULL /*null*/) || (( variable[12] /*pclassdefnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[12] /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*pclassdefnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[12] /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))( variable[12] /*pclassdefnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2987 if (UNTAG_Bool(variable[13])) { /*if*/
2988 ((array___AbstractArray___add_t)CALL( variable[8] /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable[8] /*listnode7*/, variable[12] /*pclassdefnode4*/) /*AbstractArray::add*/;
2989 }
2990 variable[14] = NEW_AModule_parser_prod___AModule___init_amodule( variable[9] /*ppackagedeclnode2*/, variable[7] /*listnode3*/, variable[8] /*listnode7*/); /*new AModule*/
2991 variable[13] = variable[14];
2992 variable[3] = variable[13] /*pmodulenode1*/ /*node_list=*/;
2993 variable[14] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
2994 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
2995 return_label52: while(false);
2996 tracehead = trace.prev;
2997 return;
2998 }
2999 void parser___ReduceAction10___init(val_t self, int* init_table) {
3000 struct trace_t trace = {NULL, NULL, 1355, LOCATE_parser___ReduceAction10___init};
3001 val_t variable[2];
3002 void **closurevariable = NULL;
3003 trace.prev = tracehead; tracehead = &trace;
3004 trace.file = LOCATE_parser;
3005 variable[0] = self;
3006 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction10].i]) return;
3007 return_label53: while(false);
3008 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction10].i] = 1;
3009 tracehead = trace.prev;
3010 return;
3011 }
3012 void parser___ReduceAction11___action(val_t self, val_t param0) {
3013 struct trace_t trace = {NULL, NULL, 1359, LOCATE_parser___ReduceAction11___action};
3014 val_t variable[17];
3015 void **closurevariable = NULL;
3016 trace.prev = tracehead; tracehead = &trace;
3017 trace.file = LOCATE_parser;
3018 variable[0] = self;
3019 variable[1] = param0;
3020 variable[3] = NIT_NULL /*null*/;
3021 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
3022 variable[4] = variable[5];
3023 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
3024 variable[5] = variable[6];
3025 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
3026 variable[6] = variable[7];
3027 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
3028 variable[7] = variable[8];
3029 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3030 variable[8] = variable[9];
3031 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3032 variable[9] = variable[10];
3033 variable[10] = variable[7] /*nodearraylist1*/;
3034 variable[11] = TAG_Bool(( variable[10] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
3035 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction11___action, LOCATE_parser, 1369); nit_exit(1);}
3036 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3037 variable[11] = variable[12];
3038 variable[12] = variable[6] /*nodearraylist2*/;
3039 variable[13] = TAG_Bool(( variable[12] /*ppropdefnode5*/==NIT_NULL) || VAL_ISA( variable[12] /*ppropdefnode5*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
3040 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction11___action, LOCATE_parser, 1372); nit_exit(1);}
3041 variable[13] = variable[4] /*nodearraylist4*/;
3042 variable[14] = TAG_Bool(( variable[13] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[13] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3043 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction11___action, LOCATE_parser, 1374); nit_exit(1);}
3044 variable[14] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*ppropdefnode5*/ == NIT_NULL /*null*/) || (( variable[12] /*ppropdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[12] /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*ppropdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[12] /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))( variable[12] /*ppropdefnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3045 if (UNTAG_Bool(variable[14])) { /*if*/
3046 ((array___AbstractArray___add_t)CALL( variable[11] /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable[11] /*listnode7*/, variable[12] /*ppropdefnode5*/) /*AbstractArray::add*/;
3047 }
3048 variable[14] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[13] /*listnode6*/ == NIT_NULL /*null*/) || (( variable[13] /*listnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[13] /*listnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[13] /*listnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[13] /*listnode6*/,COLOR_kernel___Object_____eqeq))( variable[13] /*listnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3049 if (UNTAG_Bool(variable[14])) { /*if*/
3050 variable[14] = ((array___AbstractArray___is_empty_t)CALL( variable[11] /*listnode7*/,COLOR_abstract_collection___Collection___is_empty))( variable[11] /*listnode7*/) /*AbstractArray::is_empty*/;
3051 if (UNTAG_Bool(variable[14])) { /*if*/
3052 variable[11] = variable[13] /*listnode6*/ /*listnode7=*/;
3053 } else { /*if*/
3054 ((abstract_collection___IndexedCollection___append_t)CALL( variable[11] /*listnode7*/,COLOR_abstract_collection___IndexedCollection___append))( variable[11] /*listnode7*/, variable[13] /*listnode6*/) /*IndexedCollection::append*/;
3055 }
3056 }
3057 variable[15] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[11] /*listnode7*/); /*new ATopClassdef*/
3058 variable[14] = variable[15];
3059 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*pclassdefnode4*/ == NIT_NULL /*null*/) || (( variable[14] /*pclassdefnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[14] /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*pclassdefnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[14] /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))( variable[14] /*pclassdefnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3060 if (UNTAG_Bool(variable[15])) { /*if*/
3061 ((array___AbstractArray___add_t)CALL( variable[9] /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable[9] /*listnode8*/, variable[14] /*pclassdefnode4*/) /*AbstractArray::add*/;
3062 }
3063 variable[16] = NEW_AModule_parser_prod___AModule___init_amodule( variable[10] /*ppackagedeclnode2*/, variable[8] /*listnode3*/, variable[9] /*listnode8*/); /*new AModule*/
3064 variable[15] = variable[16];
3065 variable[3] = variable[15] /*pmodulenode1*/ /*node_list=*/;
3066 variable[16] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
3067 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[16], variable[3] /*node_list*/) /*Parser::push*/;
3068 return_label54: while(false);
3069 tracehead = trace.prev;
3070 return;
3071 }
3072 void parser___ReduceAction11___init(val_t self, int* init_table) {
3073 struct trace_t trace = {NULL, NULL, 1399, LOCATE_parser___ReduceAction11___init};
3074 val_t variable[2];
3075 void **closurevariable = NULL;
3076 trace.prev = tracehead; tracehead = &trace;
3077 trace.file = LOCATE_parser;
3078 variable[0] = self;
3079 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction11].i]) return;
3080 return_label55: while(false);
3081 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction11].i] = 1;
3082 tracehead = trace.prev;
3083 return;
3084 }
3085 void parser___ReduceAction12___action(val_t self, val_t param0) {
3086 struct trace_t trace = {NULL, NULL, 1403, LOCATE_parser___ReduceAction12___action};
3087 val_t variable[15];
3088 void **closurevariable = NULL;
3089 trace.prev = tracehead; tracehead = &trace;
3090 trace.file = LOCATE_parser;
3091 variable[0] = self;
3092 variable[1] = param0;
3093 variable[3] = NIT_NULL /*null*/;
3094 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
3095 variable[4] = variable[5];
3096 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
3097 variable[5] = variable[6];
3098 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
3099 variable[6] = variable[7];
3100 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3101 variable[7] = variable[8];
3102 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3103 variable[8] = variable[9];
3104 variable[9] = variable[6] /*nodearraylist1*/;
3105 variable[10] = TAG_Bool(( variable[9] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3106 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction12___action, LOCATE_parser, 1412); nit_exit(1);}
3107 variable[10] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[9] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[9] /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[9] /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[9] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[9] /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable[9] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3108 if (UNTAG_Bool(variable[10])) { /*if*/
3109 variable[10] = ((array___AbstractArray___is_empty_t)CALL( variable[7] /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable[7] /*listnode4*/) /*AbstractArray::is_empty*/;
3110 if (UNTAG_Bool(variable[10])) { /*if*/
3111 variable[7] = variable[9] /*listnode3*/ /*listnode4=*/;
3112 } else { /*if*/
3113 ((abstract_collection___IndexedCollection___append_t)CALL( variable[7] /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable[7] /*listnode4*/, variable[9] /*listnode3*/) /*IndexedCollection::append*/;
3114 }
3115 }
3116 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3117 variable[10] = variable[11];
3118 variable[11] = variable[5] /*nodearraylist2*/;
3119 variable[12] = TAG_Bool(( variable[11] /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable[11] /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
3120 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction12___action, LOCATE_parser, 1422); nit_exit(1);}
3121 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable[11] /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[11] /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[11] /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable[11] /*ppropdefnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3122 if (UNTAG_Bool(variable[12])) { /*if*/
3123 ((array___AbstractArray___add_t)CALL( variable[10] /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable[10] /*listnode7*/, variable[11] /*ppropdefnode6*/) /*AbstractArray::add*/;
3124 }
3125 variable[13] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[10] /*listnode7*/); /*new ATopClassdef*/
3126 variable[12] = variable[13];
3127 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable[12] /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[12] /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[12] /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable[12] /*pclassdefnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3128 if (UNTAG_Bool(variable[13])) { /*if*/
3129 ((array___AbstractArray___add_t)CALL( variable[8] /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable[8] /*listnode8*/, variable[12] /*pclassdefnode5*/) /*AbstractArray::add*/;
3130 }
3131 variable[14] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[7] /*listnode4*/, variable[8] /*listnode8*/); /*new AModule*/
3132 variable[13] = variable[14];
3133 variable[3] = variable[13] /*pmodulenode1*/ /*node_list=*/;
3134 variable[14] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
3135 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
3136 return_label56: while(false);
3137 tracehead = trace.prev;
3138 return;
3139 }
3140 void parser___ReduceAction12___init(val_t self, int* init_table) {
3141 struct trace_t trace = {NULL, NULL, 1440, LOCATE_parser___ReduceAction12___init};
3142 val_t variable[2];
3143 void **closurevariable = NULL;
3144 trace.prev = tracehead; tracehead = &trace;
3145 trace.file = LOCATE_parser;
3146 variable[0] = self;
3147 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction12].i]) return;
3148 return_label57: while(false);
3149 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction12].i] = 1;
3150 tracehead = trace.prev;
3151 return;
3152 }
3153 void parser___ReduceAction13___action(val_t self, val_t param0) {
3154 struct trace_t trace = {NULL, NULL, 1444, LOCATE_parser___ReduceAction13___action};
3155 val_t variable[17];
3156 void **closurevariable = NULL;
3157 trace.prev = tracehead; tracehead = &trace;
3158 trace.file = LOCATE_parser;
3159 variable[0] = self;
3160 variable[1] = param0;
3161 variable[3] = NIT_NULL /*null*/;
3162 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
3163 variable[4] = variable[5];
3164 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
3165 variable[5] = variable[6];
3166 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
3167 variable[6] = variable[7];
3168 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
3169 variable[7] = variable[8];
3170 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3171 variable[8] = variable[9];
3172 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3173 variable[9] = variable[10];
3174 variable[10] = variable[7] /*nodearraylist1*/;
3175 variable[11] = TAG_Bool(( variable[10] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3176 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction13___action, LOCATE_parser, 1454); nit_exit(1);}
3177 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable[10] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3178 if (UNTAG_Bool(variable[11])) { /*if*/
3179 variable[11] = ((array___AbstractArray___is_empty_t)CALL( variable[8] /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable[8] /*listnode4*/) /*AbstractArray::is_empty*/;
3180 if (UNTAG_Bool(variable[11])) { /*if*/
3181 variable[8] = variable[10] /*listnode3*/ /*listnode4=*/;
3182 } else { /*if*/
3183 ((abstract_collection___IndexedCollection___append_t)CALL( variable[8] /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable[8] /*listnode4*/, variable[10] /*listnode3*/) /*IndexedCollection::append*/;
3184 }
3185 }
3186 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3187 variable[11] = variable[12];
3188 variable[12] = variable[6] /*nodearraylist2*/;
3189 variable[13] = TAG_Bool(( variable[12] /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
3190 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction13___action, LOCATE_parser, 1464); nit_exit(1);}
3191 variable[13] = variable[4] /*nodearraylist4*/;
3192 variable[14] = TAG_Bool(( variable[13] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[13] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3193 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction13___action, LOCATE_parser, 1466); nit_exit(1);}
3194 variable[14] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable[12] /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[12] /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[12] /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable[12] /*ppropdefnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3195 if (UNTAG_Bool(variable[14])) { /*if*/
3196 ((array___AbstractArray___add_t)CALL( variable[11] /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable[11] /*listnode8*/, variable[12] /*ppropdefnode6*/) /*AbstractArray::add*/;
3197 }
3198 variable[14] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[13] /*listnode7*/ == NIT_NULL /*null*/) || (( variable[13] /*listnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[13] /*listnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[13] /*listnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[13] /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable[13] /*listnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3199 if (UNTAG_Bool(variable[14])) { /*if*/
3200 variable[14] = ((array___AbstractArray___is_empty_t)CALL( variable[11] /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable[11] /*listnode8*/) /*AbstractArray::is_empty*/;
3201 if (UNTAG_Bool(variable[14])) { /*if*/
3202 variable[11] = variable[13] /*listnode7*/ /*listnode8=*/;
3203 } else { /*if*/
3204 ((abstract_collection___IndexedCollection___append_t)CALL( variable[11] /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable[11] /*listnode8*/, variable[13] /*listnode7*/) /*IndexedCollection::append*/;
3205 }
3206 }
3207 variable[15] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[11] /*listnode8*/); /*new ATopClassdef*/
3208 variable[14] = variable[15];
3209 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable[14] /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[14] /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[14] /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable[14] /*pclassdefnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3210 if (UNTAG_Bool(variable[15])) { /*if*/
3211 ((array___AbstractArray___add_t)CALL( variable[9] /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable[9] /*listnode9*/, variable[14] /*pclassdefnode5*/) /*AbstractArray::add*/;
3212 }
3213 variable[16] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[8] /*listnode4*/, variable[9] /*listnode9*/); /*new AModule*/
3214 variable[15] = variable[16];
3215 variable[3] = variable[15] /*pmodulenode1*/ /*node_list=*/;
3216 variable[16] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
3217 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[16], variable[3] /*node_list*/) /*Parser::push*/;
3218 return_label58: while(false);
3219 tracehead = trace.prev;
3220 return;
3221 }
3222 void parser___ReduceAction13___init(val_t self, int* init_table) {
3223 struct trace_t trace = {NULL, NULL, 1491, LOCATE_parser___ReduceAction13___init};
3224 val_t variable[2];
3225 void **closurevariable = NULL;
3226 trace.prev = tracehead; tracehead = &trace;
3227 trace.file = LOCATE_parser;
3228 variable[0] = self;
3229 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction13].i]) return;
3230 return_label59: while(false);
3231 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction13].i] = 1;
3232 tracehead = trace.prev;
3233 return;
3234 }
3235 void parser___ReduceAction14___action(val_t self, val_t param0) {
3236 struct trace_t trace = {NULL, NULL, 1495, LOCATE_parser___ReduceAction14___action};
3237 val_t variable[17];
3238 void **closurevariable = NULL;
3239 trace.prev = tracehead; tracehead = &trace;
3240 trace.file = LOCATE_parser;
3241 variable[0] = self;
3242 variable[1] = param0;
3243 variable[3] = NIT_NULL /*null*/;
3244 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
3245 variable[4] = variable[5];
3246 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
3247 variable[5] = variable[6];
3248 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
3249 variable[6] = variable[7];
3250 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
3251 variable[7] = variable[8];
3252 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3253 variable[8] = variable[9];
3254 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3255 variable[9] = variable[10];
3256 variable[10] = variable[7] /*nodearraylist1*/;
3257 variable[11] = TAG_Bool(( variable[10] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
3258 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction14___action, LOCATE_parser, 1505); nit_exit(1);}
3259 variable[11] = variable[6] /*nodearraylist2*/;
3260 variable[12] = TAG_Bool(( variable[11] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3261 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction14___action, LOCATE_parser, 1507); nit_exit(1);}
3262 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable[11] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3263 if (UNTAG_Bool(variable[12])) { /*if*/
3264 variable[12] = ((array___AbstractArray___is_empty_t)CALL( variable[8] /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable[8] /*listnode4*/) /*AbstractArray::is_empty*/;
3265 if (UNTAG_Bool(variable[12])) { /*if*/
3266 variable[8] = variable[11] /*listnode3*/ /*listnode4=*/;
3267 } else { /*if*/
3268 ((abstract_collection___IndexedCollection___append_t)CALL( variable[8] /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable[8] /*listnode4*/, variable[11] /*listnode3*/) /*IndexedCollection::append*/;
3269 }
3270 }
3271 variable[13] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3272 variable[12] = variable[13];
3273 variable[13] = variable[5] /*nodearraylist3*/;
3274 variable[14] = TAG_Bool(( variable[13] /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable[13] /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
3275 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction14___action, LOCATE_parser, 1517); nit_exit(1);}
3276 variable[14] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[13] /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable[13] /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[13] /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[13] /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[13] /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable[13] /*ppropdefnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3277 if (UNTAG_Bool(variable[14])) { /*if*/
3278 ((array___AbstractArray___add_t)CALL( variable[12] /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable[12] /*listnode7*/, variable[13] /*ppropdefnode6*/) /*AbstractArray::add*/;
3279 }
3280 variable[15] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[12] /*listnode7*/); /*new ATopClassdef*/
3281 variable[14] = variable[15];
3282 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable[14] /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[14] /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[14] /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable[14] /*pclassdefnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3283 if (UNTAG_Bool(variable[15])) { /*if*/
3284 ((array___AbstractArray___add_t)CALL( variable[9] /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable[9] /*listnode8*/, variable[14] /*pclassdefnode5*/) /*AbstractArray::add*/;
3285 }
3286 variable[16] = NEW_AModule_parser_prod___AModule___init_amodule( variable[10] /*ppackagedeclnode2*/, variable[8] /*listnode4*/, variable[9] /*listnode8*/); /*new AModule*/
3287 variable[15] = variable[16];
3288 variable[3] = variable[15] /*pmodulenode1*/ /*node_list=*/;
3289 variable[16] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
3290 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[16], variable[3] /*node_list*/) /*Parser::push*/;
3291 return_label60: while(false);
3292 tracehead = trace.prev;
3293 return;
3294 }
3295 void parser___ReduceAction14___init(val_t self, int* init_table) {
3296 struct trace_t trace = {NULL, NULL, 1535, LOCATE_parser___ReduceAction14___init};
3297 val_t variable[2];
3298 void **closurevariable = NULL;
3299 trace.prev = tracehead; tracehead = &trace;
3300 trace.file = LOCATE_parser;
3301 variable[0] = self;
3302 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction14].i]) return;
3303 return_label61: while(false);
3304 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction14].i] = 1;
3305 tracehead = trace.prev;
3306 return;
3307 }
3308 void parser___ReduceAction15___action(val_t self, val_t param0) {
3309 struct trace_t trace = {NULL, NULL, 1539, LOCATE_parser___ReduceAction15___action};
3310 val_t variable[19];
3311 void **closurevariable = NULL;
3312 trace.prev = tracehead; tracehead = &trace;
3313 trace.file = LOCATE_parser;
3314 variable[0] = self;
3315 variable[1] = param0;
3316 variable[3] = NIT_NULL /*null*/;
3317 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
3318 variable[4] = variable[5];
3319 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
3320 variable[5] = variable[6];
3321 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
3322 variable[6] = variable[7];
3323 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
3324 variable[7] = variable[8];
3325 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
3326 variable[8] = variable[9];
3327 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3328 variable[9] = variable[10];
3329 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3330 variable[10] = variable[11];
3331 variable[11] = variable[8] /*nodearraylist1*/;
3332 variable[12] = TAG_Bool(( variable[11] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
3333 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction15___action, LOCATE_parser, 1550); nit_exit(1);}
3334 variable[12] = variable[7] /*nodearraylist2*/;
3335 variable[13] = TAG_Bool(( variable[12] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3336 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction15___action, LOCATE_parser, 1552); nit_exit(1);}
3337 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable[12] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3338 if (UNTAG_Bool(variable[13])) { /*if*/
3339 variable[13] = ((array___AbstractArray___is_empty_t)CALL( variable[9] /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable[9] /*listnode4*/) /*AbstractArray::is_empty*/;
3340 if (UNTAG_Bool(variable[13])) { /*if*/
3341 variable[9] = variable[12] /*listnode3*/ /*listnode4=*/;
3342 } else { /*if*/
3343 ((abstract_collection___IndexedCollection___append_t)CALL( variable[9] /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable[9] /*listnode4*/, variable[12] /*listnode3*/) /*IndexedCollection::append*/;
3344 }
3345 }
3346 variable[14] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3347 variable[13] = variable[14];
3348 variable[14] = variable[6] /*nodearraylist3*/;
3349 variable[15] = TAG_Bool(( variable[14] /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable[14] /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
3350 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction15___action, LOCATE_parser, 1562); nit_exit(1);}
3351 variable[15] = variable[4] /*nodearraylist5*/;
3352 variable[16] = TAG_Bool(( variable[15] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[15] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3353 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction15___action, LOCATE_parser, 1564); nit_exit(1);}
3354 variable[16] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable[14] /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[14] /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[14] /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable[14] /*ppropdefnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3355 if (UNTAG_Bool(variable[16])) { /*if*/
3356 ((array___AbstractArray___add_t)CALL( variable[13] /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable[13] /*listnode8*/, variable[14] /*ppropdefnode6*/) /*AbstractArray::add*/;
3357 }
3358 variable[16] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*listnode7*/ == NIT_NULL /*null*/) || (( variable[15] /*listnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[15] /*listnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*listnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[15] /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable[15] /*listnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3359 if (UNTAG_Bool(variable[16])) { /*if*/
3360 variable[16] = ((array___AbstractArray___is_empty_t)CALL( variable[13] /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable[13] /*listnode8*/) /*AbstractArray::is_empty*/;
3361 if (UNTAG_Bool(variable[16])) { /*if*/
3362 variable[13] = variable[15] /*listnode7*/ /*listnode8=*/;
3363 } else { /*if*/
3364 ((abstract_collection___IndexedCollection___append_t)CALL( variable[13] /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable[13] /*listnode8*/, variable[15] /*listnode7*/) /*IndexedCollection::append*/;
3365 }
3366 }
3367 variable[17] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[13] /*listnode8*/); /*new ATopClassdef*/
3368 variable[16] = variable[17];
3369 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[16] /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable[16] /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[16] /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[16] /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[16] /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable[16] /*pclassdefnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3370 if (UNTAG_Bool(variable[17])) { /*if*/
3371 ((array___AbstractArray___add_t)CALL( variable[10] /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable[10] /*listnode9*/, variable[16] /*pclassdefnode5*/) /*AbstractArray::add*/;
3372 }
3373 variable[18] = NEW_AModule_parser_prod___AModule___init_amodule( variable[11] /*ppackagedeclnode2*/, variable[9] /*listnode4*/, variable[10] /*listnode9*/); /*new AModule*/
3374 variable[17] = variable[18];
3375 variable[3] = variable[17] /*pmodulenode1*/ /*node_list=*/;
3376 variable[18] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
3377 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
3378 return_label62: while(false);
3379 tracehead = trace.prev;
3380 return;
3381 }
3382 void parser___ReduceAction15___init(val_t self, int* init_table) {
3383 struct trace_t trace = {NULL, NULL, 1589, LOCATE_parser___ReduceAction15___init};
3384 val_t variable[2];
3385 void **closurevariable = NULL;
3386 trace.prev = tracehead; tracehead = &trace;
3387 trace.file = LOCATE_parser;
3388 variable[0] = self;
3389 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction15].i]) return;
3390 return_label63: while(false);
3391 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction15].i] = 1;
3392 tracehead = trace.prev;
3393 return;
3394 }
3395 void parser___ReduceAction16___action(val_t self, val_t param0) {
3396 struct trace_t trace = {NULL, NULL, 1593, LOCATE_parser___ReduceAction16___action};
3397 val_t variable[15];
3398 void **closurevariable = NULL;
3399 trace.prev = tracehead; tracehead = &trace;
3400 trace.file = LOCATE_parser;
3401 variable[0] = self;
3402 variable[1] = param0;
3403 variable[3] = NIT_NULL /*null*/;
3404 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
3405 variable[4] = variable[5];
3406 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
3407 variable[5] = variable[6];
3408 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
3409 variable[6] = variable[7];
3410 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3411 variable[7] = variable[8];
3412 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3413 variable[8] = variable[9];
3414 variable[9] = variable[6] /*nodearraylist1*/;
3415 variable[10] = TAG_Bool(( variable[9] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[9] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3416 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction16___action, LOCATE_parser, 1602); nit_exit(1);}
3417 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3418 variable[10] = variable[11];
3419 variable[11] = variable[5] /*nodearraylist2*/;
3420 variable[12] = TAG_Bool(( variable[11] /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable[11] /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
3421 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction16___action, LOCATE_parser, 1605); nit_exit(1);}
3422 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable[11] /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[11] /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[11] /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable[11] /*ppropdefnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3423 if (UNTAG_Bool(variable[12])) { /*if*/
3424 ((array___AbstractArray___add_t)CALL( variable[10] /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable[10] /*listnode7*/, variable[11] /*ppropdefnode6*/) /*AbstractArray::add*/;
3425 }
3426 variable[13] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[10] /*listnode7*/); /*new ATopClassdef*/
3427 variable[12] = variable[13];
3428 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[9] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[9] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[9] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[9] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[9] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[9] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3429 if (UNTAG_Bool(variable[13])) { /*if*/
3430 variable[13] = ((array___AbstractArray___is_empty_t)CALL( variable[8] /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable[8] /*listnode8*/) /*AbstractArray::is_empty*/;
3431 if (UNTAG_Bool(variable[13])) { /*if*/
3432 variable[8] = variable[9] /*listnode4*/ /*listnode8=*/;
3433 } else { /*if*/
3434 ((abstract_collection___IndexedCollection___append_t)CALL( variable[8] /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable[8] /*listnode8*/, variable[9] /*listnode4*/) /*IndexedCollection::append*/;
3435 }
3436 }
3437 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable[12] /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[12] /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[12] /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable[12] /*pclassdefnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3438 if (UNTAG_Bool(variable[13])) { /*if*/
3439 ((array___AbstractArray___add_t)CALL( variable[8] /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable[8] /*listnode8*/, variable[12] /*pclassdefnode5*/) /*AbstractArray::add*/;
3440 }
3441 variable[14] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[7] /*listnode3*/, variable[8] /*listnode8*/); /*new AModule*/
3442 variable[13] = variable[14];
3443 variable[3] = variable[13] /*pmodulenode1*/ /*node_list=*/;
3444 variable[14] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
3445 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
3446 return_label64: while(false);
3447 tracehead = trace.prev;
3448 return;
3449 }
3450 void parser___ReduceAction16___init(val_t self, int* init_table) {
3451 struct trace_t trace = {NULL, NULL, 1630, LOCATE_parser___ReduceAction16___init};
3452 val_t variable[2];
3453 void **closurevariable = NULL;
3454 trace.prev = tracehead; tracehead = &trace;
3455 trace.file = LOCATE_parser;
3456 variable[0] = self;
3457 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction16].i]) return;
3458 return_label65: while(false);
3459 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction16].i] = 1;
3460 tracehead = trace.prev;
3461 return;
3462 }
3463 void parser___ReduceAction17___action(val_t self, val_t param0) {
3464 struct trace_t trace = {NULL, NULL, 1634, LOCATE_parser___ReduceAction17___action};
3465 val_t variable[17];
3466 void **closurevariable = NULL;
3467 trace.prev = tracehead; tracehead = &trace;
3468 trace.file = LOCATE_parser;
3469 variable[0] = self;
3470 variable[1] = param0;
3471 variable[3] = NIT_NULL /*null*/;
3472 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
3473 variable[4] = variable[5];
3474 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
3475 variable[5] = variable[6];
3476 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
3477 variable[6] = variable[7];
3478 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
3479 variable[7] = variable[8];
3480 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3481 variable[8] = variable[9];
3482 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3483 variable[9] = variable[10];
3484 variable[10] = variable[7] /*nodearraylist1*/;
3485 variable[11] = TAG_Bool(( variable[10] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3486 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction17___action, LOCATE_parser, 1644); nit_exit(1);}
3487 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3488 variable[11] = variable[12];
3489 variable[12] = variable[6] /*nodearraylist2*/;
3490 variable[13] = TAG_Bool(( variable[12] /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
3491 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction17___action, LOCATE_parser, 1647); nit_exit(1);}
3492 variable[13] = variable[4] /*nodearraylist4*/;
3493 variable[14] = TAG_Bool(( variable[13] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[13] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3494 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction17___action, LOCATE_parser, 1649); nit_exit(1);}
3495 variable[14] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable[12] /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[12] /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[12] /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable[12] /*ppropdefnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3496 if (UNTAG_Bool(variable[14])) { /*if*/
3497 ((array___AbstractArray___add_t)CALL( variable[11] /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable[11] /*listnode8*/, variable[12] /*ppropdefnode6*/) /*AbstractArray::add*/;
3498 }
3499 variable[14] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[13] /*listnode7*/ == NIT_NULL /*null*/) || (( variable[13] /*listnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[13] /*listnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[13] /*listnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[13] /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable[13] /*listnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3500 if (UNTAG_Bool(variable[14])) { /*if*/
3501 variable[14] = ((array___AbstractArray___is_empty_t)CALL( variable[11] /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable[11] /*listnode8*/) /*AbstractArray::is_empty*/;
3502 if (UNTAG_Bool(variable[14])) { /*if*/
3503 variable[11] = variable[13] /*listnode7*/ /*listnode8=*/;
3504 } else { /*if*/
3505 ((abstract_collection___IndexedCollection___append_t)CALL( variable[11] /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable[11] /*listnode8*/, variable[13] /*listnode7*/) /*IndexedCollection::append*/;
3506 }
3507 }
3508 variable[15] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[11] /*listnode8*/); /*new ATopClassdef*/
3509 variable[14] = variable[15];
3510 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[10] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3511 if (UNTAG_Bool(variable[15])) { /*if*/
3512 variable[15] = ((array___AbstractArray___is_empty_t)CALL( variable[9] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[9] /*listnode9*/) /*AbstractArray::is_empty*/;
3513 if (UNTAG_Bool(variable[15])) { /*if*/
3514 variable[9] = variable[10] /*listnode4*/ /*listnode9=*/;
3515 } else { /*if*/
3516 ((abstract_collection___IndexedCollection___append_t)CALL( variable[9] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[9] /*listnode9*/, variable[10] /*listnode4*/) /*IndexedCollection::append*/;
3517 }
3518 }
3519 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable[14] /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[14] /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[14] /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable[14] /*pclassdefnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3520 if (UNTAG_Bool(variable[15])) { /*if*/
3521 ((array___AbstractArray___add_t)CALL( variable[9] /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable[9] /*listnode9*/, variable[14] /*pclassdefnode5*/) /*AbstractArray::add*/;
3522 }
3523 variable[16] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[8] /*listnode3*/, variable[9] /*listnode9*/); /*new AModule*/
3524 variable[15] = variable[16];
3525 variable[3] = variable[15] /*pmodulenode1*/ /*node_list=*/;
3526 variable[16] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
3527 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[16], variable[3] /*node_list*/) /*Parser::push*/;
3528 return_label66: while(false);
3529 tracehead = trace.prev;
3530 return;
3531 }
3532 void parser___ReduceAction17___init(val_t self, int* init_table) {
3533 struct trace_t trace = {NULL, NULL, 1681, LOCATE_parser___ReduceAction17___init};
3534 val_t variable[2];
3535 void **closurevariable = NULL;
3536 trace.prev = tracehead; tracehead = &trace;
3537 trace.file = LOCATE_parser;
3538 variable[0] = self;
3539 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction17].i]) return;
3540 return_label67: while(false);
3541 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction17].i] = 1;
3542 tracehead = trace.prev;
3543 return;
3544 }
3545 void parser___ReduceAction18___action(val_t self, val_t param0) {
3546 struct trace_t trace = {NULL, NULL, 1685, LOCATE_parser___ReduceAction18___action};
3547 val_t variable[17];
3548 void **closurevariable = NULL;
3549 trace.prev = tracehead; tracehead = &trace;
3550 trace.file = LOCATE_parser;
3551 variable[0] = self;
3552 variable[1] = param0;
3553 variable[3] = NIT_NULL /*null*/;
3554 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
3555 variable[4] = variable[5];
3556 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
3557 variable[5] = variable[6];
3558 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
3559 variable[6] = variable[7];
3560 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
3561 variable[7] = variable[8];
3562 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3563 variable[8] = variable[9];
3564 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3565 variable[9] = variable[10];
3566 variable[10] = variable[7] /*nodearraylist1*/;
3567 variable[11] = TAG_Bool(( variable[10] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
3568 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction18___action, LOCATE_parser, 1695); nit_exit(1);}
3569 variable[11] = variable[6] /*nodearraylist2*/;
3570 variable[12] = TAG_Bool(( variable[11] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3571 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction18___action, LOCATE_parser, 1697); nit_exit(1);}
3572 variable[13] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3573 variable[12] = variable[13];
3574 variable[13] = variable[5] /*nodearraylist3*/;
3575 variable[14] = TAG_Bool(( variable[13] /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable[13] /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
3576 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction18___action, LOCATE_parser, 1700); nit_exit(1);}
3577 variable[14] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[13] /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable[13] /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[13] /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[13] /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[13] /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable[13] /*ppropdefnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3578 if (UNTAG_Bool(variable[14])) { /*if*/
3579 ((array___AbstractArray___add_t)CALL( variable[12] /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable[12] /*listnode7*/, variable[13] /*ppropdefnode6*/) /*AbstractArray::add*/;
3580 }
3581 variable[15] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[12] /*listnode7*/); /*new ATopClassdef*/
3582 variable[14] = variable[15];
3583 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[11] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3584 if (UNTAG_Bool(variable[15])) { /*if*/
3585 variable[15] = ((array___AbstractArray___is_empty_t)CALL( variable[9] /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable[9] /*listnode8*/) /*AbstractArray::is_empty*/;
3586 if (UNTAG_Bool(variable[15])) { /*if*/
3587 variable[9] = variable[11] /*listnode4*/ /*listnode8=*/;
3588 } else { /*if*/
3589 ((abstract_collection___IndexedCollection___append_t)CALL( variable[9] /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable[9] /*listnode8*/, variable[11] /*listnode4*/) /*IndexedCollection::append*/;
3590 }
3591 }
3592 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable[14] /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[14] /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[14] /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable[14] /*pclassdefnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3593 if (UNTAG_Bool(variable[15])) { /*if*/
3594 ((array___AbstractArray___add_t)CALL( variable[9] /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable[9] /*listnode8*/, variable[14] /*pclassdefnode5*/) /*AbstractArray::add*/;
3595 }
3596 variable[16] = NEW_AModule_parser_prod___AModule___init_amodule( variable[10] /*ppackagedeclnode2*/, variable[8] /*listnode3*/, variable[9] /*listnode8*/); /*new AModule*/
3597 variable[15] = variable[16];
3598 variable[3] = variable[15] /*pmodulenode1*/ /*node_list=*/;
3599 variable[16] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
3600 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[16], variable[3] /*node_list*/) /*Parser::push*/;
3601 return_label68: while(false);
3602 tracehead = trace.prev;
3603 return;
3604 }
3605 void parser___ReduceAction18___init(val_t self, int* init_table) {
3606 struct trace_t trace = {NULL, NULL, 1725, LOCATE_parser___ReduceAction18___init};
3607 val_t variable[2];
3608 void **closurevariable = NULL;
3609 trace.prev = tracehead; tracehead = &trace;
3610 trace.file = LOCATE_parser;
3611 variable[0] = self;
3612 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction18].i]) return;
3613 return_label69: while(false);
3614 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction18].i] = 1;
3615 tracehead = trace.prev;
3616 return;
3617 }
3618 void parser___ReduceAction19___action(val_t self, val_t param0) {
3619 struct trace_t trace = {NULL, NULL, 1729, LOCATE_parser___ReduceAction19___action};
3620 val_t variable[19];
3621 void **closurevariable = NULL;
3622 trace.prev = tracehead; tracehead = &trace;
3623 trace.file = LOCATE_parser;
3624 variable[0] = self;
3625 variable[1] = param0;
3626 variable[3] = NIT_NULL /*null*/;
3627 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
3628 variable[4] = variable[5];
3629 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
3630 variable[5] = variable[6];
3631 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
3632 variable[6] = variable[7];
3633 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
3634 variable[7] = variable[8];
3635 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
3636 variable[8] = variable[9];
3637 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3638 variable[9] = variable[10];
3639 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3640 variable[10] = variable[11];
3641 variable[11] = variable[8] /*nodearraylist1*/;
3642 variable[12] = TAG_Bool(( variable[11] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
3643 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction19___action, LOCATE_parser, 1740); nit_exit(1);}
3644 variable[12] = variable[7] /*nodearraylist2*/;
3645 variable[13] = TAG_Bool(( variable[12] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3646 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction19___action, LOCATE_parser, 1742); nit_exit(1);}
3647 variable[14] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3648 variable[13] = variable[14];
3649 variable[14] = variable[6] /*nodearraylist3*/;
3650 variable[15] = TAG_Bool(( variable[14] /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable[14] /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
3651 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction19___action, LOCATE_parser, 1745); nit_exit(1);}
3652 variable[15] = variable[4] /*nodearraylist5*/;
3653 variable[16] = TAG_Bool(( variable[15] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[15] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3654 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction19___action, LOCATE_parser, 1747); nit_exit(1);}
3655 variable[16] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable[14] /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[14] /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[14] /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable[14] /*ppropdefnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3656 if (UNTAG_Bool(variable[16])) { /*if*/
3657 ((array___AbstractArray___add_t)CALL( variable[13] /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable[13] /*listnode8*/, variable[14] /*ppropdefnode6*/) /*AbstractArray::add*/;
3658 }
3659 variable[16] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*listnode7*/ == NIT_NULL /*null*/) || (( variable[15] /*listnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[15] /*listnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*listnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[15] /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable[15] /*listnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3660 if (UNTAG_Bool(variable[16])) { /*if*/
3661 variable[16] = ((array___AbstractArray___is_empty_t)CALL( variable[13] /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable[13] /*listnode8*/) /*AbstractArray::is_empty*/;
3662 if (UNTAG_Bool(variable[16])) { /*if*/
3663 variable[13] = variable[15] /*listnode7*/ /*listnode8=*/;
3664 } else { /*if*/
3665 ((abstract_collection___IndexedCollection___append_t)CALL( variable[13] /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable[13] /*listnode8*/, variable[15] /*listnode7*/) /*IndexedCollection::append*/;
3666 }
3667 }
3668 variable[17] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[13] /*listnode8*/); /*new ATopClassdef*/
3669 variable[16] = variable[17];
3670 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[12] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3671 if (UNTAG_Bool(variable[17])) { /*if*/
3672 variable[17] = ((array___AbstractArray___is_empty_t)CALL( variable[10] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[10] /*listnode9*/) /*AbstractArray::is_empty*/;
3673 if (UNTAG_Bool(variable[17])) { /*if*/
3674 variable[10] = variable[12] /*listnode4*/ /*listnode9=*/;
3675 } else { /*if*/
3676 ((abstract_collection___IndexedCollection___append_t)CALL( variable[10] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[10] /*listnode9*/, variable[12] /*listnode4*/) /*IndexedCollection::append*/;
3677 }
3678 }
3679 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[16] /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable[16] /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[16] /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[16] /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[16] /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable[16] /*pclassdefnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3680 if (UNTAG_Bool(variable[17])) { /*if*/
3681 ((array___AbstractArray___add_t)CALL( variable[10] /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable[10] /*listnode9*/, variable[16] /*pclassdefnode5*/) /*AbstractArray::add*/;
3682 }
3683 variable[18] = NEW_AModule_parser_prod___AModule___init_amodule( variable[11] /*ppackagedeclnode2*/, variable[9] /*listnode3*/, variable[10] /*listnode9*/); /*new AModule*/
3684 variable[17] = variable[18];
3685 variable[3] = variable[17] /*pmodulenode1*/ /*node_list=*/;
3686 variable[18] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
3687 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
3688 return_label70: while(false);
3689 tracehead = trace.prev;
3690 return;
3691 }
3692 void parser___ReduceAction19___init(val_t self, int* init_table) {
3693 struct trace_t trace = {NULL, NULL, 1779, LOCATE_parser___ReduceAction19___init};
3694 val_t variable[2];
3695 void **closurevariable = NULL;
3696 trace.prev = tracehead; tracehead = &trace;
3697 trace.file = LOCATE_parser;
3698 variable[0] = self;
3699 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction19].i]) return;
3700 return_label71: while(false);
3701 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction19].i] = 1;
3702 tracehead = trace.prev;
3703 return;
3704 }
3705 void parser___ReduceAction20___action(val_t self, val_t param0) {
3706 struct trace_t trace = {NULL, NULL, 1783, LOCATE_parser___ReduceAction20___action};
3707 val_t variable[17];
3708 void **closurevariable = NULL;
3709 trace.prev = tracehead; tracehead = &trace;
3710 trace.file = LOCATE_parser;
3711 variable[0] = self;
3712 variable[1] = param0;
3713 variable[3] = NIT_NULL /*null*/;
3714 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
3715 variable[4] = variable[5];
3716 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
3717 variable[5] = variable[6];
3718 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
3719 variable[6] = variable[7];
3720 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
3721 variable[7] = variable[8];
3722 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3723 variable[8] = variable[9];
3724 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3725 variable[9] = variable[10];
3726 variable[10] = variable[7] /*nodearraylist1*/;
3727 variable[11] = TAG_Bool(( variable[10] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3728 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction20___action, LOCATE_parser, 1793); nit_exit(1);}
3729 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable[10] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3730 if (UNTAG_Bool(variable[11])) { /*if*/
3731 variable[11] = ((array___AbstractArray___is_empty_t)CALL( variable[8] /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable[8] /*listnode4*/) /*AbstractArray::is_empty*/;
3732 if (UNTAG_Bool(variable[11])) { /*if*/
3733 variable[8] = variable[10] /*listnode3*/ /*listnode4=*/;
3734 } else { /*if*/
3735 ((abstract_collection___IndexedCollection___append_t)CALL( variable[8] /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable[8] /*listnode4*/, variable[10] /*listnode3*/) /*IndexedCollection::append*/;
3736 }
3737 }
3738 variable[11] = variable[6] /*nodearraylist2*/;
3739 variable[12] = TAG_Bool(( variable[11] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3740 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction20___action, LOCATE_parser, 1802); nit_exit(1);}
3741 variable[13] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3742 variable[12] = variable[13];
3743 variable[13] = variable[5] /*nodearraylist3*/;
3744 variable[14] = TAG_Bool(( variable[13] /*ppropdefnode7*/==NIT_NULL) || VAL_ISA( variable[13] /*ppropdefnode7*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
3745 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction20___action, LOCATE_parser, 1805); nit_exit(1);}
3746 variable[14] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[13] /*ppropdefnode7*/ == NIT_NULL /*null*/) || (( variable[13] /*ppropdefnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[13] /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[13] /*ppropdefnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[13] /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))( variable[13] /*ppropdefnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3747 if (UNTAG_Bool(variable[14])) { /*if*/
3748 ((array___AbstractArray___add_t)CALL( variable[12] /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable[12] /*listnode8*/, variable[13] /*ppropdefnode7*/) /*AbstractArray::add*/;
3749 }
3750 variable[15] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[12] /*listnode8*/); /*new ATopClassdef*/
3751 variable[14] = variable[15];
3752 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode5*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable[11] /*listnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3753 if (UNTAG_Bool(variable[15])) { /*if*/
3754 variable[15] = ((array___AbstractArray___is_empty_t)CALL( variable[9] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[9] /*listnode9*/) /*AbstractArray::is_empty*/;
3755 if (UNTAG_Bool(variable[15])) { /*if*/
3756 variable[9] = variable[11] /*listnode5*/ /*listnode9=*/;
3757 } else { /*if*/
3758 ((abstract_collection___IndexedCollection___append_t)CALL( variable[9] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[9] /*listnode9*/, variable[11] /*listnode5*/) /*IndexedCollection::append*/;
3759 }
3760 }
3761 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*pclassdefnode6*/ == NIT_NULL /*null*/) || (( variable[14] /*pclassdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[14] /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*pclassdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[14] /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))( variable[14] /*pclassdefnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3762 if (UNTAG_Bool(variable[15])) { /*if*/
3763 ((array___AbstractArray___add_t)CALL( variable[9] /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable[9] /*listnode9*/, variable[14] /*pclassdefnode6*/) /*AbstractArray::add*/;
3764 }
3765 variable[16] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[8] /*listnode4*/, variable[9] /*listnode9*/); /*new AModule*/
3766 variable[15] = variable[16];
3767 variable[3] = variable[15] /*pmodulenode1*/ /*node_list=*/;
3768 variable[16] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
3769 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[16], variable[3] /*node_list*/) /*Parser::push*/;
3770 return_label72: while(false);
3771 tracehead = trace.prev;
3772 return;
3773 }
3774 void parser___ReduceAction20___init(val_t self, int* init_table) {
3775 struct trace_t trace = {NULL, NULL, 1830, LOCATE_parser___ReduceAction20___init};
3776 val_t variable[2];
3777 void **closurevariable = NULL;
3778 trace.prev = tracehead; tracehead = &trace;
3779 trace.file = LOCATE_parser;
3780 variable[0] = self;
3781 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction20].i]) return;
3782 return_label73: while(false);
3783 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction20].i] = 1;
3784 tracehead = trace.prev;
3785 return;
3786 }
3787 void parser___ReduceAction21___action(val_t self, val_t param0) {
3788 struct trace_t trace = {NULL, NULL, 1834, LOCATE_parser___ReduceAction21___action};
3789 val_t variable[19];
3790 void **closurevariable = NULL;
3791 trace.prev = tracehead; tracehead = &trace;
3792 trace.file = LOCATE_parser;
3793 variable[0] = self;
3794 variable[1] = param0;
3795 variable[3] = NIT_NULL /*null*/;
3796 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
3797 variable[4] = variable[5];
3798 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
3799 variable[5] = variable[6];
3800 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
3801 variable[6] = variable[7];
3802 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
3803 variable[7] = variable[8];
3804 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
3805 variable[8] = variable[9];
3806 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3807 variable[9] = variable[10];
3808 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3809 variable[10] = variable[11];
3810 variable[11] = variable[8] /*nodearraylist1*/;
3811 variable[12] = TAG_Bool(( variable[11] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3812 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction21___action, LOCATE_parser, 1845); nit_exit(1);}
3813 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable[11] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3814 if (UNTAG_Bool(variable[12])) { /*if*/
3815 variable[12] = ((array___AbstractArray___is_empty_t)CALL( variable[9] /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable[9] /*listnode4*/) /*AbstractArray::is_empty*/;
3816 if (UNTAG_Bool(variable[12])) { /*if*/
3817 variable[9] = variable[11] /*listnode3*/ /*listnode4=*/;
3818 } else { /*if*/
3819 ((abstract_collection___IndexedCollection___append_t)CALL( variable[9] /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable[9] /*listnode4*/, variable[11] /*listnode3*/) /*IndexedCollection::append*/;
3820 }
3821 }
3822 variable[12] = variable[7] /*nodearraylist2*/;
3823 variable[13] = TAG_Bool(( variable[12] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3824 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction21___action, LOCATE_parser, 1854); nit_exit(1);}
3825 variable[14] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3826 variable[13] = variable[14];
3827 variable[14] = variable[6] /*nodearraylist3*/;
3828 variable[15] = TAG_Bool(( variable[14] /*ppropdefnode7*/==NIT_NULL) || VAL_ISA( variable[14] /*ppropdefnode7*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
3829 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction21___action, LOCATE_parser, 1857); nit_exit(1);}
3830 variable[15] = variable[4] /*nodearraylist5*/;
3831 variable[16] = TAG_Bool(( variable[15] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[15] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3832 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction21___action, LOCATE_parser, 1859); nit_exit(1);}
3833 variable[16] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*ppropdefnode7*/ == NIT_NULL /*null*/) || (( variable[14] /*ppropdefnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[14] /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*ppropdefnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[14] /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))( variable[14] /*ppropdefnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3834 if (UNTAG_Bool(variable[16])) { /*if*/
3835 ((array___AbstractArray___add_t)CALL( variable[13] /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable[13] /*listnode9*/, variable[14] /*ppropdefnode7*/) /*AbstractArray::add*/;
3836 }
3837 variable[16] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[15] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[15] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[15] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[15] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3838 if (UNTAG_Bool(variable[16])) { /*if*/
3839 variable[16] = ((array___AbstractArray___is_empty_t)CALL( variable[13] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[13] /*listnode9*/) /*AbstractArray::is_empty*/;
3840 if (UNTAG_Bool(variable[16])) { /*if*/
3841 variable[13] = variable[15] /*listnode8*/ /*listnode9=*/;
3842 } else { /*if*/
3843 ((abstract_collection___IndexedCollection___append_t)CALL( variable[13] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[13] /*listnode9*/, variable[15] /*listnode8*/) /*IndexedCollection::append*/;
3844 }
3845 }
3846 variable[17] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[13] /*listnode9*/); /*new ATopClassdef*/
3847 variable[16] = variable[17];
3848 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode5*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable[12] /*listnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3849 if (UNTAG_Bool(variable[17])) { /*if*/
3850 variable[17] = ((array___AbstractArray___is_empty_t)CALL( variable[10] /*listnode10*/,COLOR_abstract_collection___Collection___is_empty))( variable[10] /*listnode10*/) /*AbstractArray::is_empty*/;
3851 if (UNTAG_Bool(variable[17])) { /*if*/
3852 variable[10] = variable[12] /*listnode5*/ /*listnode10=*/;
3853 } else { /*if*/
3854 ((abstract_collection___IndexedCollection___append_t)CALL( variable[10] /*listnode10*/,COLOR_abstract_collection___IndexedCollection___append))( variable[10] /*listnode10*/, variable[12] /*listnode5*/) /*IndexedCollection::append*/;
3855 }
3856 }
3857 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[16] /*pclassdefnode6*/ == NIT_NULL /*null*/) || (( variable[16] /*pclassdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[16] /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[16] /*pclassdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[16] /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))( variable[16] /*pclassdefnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3858 if (UNTAG_Bool(variable[17])) { /*if*/
3859 ((array___AbstractArray___add_t)CALL( variable[10] /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable[10] /*listnode10*/, variable[16] /*pclassdefnode6*/) /*AbstractArray::add*/;
3860 }
3861 variable[18] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[9] /*listnode4*/, variable[10] /*listnode10*/); /*new AModule*/
3862 variable[17] = variable[18];
3863 variable[3] = variable[17] /*pmodulenode1*/ /*node_list=*/;
3864 variable[18] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
3865 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
3866 return_label74: while(false);
3867 tracehead = trace.prev;
3868 return;
3869 }
3870 void parser___ReduceAction21___init(val_t self, int* init_table) {
3871 struct trace_t trace = {NULL, NULL, 1891, LOCATE_parser___ReduceAction21___init};
3872 val_t variable[2];
3873 void **closurevariable = NULL;
3874 trace.prev = tracehead; tracehead = &trace;
3875 trace.file = LOCATE_parser;
3876 variable[0] = self;
3877 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction21].i]) return;
3878 return_label75: while(false);
3879 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction21].i] = 1;
3880 tracehead = trace.prev;
3881 return;
3882 }
3883 void parser___ReduceAction22___action(val_t self, val_t param0) {
3884 struct trace_t trace = {NULL, NULL, 1895, LOCATE_parser___ReduceAction22___action};
3885 val_t variable[19];
3886 void **closurevariable = NULL;
3887 trace.prev = tracehead; tracehead = &trace;
3888 trace.file = LOCATE_parser;
3889 variable[0] = self;
3890 variable[1] = param0;
3891 variable[3] = NIT_NULL /*null*/;
3892 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
3893 variable[4] = variable[5];
3894 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
3895 variable[5] = variable[6];
3896 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
3897 variable[6] = variable[7];
3898 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
3899 variable[7] = variable[8];
3900 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
3901 variable[8] = variable[9];
3902 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3903 variable[9] = variable[10];
3904 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3905 variable[10] = variable[11];
3906 variable[11] = variable[8] /*nodearraylist1*/;
3907 variable[12] = TAG_Bool(( variable[11] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
3908 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction22___action, LOCATE_parser, 1906); nit_exit(1);}
3909 variable[12] = variable[7] /*nodearraylist2*/;
3910 variable[13] = TAG_Bool(( variable[12] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3911 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction22___action, LOCATE_parser, 1908); nit_exit(1);}
3912 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable[12] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3913 if (UNTAG_Bool(variable[13])) { /*if*/
3914 variable[13] = ((array___AbstractArray___is_empty_t)CALL( variable[9] /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable[9] /*listnode4*/) /*AbstractArray::is_empty*/;
3915 if (UNTAG_Bool(variable[13])) { /*if*/
3916 variable[9] = variable[12] /*listnode3*/ /*listnode4=*/;
3917 } else { /*if*/
3918 ((abstract_collection___IndexedCollection___append_t)CALL( variable[9] /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable[9] /*listnode4*/, variable[12] /*listnode3*/) /*IndexedCollection::append*/;
3919 }
3920 }
3921 variable[13] = variable[6] /*nodearraylist3*/;
3922 variable[14] = TAG_Bool(( variable[13] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3923 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction22___action, LOCATE_parser, 1917); nit_exit(1);}
3924 variable[15] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3925 variable[14] = variable[15];
3926 variable[15] = variable[5] /*nodearraylist4*/;
3927 variable[16] = TAG_Bool(( variable[15] /*ppropdefnode7*/==NIT_NULL) || VAL_ISA( variable[15] /*ppropdefnode7*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
3928 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction22___action, LOCATE_parser, 1920); nit_exit(1);}
3929 variable[16] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*ppropdefnode7*/ == NIT_NULL /*null*/) || (( variable[15] /*ppropdefnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[15] /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*ppropdefnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[15] /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))( variable[15] /*ppropdefnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3930 if (UNTAG_Bool(variable[16])) { /*if*/
3931 ((array___AbstractArray___add_t)CALL( variable[14] /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable[14] /*listnode8*/, variable[15] /*ppropdefnode7*/) /*AbstractArray::add*/;
3932 }
3933 variable[17] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[14] /*listnode8*/); /*new ATopClassdef*/
3934 variable[16] = variable[17];
3935 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[13] /*listnode5*/ == NIT_NULL /*null*/) || (( variable[13] /*listnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[13] /*listnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[13] /*listnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[13] /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable[13] /*listnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3936 if (UNTAG_Bool(variable[17])) { /*if*/
3937 variable[17] = ((array___AbstractArray___is_empty_t)CALL( variable[10] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[10] /*listnode9*/) /*AbstractArray::is_empty*/;
3938 if (UNTAG_Bool(variable[17])) { /*if*/
3939 variable[10] = variable[13] /*listnode5*/ /*listnode9=*/;
3940 } else { /*if*/
3941 ((abstract_collection___IndexedCollection___append_t)CALL( variable[10] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[10] /*listnode9*/, variable[13] /*listnode5*/) /*IndexedCollection::append*/;
3942 }
3943 }
3944 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[16] /*pclassdefnode6*/ == NIT_NULL /*null*/) || (( variable[16] /*pclassdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[16] /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[16] /*pclassdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[16] /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))( variable[16] /*pclassdefnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3945 if (UNTAG_Bool(variable[17])) { /*if*/
3946 ((array___AbstractArray___add_t)CALL( variable[10] /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable[10] /*listnode9*/, variable[16] /*pclassdefnode6*/) /*AbstractArray::add*/;
3947 }
3948 variable[18] = NEW_AModule_parser_prod___AModule___init_amodule( variable[11] /*ppackagedeclnode2*/, variable[9] /*listnode4*/, variable[10] /*listnode9*/); /*new AModule*/
3949 variable[17] = variable[18];
3950 variable[3] = variable[17] /*pmodulenode1*/ /*node_list=*/;
3951 variable[18] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
3952 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
3953 return_label76: while(false);
3954 tracehead = trace.prev;
3955 return;
3956 }
3957 void parser___ReduceAction22___init(val_t self, int* init_table) {
3958 struct trace_t trace = {NULL, NULL, 1945, LOCATE_parser___ReduceAction22___init};
3959 val_t variable[2];
3960 void **closurevariable = NULL;
3961 trace.prev = tracehead; tracehead = &trace;
3962 trace.file = LOCATE_parser;
3963 variable[0] = self;
3964 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction22].i]) return;
3965 return_label77: while(false);
3966 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction22].i] = 1;
3967 tracehead = trace.prev;
3968 return;
3969 }
3970 void parser___ReduceAction23___action(val_t self, val_t param0) {
3971 struct trace_t trace = {NULL, NULL, 1949, LOCATE_parser___ReduceAction23___action};
3972 val_t variable[21];
3973 void **closurevariable = NULL;
3974 trace.prev = tracehead; tracehead = &trace;
3975 trace.file = LOCATE_parser;
3976 variable[0] = self;
3977 variable[1] = param0;
3978 variable[3] = NIT_NULL /*null*/;
3979 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
3980 variable[4] = variable[5];
3981 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
3982 variable[5] = variable[6];
3983 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
3984 variable[6] = variable[7];
3985 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
3986 variable[7] = variable[8];
3987 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
3988 variable[8] = variable[9];
3989 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
3990 variable[9] = variable[10];
3991 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3992 variable[10] = variable[11];
3993 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
3994 variable[11] = variable[12];
3995 variable[12] = variable[9] /*nodearraylist1*/;
3996 variable[13] = TAG_Bool(( variable[12] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
3997 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction23___action, LOCATE_parser, 1961); nit_exit(1);}
3998 variable[13] = variable[8] /*nodearraylist2*/;
3999 variable[14] = TAG_Bool(( variable[13] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
4000 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction23___action, LOCATE_parser, 1963); nit_exit(1);}
4001 variable[14] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[13] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[13] /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[13] /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[13] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[13] /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable[13] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4002 if (UNTAG_Bool(variable[14])) { /*if*/
4003 variable[14] = ((array___AbstractArray___is_empty_t)CALL( variable[10] /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable[10] /*listnode4*/) /*AbstractArray::is_empty*/;
4004 if (UNTAG_Bool(variable[14])) { /*if*/
4005 variable[10] = variable[13] /*listnode3*/ /*listnode4=*/;
4006 } else { /*if*/
4007 ((abstract_collection___IndexedCollection___append_t)CALL( variable[10] /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable[10] /*listnode4*/, variable[13] /*listnode3*/) /*IndexedCollection::append*/;
4008 }
4009 }
4010 variable[14] = variable[7] /*nodearraylist3*/;
4011 variable[15] = TAG_Bool(( variable[14] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
4012 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction23___action, LOCATE_parser, 1972); nit_exit(1);}
4013 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4014 variable[15] = variable[16];
4015 variable[16] = variable[6] /*nodearraylist4*/;
4016 variable[17] = TAG_Bool(( variable[16] /*ppropdefnode7*/==NIT_NULL) || VAL_ISA( variable[16] /*ppropdefnode7*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
4017 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction23___action, LOCATE_parser, 1975); nit_exit(1);}
4018 variable[17] = variable[4] /*nodearraylist6*/;
4019 variable[18] = TAG_Bool(( variable[17] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[17] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
4020 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction23___action, LOCATE_parser, 1977); nit_exit(1);}
4021 variable[18] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[16] /*ppropdefnode7*/ == NIT_NULL /*null*/) || (( variable[16] /*ppropdefnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[16] /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[16] /*ppropdefnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[16] /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))( variable[16] /*ppropdefnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4022 if (UNTAG_Bool(variable[18])) { /*if*/
4023 ((array___AbstractArray___add_t)CALL( variable[15] /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable[15] /*listnode9*/, variable[16] /*ppropdefnode7*/) /*AbstractArray::add*/;
4024 }
4025 variable[18] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[17] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[17] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[17] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[17] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[17] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[17] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4026 if (UNTAG_Bool(variable[18])) { /*if*/
4027 variable[18] = ((array___AbstractArray___is_empty_t)CALL( variable[15] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[15] /*listnode9*/) /*AbstractArray::is_empty*/;
4028 if (UNTAG_Bool(variable[18])) { /*if*/
4029 variable[15] = variable[17] /*listnode8*/ /*listnode9=*/;
4030 } else { /*if*/
4031 ((abstract_collection___IndexedCollection___append_t)CALL( variable[15] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[15] /*listnode9*/, variable[17] /*listnode8*/) /*IndexedCollection::append*/;
4032 }
4033 }
4034 variable[19] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[15] /*listnode9*/); /*new ATopClassdef*/
4035 variable[18] = variable[19];
4036 variable[19] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*listnode5*/ == NIT_NULL /*null*/) || (( variable[14] /*listnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[14] /*listnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*listnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[14] /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable[14] /*listnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4037 if (UNTAG_Bool(variable[19])) { /*if*/
4038 variable[19] = ((array___AbstractArray___is_empty_t)CALL( variable[11] /*listnode10*/,COLOR_abstract_collection___Collection___is_empty))( variable[11] /*listnode10*/) /*AbstractArray::is_empty*/;
4039 if (UNTAG_Bool(variable[19])) { /*if*/
4040 variable[11] = variable[14] /*listnode5*/ /*listnode10=*/;
4041 } else { /*if*/
4042 ((abstract_collection___IndexedCollection___append_t)CALL( variable[11] /*listnode10*/,COLOR_abstract_collection___IndexedCollection___append))( variable[11] /*listnode10*/, variable[14] /*listnode5*/) /*IndexedCollection::append*/;
4043 }
4044 }
4045 variable[19] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[18] /*pclassdefnode6*/ == NIT_NULL /*null*/) || (( variable[18] /*pclassdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[18] /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[18] /*pclassdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[18] /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))( variable[18] /*pclassdefnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4046 if (UNTAG_Bool(variable[19])) { /*if*/
4047 ((array___AbstractArray___add_t)CALL( variable[11] /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable[11] /*listnode10*/, variable[18] /*pclassdefnode6*/) /*AbstractArray::add*/;
4048 }
4049 variable[20] = NEW_AModule_parser_prod___AModule___init_amodule( variable[12] /*ppackagedeclnode2*/, variable[10] /*listnode4*/, variable[11] /*listnode10*/); /*new AModule*/
4050 variable[19] = variable[20];
4051 variable[3] = variable[19] /*pmodulenode1*/ /*node_list=*/;
4052 variable[20] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
4053 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
4054 return_label78: while(false);
4055 tracehead = trace.prev;
4056 return;
4057 }
4058 void parser___ReduceAction23___init(val_t self, int* init_table) {
4059 struct trace_t trace = {NULL, NULL, 2009, LOCATE_parser___ReduceAction23___init};
4060 val_t variable[2];
4061 void **closurevariable = NULL;
4062 trace.prev = tracehead; tracehead = &trace;
4063 trace.file = LOCATE_parser;
4064 variable[0] = self;
4065 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction23].i]) return;
4066 return_label79: while(false);
4067 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction23].i] = 1;
4068 tracehead = trace.prev;
4069 return;
4070 }
4071 void parser___ReduceAction24___action(val_t self, val_t param0) {
4072 struct trace_t trace = {NULL, NULL, 2013, LOCATE_parser___ReduceAction24___action};
4073 val_t variable[10];
4074 void **closurevariable = NULL;
4075 trace.prev = tracehead; tracehead = &trace;
4076 trace.file = LOCATE_parser;
4077 variable[0] = self;
4078 variable[1] = param0;
4079 variable[3] = NIT_NULL /*null*/;
4080 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
4081 variable[4] = variable[5];
4082 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4083 variable[5] = variable[6];
4084 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4085 variable[6] = variable[7];
4086 variable[7] = variable[4] /*nodearraylist1*/;
4087 variable[8] = TAG_Bool(( variable[7] /*pclassdefnode4*/==NIT_NULL) || VAL_ISA( variable[7] /*pclassdefnode4*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
4088 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction24___action, LOCATE_parser, 2020); nit_exit(1);}
4089 variable[8] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[7] /*pclassdefnode4*/ == NIT_NULL /*null*/) || (( variable[7] /*pclassdefnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[7] /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[7] /*pclassdefnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[7] /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))( variable[7] /*pclassdefnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4090 if (UNTAG_Bool(variable[8])) { /*if*/
4091 ((array___AbstractArray___add_t)CALL( variable[6] /*listnode5*/,COLOR_abstract_collection___SimpleCollection___add))( variable[6] /*listnode5*/, variable[7] /*pclassdefnode4*/) /*AbstractArray::add*/;
4092 }
4093 variable[9] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[5] /*listnode3*/, variable[6] /*listnode5*/); /*new AModule*/
4094 variable[8] = variable[9];
4095 variable[3] = variable[8] /*pmodulenode1*/ /*node_list=*/;
4096 variable[9] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
4097 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
4098 return_label80: while(false);
4099 tracehead = trace.prev;
4100 return;
4101 }
4102 void parser___ReduceAction24___init(val_t self, int* init_table) {
4103 struct trace_t trace = {NULL, NULL, 2032, LOCATE_parser___ReduceAction24___init};
4104 val_t variable[2];
4105 void **closurevariable = NULL;
4106 trace.prev = tracehead; tracehead = &trace;
4107 trace.file = LOCATE_parser;
4108 variable[0] = self;
4109 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction24].i]) return;
4110 return_label81: while(false);
4111 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction24].i] = 1;
4112 tracehead = trace.prev;
4113 return;
4114 }
4115 void parser___ReduceAction25___action(val_t self, val_t param0) {
4116 struct trace_t trace = {NULL, NULL, 2036, LOCATE_parser___ReduceAction25___action};
4117 val_t variable[12];
4118 void **closurevariable = NULL;
4119 trace.prev = tracehead; tracehead = &trace;
4120 trace.file = LOCATE_parser;
4121 variable[0] = self;
4122 variable[1] = param0;
4123 variable[3] = NIT_NULL /*null*/;
4124 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
4125 variable[4] = variable[5];
4126 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
4127 variable[5] = variable[6];
4128 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4129 variable[6] = variable[7];
4130 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4131 variable[7] = variable[8];
4132 variable[8] = variable[5] /*nodearraylist1*/;
4133 variable[9] = TAG_Bool(( variable[8] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
4134 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction25___action, LOCATE_parser, 2044); nit_exit(1);}
4135 variable[9] = variable[4] /*nodearraylist2*/;
4136 variable[10] = TAG_Bool(( variable[9] /*pclassdefnode4*/==NIT_NULL) || VAL_ISA( variable[9] /*pclassdefnode4*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
4137 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction25___action, LOCATE_parser, 2046); nit_exit(1);}
4138 variable[10] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[9] /*pclassdefnode4*/ == NIT_NULL /*null*/) || (( variable[9] /*pclassdefnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[9] /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[9] /*pclassdefnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[9] /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))( variable[9] /*pclassdefnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4139 if (UNTAG_Bool(variable[10])) { /*if*/
4140 ((array___AbstractArray___add_t)CALL( variable[7] /*listnode5*/,COLOR_abstract_collection___SimpleCollection___add))( variable[7] /*listnode5*/, variable[9] /*pclassdefnode4*/) /*AbstractArray::add*/;
4141 }
4142 variable[11] = NEW_AModule_parser_prod___AModule___init_amodule( variable[8] /*ppackagedeclnode2*/, variable[6] /*listnode3*/, variable[7] /*listnode5*/); /*new AModule*/
4143 variable[10] = variable[11];
4144 variable[3] = variable[10] /*pmodulenode1*/ /*node_list=*/;
4145 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
4146 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
4147 return_label82: while(false);
4148 tracehead = trace.prev;
4149 return;
4150 }
4151 void parser___ReduceAction25___init(val_t self, int* init_table) {
4152 struct trace_t trace = {NULL, NULL, 2058, LOCATE_parser___ReduceAction25___init};
4153 val_t variable[2];
4154 void **closurevariable = NULL;
4155 trace.prev = tracehead; tracehead = &trace;
4156 trace.file = LOCATE_parser;
4157 variable[0] = self;
4158 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction25].i]) return;
4159 return_label83: while(false);
4160 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction25].i] = 1;
4161 tracehead = trace.prev;
4162 return;
4163 }
4164 void parser___ReduceAction26___action(val_t self, val_t param0) {
4165 struct trace_t trace = {NULL, NULL, 2062, LOCATE_parser___ReduceAction26___action};
4166 val_t variable[12];
4167 void **closurevariable = NULL;
4168 trace.prev = tracehead; tracehead = &trace;
4169 trace.file = LOCATE_parser;
4170 variable[0] = self;
4171 variable[1] = param0;
4172 variable[3] = NIT_NULL /*null*/;
4173 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
4174 variable[4] = variable[5];
4175 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
4176 variable[5] = variable[6];
4177 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4178 variable[6] = variable[7];
4179 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4180 variable[7] = variable[8];
4181 variable[8] = variable[5] /*nodearraylist1*/;
4182 variable[9] = TAG_Bool(( variable[8] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
4183 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction26___action, LOCATE_parser, 2070); nit_exit(1);}
4184 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[8] /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[8] /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[8] /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable[8] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4185 if (UNTAG_Bool(variable[9])) { /*if*/
4186 variable[9] = ((array___AbstractArray___is_empty_t)CALL( variable[6] /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable[6] /*listnode4*/) /*AbstractArray::is_empty*/;
4187 if (UNTAG_Bool(variable[9])) { /*if*/
4188 variable[6] = variable[8] /*listnode3*/ /*listnode4=*/;
4189 } else { /*if*/
4190 ((abstract_collection___IndexedCollection___append_t)CALL( variable[6] /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable[6] /*listnode4*/, variable[8] /*listnode3*/) /*IndexedCollection::append*/;
4191 }
4192 }
4193 variable[9] = variable[4] /*nodearraylist2*/;
4194 variable[10] = TAG_Bool(( variable[9] /*pclassdefnode5*/==NIT_NULL) || VAL_ISA( variable[9] /*pclassdefnode5*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
4195 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction26___action, LOCATE_parser, 2079); nit_exit(1);}
4196 variable[10] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[9] /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable[9] /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[9] /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[9] /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[9] /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable[9] /*pclassdefnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4197 if (UNTAG_Bool(variable[10])) { /*if*/
4198 ((array___AbstractArray___add_t)CALL( variable[7] /*listnode6*/,COLOR_abstract_collection___SimpleCollection___add))( variable[7] /*listnode6*/, variable[9] /*pclassdefnode5*/) /*AbstractArray::add*/;
4199 }
4200 variable[11] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[6] /*listnode4*/, variable[7] /*listnode6*/); /*new AModule*/
4201 variable[10] = variable[11];
4202 variable[3] = variable[10] /*pmodulenode1*/ /*node_list=*/;
4203 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
4204 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
4205 return_label84: while(false);
4206 tracehead = trace.prev;
4207 return;
4208 }
4209 void parser___ReduceAction26___init(val_t self, int* init_table) {
4210 struct trace_t trace = {NULL, NULL, 2091, LOCATE_parser___ReduceAction26___init};
4211 val_t variable[2];
4212 void **closurevariable = NULL;
4213 trace.prev = tracehead; tracehead = &trace;
4214 trace.file = LOCATE_parser;
4215 variable[0] = self;
4216 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction26].i]) return;
4217 return_label85: while(false);
4218 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction26].i] = 1;
4219 tracehead = trace.prev;
4220 return;
4221 }
4222 void parser___ReduceAction27___action(val_t self, val_t param0) {
4223 struct trace_t trace = {NULL, NULL, 2095, LOCATE_parser___ReduceAction27___action};
4224 val_t variable[14];
4225 void **closurevariable = NULL;
4226 trace.prev = tracehead; tracehead = &trace;
4227 trace.file = LOCATE_parser;
4228 variable[0] = self;
4229 variable[1] = param0;
4230 variable[3] = NIT_NULL /*null*/;
4231 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
4232 variable[4] = variable[5];
4233 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
4234 variable[5] = variable[6];
4235 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
4236 variable[6] = variable[7];
4237 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4238 variable[7] = variable[8];
4239 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4240 variable[8] = variable[9];
4241 variable[9] = variable[6] /*nodearraylist1*/;
4242 variable[10] = TAG_Bool(( variable[9] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
4243 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction27___action, LOCATE_parser, 2104); nit_exit(1);}
4244 variable[10] = variable[5] /*nodearraylist2*/;
4245 variable[11] = TAG_Bool(( variable[10] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
4246 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction27___action, LOCATE_parser, 2106); nit_exit(1);}
4247 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable[10] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4248 if (UNTAG_Bool(variable[11])) { /*if*/
4249 variable[11] = ((array___AbstractArray___is_empty_t)CALL( variable[7] /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable[7] /*listnode4*/) /*AbstractArray::is_empty*/;
4250 if (UNTAG_Bool(variable[11])) { /*if*/
4251 variable[7] = variable[10] /*listnode3*/ /*listnode4=*/;
4252 } else { /*if*/
4253 ((abstract_collection___IndexedCollection___append_t)CALL( variable[7] /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable[7] /*listnode4*/, variable[10] /*listnode3*/) /*IndexedCollection::append*/;
4254 }
4255 }
4256 variable[11] = variable[4] /*nodearraylist3*/;
4257 variable[12] = TAG_Bool(( variable[11] /*pclassdefnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*pclassdefnode5*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
4258 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction27___action, LOCATE_parser, 2115); nit_exit(1);}
4259 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable[11] /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[11] /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[11] /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable[11] /*pclassdefnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4260 if (UNTAG_Bool(variable[12])) { /*if*/
4261 ((array___AbstractArray___add_t)CALL( variable[8] /*listnode6*/,COLOR_abstract_collection___SimpleCollection___add))( variable[8] /*listnode6*/, variable[11] /*pclassdefnode5*/) /*AbstractArray::add*/;
4262 }
4263 variable[13] = NEW_AModule_parser_prod___AModule___init_amodule( variable[9] /*ppackagedeclnode2*/, variable[7] /*listnode4*/, variable[8] /*listnode6*/); /*new AModule*/
4264 variable[12] = variable[13];
4265 variable[3] = variable[12] /*pmodulenode1*/ /*node_list=*/;
4266 variable[13] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
4267 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
4268 return_label86: while(false);
4269 tracehead = trace.prev;
4270 return;
4271 }
4272 void parser___ReduceAction27___init(val_t self, int* init_table) {
4273 struct trace_t trace = {NULL, NULL, 2127, LOCATE_parser___ReduceAction27___init};
4274 val_t variable[2];
4275 void **closurevariable = NULL;
4276 trace.prev = tracehead; tracehead = &trace;
4277 trace.file = LOCATE_parser;
4278 variable[0] = self;
4279 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction27].i]) return;
4280 return_label87: while(false);
4281 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction27].i] = 1;
4282 tracehead = trace.prev;
4283 return;
4284 }
4285 void parser___ReduceAction28___action(val_t self, val_t param0) {
4286 struct trace_t trace = {NULL, NULL, 2131, LOCATE_parser___ReduceAction28___action};
4287 val_t variable[12];
4288 void **closurevariable = NULL;
4289 trace.prev = tracehead; tracehead = &trace;
4290 trace.file = LOCATE_parser;
4291 variable[0] = self;
4292 variable[1] = param0;
4293 variable[3] = NIT_NULL /*null*/;
4294 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
4295 variable[4] = variable[5];
4296 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
4297 variable[5] = variable[6];
4298 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4299 variable[6] = variable[7];
4300 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4301 variable[7] = variable[8];
4302 variable[8] = variable[5] /*nodearraylist1*/;
4303 variable[9] = TAG_Bool(( variable[8] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[8] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
4304 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction28___action, LOCATE_parser, 2139); nit_exit(1);}
4305 variable[9] = variable[4] /*nodearraylist2*/;
4306 variable[10] = TAG_Bool(( variable[9] /*pclassdefnode5*/==NIT_NULL) || VAL_ISA( variable[9] /*pclassdefnode5*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
4307 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction28___action, LOCATE_parser, 2141); nit_exit(1);}
4308 variable[10] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[8] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[8] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[8] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[8] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4309 if (UNTAG_Bool(variable[10])) { /*if*/
4310 variable[10] = ((array___AbstractArray___is_empty_t)CALL( variable[7] /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable[7] /*listnode6*/) /*AbstractArray::is_empty*/;
4311 if (UNTAG_Bool(variable[10])) { /*if*/
4312 variable[7] = variable[8] /*listnode4*/ /*listnode6=*/;
4313 } else { /*if*/
4314 ((abstract_collection___IndexedCollection___append_t)CALL( variable[7] /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable[7] /*listnode6*/, variable[8] /*listnode4*/) /*IndexedCollection::append*/;
4315 }
4316 }
4317 variable[10] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[9] /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable[9] /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[9] /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[9] /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[9] /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable[9] /*pclassdefnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4318 if (UNTAG_Bool(variable[10])) { /*if*/
4319 ((array___AbstractArray___add_t)CALL( variable[7] /*listnode6*/,COLOR_abstract_collection___SimpleCollection___add))( variable[7] /*listnode6*/, variable[9] /*pclassdefnode5*/) /*AbstractArray::add*/;
4320 }
4321 variable[11] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[6] /*listnode3*/, variable[7] /*listnode6*/); /*new AModule*/
4322 variable[10] = variable[11];
4323 variable[3] = variable[10] /*pmodulenode1*/ /*node_list=*/;
4324 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
4325 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
4326 return_label88: while(false);
4327 tracehead = trace.prev;
4328 return;
4329 }
4330 void parser___ReduceAction28___init(val_t self, int* init_table) {
4331 struct trace_t trace = {NULL, NULL, 2160, LOCATE_parser___ReduceAction28___init};
4332 val_t variable[2];
4333 void **closurevariable = NULL;
4334 trace.prev = tracehead; tracehead = &trace;
4335 trace.file = LOCATE_parser;
4336 variable[0] = self;
4337 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction28].i]) return;
4338 return_label89: while(false);
4339 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction28].i] = 1;
4340 tracehead = trace.prev;
4341 return;
4342 }
4343 void parser___ReduceAction29___action(val_t self, val_t param0) {
4344 struct trace_t trace = {NULL, NULL, 2164, LOCATE_parser___ReduceAction29___action};
4345 val_t variable[14];
4346 void **closurevariable = NULL;
4347 trace.prev = tracehead; tracehead = &trace;
4348 trace.file = LOCATE_parser;
4349 variable[0] = self;
4350 variable[1] = param0;
4351 variable[3] = NIT_NULL /*null*/;
4352 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
4353 variable[4] = variable[5];
4354 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
4355 variable[5] = variable[6];
4356 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
4357 variable[6] = variable[7];
4358 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4359 variable[7] = variable[8];
4360 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4361 variable[8] = variable[9];
4362 variable[9] = variable[6] /*nodearraylist1*/;
4363 variable[10] = TAG_Bool(( variable[9] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
4364 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction29___action, LOCATE_parser, 2173); nit_exit(1);}
4365 variable[10] = variable[5] /*nodearraylist2*/;
4366 variable[11] = TAG_Bool(( variable[10] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
4367 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction29___action, LOCATE_parser, 2175); nit_exit(1);}
4368 variable[11] = variable[4] /*nodearraylist3*/;
4369 variable[12] = TAG_Bool(( variable[11] /*pclassdefnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*pclassdefnode5*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
4370 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction29___action, LOCATE_parser, 2177); nit_exit(1);}
4371 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[10] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4372 if (UNTAG_Bool(variable[12])) { /*if*/
4373 variable[12] = ((array___AbstractArray___is_empty_t)CALL( variable[8] /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable[8] /*listnode6*/) /*AbstractArray::is_empty*/;
4374 if (UNTAG_Bool(variable[12])) { /*if*/
4375 variable[8] = variable[10] /*listnode4*/ /*listnode6=*/;
4376 } else { /*if*/
4377 ((abstract_collection___IndexedCollection___append_t)CALL( variable[8] /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable[8] /*listnode6*/, variable[10] /*listnode4*/) /*IndexedCollection::append*/;
4378 }
4379 }
4380 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable[11] /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[11] /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[11] /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable[11] /*pclassdefnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4381 if (UNTAG_Bool(variable[12])) { /*if*/
4382 ((array___AbstractArray___add_t)CALL( variable[8] /*listnode6*/,COLOR_abstract_collection___SimpleCollection___add))( variable[8] /*listnode6*/, variable[11] /*pclassdefnode5*/) /*AbstractArray::add*/;
4383 }
4384 variable[13] = NEW_AModule_parser_prod___AModule___init_amodule( variable[9] /*ppackagedeclnode2*/, variable[7] /*listnode3*/, variable[8] /*listnode6*/); /*new AModule*/
4385 variable[12] = variable[13];
4386 variable[3] = variable[12] /*pmodulenode1*/ /*node_list=*/;
4387 variable[13] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
4388 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
4389 return_label90: while(false);
4390 tracehead = trace.prev;
4391 return;
4392 }
4393 void parser___ReduceAction29___init(val_t self, int* init_table) {
4394 struct trace_t trace = {NULL, NULL, 2196, LOCATE_parser___ReduceAction29___init};
4395 val_t variable[2];
4396 void **closurevariable = NULL;
4397 trace.prev = tracehead; tracehead = &trace;
4398 trace.file = LOCATE_parser;
4399 variable[0] = self;
4400 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction29].i]) return;
4401 return_label91: while(false);
4402 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction29].i] = 1;
4403 tracehead = trace.prev;
4404 return;
4405 }
4406 void parser___ReduceAction30___action(val_t self, val_t param0) {
4407 struct trace_t trace = {NULL, NULL, 2200, LOCATE_parser___ReduceAction30___action};
4408 val_t variable[14];
4409 void **closurevariable = NULL;
4410 trace.prev = tracehead; tracehead = &trace;
4411 trace.file = LOCATE_parser;
4412 variable[0] = self;
4413 variable[1] = param0;
4414 variable[3] = NIT_NULL /*null*/;
4415 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
4416 variable[4] = variable[5];
4417 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
4418 variable[5] = variable[6];
4419 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
4420 variable[6] = variable[7];
4421 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4422 variable[7] = variable[8];
4423 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4424 variable[8] = variable[9];
4425 variable[9] = variable[6] /*nodearraylist1*/;
4426 variable[10] = TAG_Bool(( variable[9] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
4427 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction30___action, LOCATE_parser, 2209); nit_exit(1);}
4428 variable[10] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[9] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[9] /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[9] /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[9] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[9] /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable[9] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4429 if (UNTAG_Bool(variable[10])) { /*if*/
4430 variable[10] = ((array___AbstractArray___is_empty_t)CALL( variable[7] /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable[7] /*listnode4*/) /*AbstractArray::is_empty*/;
4431 if (UNTAG_Bool(variable[10])) { /*if*/
4432 variable[7] = variable[9] /*listnode3*/ /*listnode4=*/;
4433 } else { /*if*/
4434 ((abstract_collection___IndexedCollection___append_t)CALL( variable[7] /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable[7] /*listnode4*/, variable[9] /*listnode3*/) /*IndexedCollection::append*/;
4435 }
4436 }
4437 variable[10] = variable[5] /*nodearraylist2*/;
4438 variable[11] = TAG_Bool(( variable[10] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
4439 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction30___action, LOCATE_parser, 2218); nit_exit(1);}
4440 variable[11] = variable[4] /*nodearraylist3*/;
4441 variable[12] = TAG_Bool(( variable[11] /*pclassdefnode6*/==NIT_NULL) || VAL_ISA( variable[11] /*pclassdefnode6*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
4442 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction30___action, LOCATE_parser, 2220); nit_exit(1);}
4443 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode5*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable[10] /*listnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4444 if (UNTAG_Bool(variable[12])) { /*if*/
4445 variable[12] = ((array___AbstractArray___is_empty_t)CALL( variable[8] /*listnode7*/,COLOR_abstract_collection___Collection___is_empty))( variable[8] /*listnode7*/) /*AbstractArray::is_empty*/;
4446 if (UNTAG_Bool(variable[12])) { /*if*/
4447 variable[8] = variable[10] /*listnode5*/ /*listnode7=*/;
4448 } else { /*if*/
4449 ((abstract_collection___IndexedCollection___append_t)CALL( variable[8] /*listnode7*/,COLOR_abstract_collection___IndexedCollection___append))( variable[8] /*listnode7*/, variable[10] /*listnode5*/) /*IndexedCollection::append*/;
4450 }
4451 }
4452 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*pclassdefnode6*/ == NIT_NULL /*null*/) || (( variable[11] /*pclassdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[11] /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*pclassdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[11] /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))( variable[11] /*pclassdefnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4453 if (UNTAG_Bool(variable[12])) { /*if*/
4454 ((array___AbstractArray___add_t)CALL( variable[8] /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable[8] /*listnode7*/, variable[11] /*pclassdefnode6*/) /*AbstractArray::add*/;
4455 }
4456 variable[13] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[7] /*listnode4*/, variable[8] /*listnode7*/); /*new AModule*/
4457 variable[12] = variable[13];
4458 variable[3] = variable[12] /*pmodulenode1*/ /*node_list=*/;
4459 variable[13] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
4460 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
4461 return_label92: while(false);
4462 tracehead = trace.prev;
4463 return;
4464 }
4465 void parser___ReduceAction30___init(val_t self, int* init_table) {
4466 struct trace_t trace = {NULL, NULL, 2239, LOCATE_parser___ReduceAction30___init};
4467 val_t variable[2];
4468 void **closurevariable = NULL;
4469 trace.prev = tracehead; tracehead = &trace;
4470 trace.file = LOCATE_parser;
4471 variable[0] = self;
4472 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction30].i]) return;
4473 return_label93: while(false);
4474 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction30].i] = 1;
4475 tracehead = trace.prev;
4476 return;
4477 }
4478 void parser___ReduceAction31___action(val_t self, val_t param0) {
4479 struct trace_t trace = {NULL, NULL, 2243, LOCATE_parser___ReduceAction31___action};
4480 val_t variable[16];
4481 void **closurevariable = NULL;
4482 trace.prev = tracehead; tracehead = &trace;
4483 trace.file = LOCATE_parser;
4484 variable[0] = self;
4485 variable[1] = param0;
4486 variable[3] = NIT_NULL /*null*/;
4487 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
4488 variable[4] = variable[5];
4489 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
4490 variable[5] = variable[6];
4491 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
4492 variable[6] = variable[7];
4493 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
4494 variable[7] = variable[8];
4495 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4496 variable[8] = variable[9];
4497 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4498 variable[9] = variable[10];
4499 variable[10] = variable[7] /*nodearraylist1*/;
4500 variable[11] = TAG_Bool(( variable[10] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
4501 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction31___action, LOCATE_parser, 2253); nit_exit(1);}
4502 variable[11] = variable[6] /*nodearraylist2*/;
4503 variable[12] = TAG_Bool(( variable[11] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
4504 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction31___action, LOCATE_parser, 2255); nit_exit(1);}
4505 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable[11] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4506 if (UNTAG_Bool(variable[12])) { /*if*/
4507 variable[12] = ((array___AbstractArray___is_empty_t)CALL( variable[8] /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable[8] /*listnode4*/) /*AbstractArray::is_empty*/;
4508 if (UNTAG_Bool(variable[12])) { /*if*/
4509 variable[8] = variable[11] /*listnode3*/ /*listnode4=*/;
4510 } else { /*if*/
4511 ((abstract_collection___IndexedCollection___append_t)CALL( variable[8] /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable[8] /*listnode4*/, variable[11] /*listnode3*/) /*IndexedCollection::append*/;
4512 }
4513 }
4514 variable[12] = variable[5] /*nodearraylist3*/;
4515 variable[13] = TAG_Bool(( variable[12] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
4516 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction31___action, LOCATE_parser, 2264); nit_exit(1);}
4517 variable[13] = variable[4] /*nodearraylist4*/;
4518 variable[14] = TAG_Bool(( variable[13] /*pclassdefnode6*/==NIT_NULL) || VAL_ISA( variable[13] /*pclassdefnode6*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
4519 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction31___action, LOCATE_parser, 2266); nit_exit(1);}
4520 variable[14] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode5*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable[12] /*listnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4521 if (UNTAG_Bool(variable[14])) { /*if*/
4522 variable[14] = ((array___AbstractArray___is_empty_t)CALL( variable[9] /*listnode7*/,COLOR_abstract_collection___Collection___is_empty))( variable[9] /*listnode7*/) /*AbstractArray::is_empty*/;
4523 if (UNTAG_Bool(variable[14])) { /*if*/
4524 variable[9] = variable[12] /*listnode5*/ /*listnode7=*/;
4525 } else { /*if*/
4526 ((abstract_collection___IndexedCollection___append_t)CALL( variable[9] /*listnode7*/,COLOR_abstract_collection___IndexedCollection___append))( variable[9] /*listnode7*/, variable[12] /*listnode5*/) /*IndexedCollection::append*/;
4527 }
4528 }
4529 variable[14] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[13] /*pclassdefnode6*/ == NIT_NULL /*null*/) || (( variable[13] /*pclassdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[13] /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[13] /*pclassdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[13] /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))( variable[13] /*pclassdefnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4530 if (UNTAG_Bool(variable[14])) { /*if*/
4531 ((array___AbstractArray___add_t)CALL( variable[9] /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable[9] /*listnode7*/, variable[13] /*pclassdefnode6*/) /*AbstractArray::add*/;
4532 }
4533 variable[15] = NEW_AModule_parser_prod___AModule___init_amodule( variable[10] /*ppackagedeclnode2*/, variable[8] /*listnode4*/, variable[9] /*listnode7*/); /*new AModule*/
4534 variable[14] = variable[15];
4535 variable[3] = variable[14] /*pmodulenode1*/ /*node_list=*/;
4536 variable[15] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
4537 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
4538 return_label94: while(false);
4539 tracehead = trace.prev;
4540 return;
4541 }
4542 void parser___ReduceAction31___init(val_t self, int* init_table) {
4543 struct trace_t trace = {NULL, NULL, 2285, LOCATE_parser___ReduceAction31___init};
4544 val_t variable[2];
4545 void **closurevariable = NULL;
4546 trace.prev = tracehead; tracehead = &trace;
4547 trace.file = LOCATE_parser;
4548 variable[0] = self;
4549 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction31].i]) return;
4550 return_label95: while(false);
4551 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction31].i] = 1;
4552 tracehead = trace.prev;
4553 return;
4554 }
4555 void parser___ReduceAction32___action(val_t self, val_t param0) {
4556 struct trace_t trace = {NULL, NULL, 2289, LOCATE_parser___ReduceAction32___action};
4557 val_t variable[15];
4558 void **closurevariable = NULL;
4559 trace.prev = tracehead; tracehead = &trace;
4560 trace.file = LOCATE_parser;
4561 variable[0] = self;
4562 variable[1] = param0;
4563 variable[3] = NIT_NULL /*null*/;
4564 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
4565 variable[4] = variable[5];
4566 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
4567 variable[5] = variable[6];
4568 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
4569 variable[6] = variable[7];
4570 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4571 variable[7] = variable[8];
4572 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4573 variable[8] = variable[9];
4574 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4575 variable[9] = variable[10];
4576 variable[10] = variable[6] /*nodearraylist1*/;
4577 variable[11] = TAG_Bool(( variable[10] /*ppropdefnode5*/==NIT_NULL) || VAL_ISA( variable[10] /*ppropdefnode5*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
4578 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction32___action, LOCATE_parser, 2299); nit_exit(1);}
4579 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*ppropdefnode5*/ == NIT_NULL /*null*/) || (( variable[10] /*ppropdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[10] /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*ppropdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[10] /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))( variable[10] /*ppropdefnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4580 if (UNTAG_Bool(variable[11])) { /*if*/
4581 ((array___AbstractArray___add_t)CALL( variable[9] /*listnode6*/,COLOR_abstract_collection___SimpleCollection___add))( variable[9] /*listnode6*/, variable[10] /*ppropdefnode5*/) /*AbstractArray::add*/;
4582 }
4583 variable[12] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[9] /*listnode6*/); /*new ATopClassdef*/
4584 variable[11] = variable[12];
4585 variable[12] = variable[4] /*nodearraylist3*/;
4586 variable[13] = TAG_Bool(( variable[12] /*pclassdefnode7*/==NIT_NULL) || VAL_ISA( variable[12] /*pclassdefnode7*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
4587 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction32___action, LOCATE_parser, 2307); nit_exit(1);}
4588 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*pclassdefnode4*/ == NIT_NULL /*null*/) || (( variable[11] /*pclassdefnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[11] /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*pclassdefnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[11] /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))( variable[11] /*pclassdefnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4589 if (UNTAG_Bool(variable[13])) { /*if*/
4590 ((array___AbstractArray___add_t)CALL( variable[8] /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable[8] /*listnode8*/, variable[11] /*pclassdefnode4*/) /*AbstractArray::add*/;
4591 }
4592 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*pclassdefnode7*/ == NIT_NULL /*null*/) || (( variable[12] /*pclassdefnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[12] /*pclassdefnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*pclassdefnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[12] /*pclassdefnode7*/,COLOR_kernel___Object_____eqeq))( variable[12] /*pclassdefnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4593 if (UNTAG_Bool(variable[13])) { /*if*/
4594 ((array___AbstractArray___add_t)CALL( variable[8] /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable[8] /*listnode8*/, variable[12] /*pclassdefnode7*/) /*AbstractArray::add*/;
4595 }
4596 variable[14] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[7] /*listnode3*/, variable[8] /*listnode8*/); /*new AModule*/
4597 variable[13] = variable[14];
4598 variable[3] = variable[13] /*pmodulenode1*/ /*node_list=*/;
4599 variable[14] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
4600 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
4601 return_label96: while(false);
4602 tracehead = trace.prev;
4603 return;
4604 }
4605 void parser___ReduceAction32___init(val_t self, int* init_table) {
4606 struct trace_t trace = {NULL, NULL, 2322, LOCATE_parser___ReduceAction32___init};
4607 val_t variable[2];
4608 void **closurevariable = NULL;
4609 trace.prev = tracehead; tracehead = &trace;
4610 trace.file = LOCATE_parser;
4611 variable[0] = self;
4612 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction32].i]) return;
4613 return_label97: while(false);
4614 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction32].i] = 1;
4615 tracehead = trace.prev;
4616 return;
4617 }
4618 void parser___ReduceAction33___action(val_t self, val_t param0) {
4619 struct trace_t trace = {NULL, NULL, 2326, LOCATE_parser___ReduceAction33___action};
4620 val_t variable[17];
4621 void **closurevariable = NULL;
4622 trace.prev = tracehead; tracehead = &trace;
4623 trace.file = LOCATE_parser;
4624 variable[0] = self;
4625 variable[1] = param0;
4626 variable[3] = NIT_NULL /*null*/;
4627 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
4628 variable[4] = variable[5];
4629 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
4630 variable[5] = variable[6];
4631 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
4632 variable[6] = variable[7];
4633 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
4634 variable[7] = variable[8];
4635 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4636 variable[8] = variable[9];
4637 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4638 variable[9] = variable[10];
4639 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4640 variable[10] = variable[11];
4641 variable[11] = variable[7] /*nodearraylist1*/;
4642 variable[12] = TAG_Bool(( variable[11] /*ppropdefnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*ppropdefnode5*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
4643 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction33___action, LOCATE_parser, 2337); nit_exit(1);}
4644 variable[12] = variable[5] /*nodearraylist3*/;
4645 variable[13] = TAG_Bool(( variable[12] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
4646 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction33___action, LOCATE_parser, 2339); nit_exit(1);}
4647 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*ppropdefnode5*/ == NIT_NULL /*null*/) || (( variable[11] /*ppropdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[11] /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*ppropdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[11] /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))( variable[11] /*ppropdefnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4648 if (UNTAG_Bool(variable[13])) { /*if*/
4649 ((array___AbstractArray___add_t)CALL( variable[10] /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable[10] /*listnode7*/, variable[11] /*ppropdefnode5*/) /*AbstractArray::add*/;
4650 }
4651 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode6*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode6*/,COLOR_kernel___Object_____eqeq))( variable[12] /*listnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4652 if (UNTAG_Bool(variable[13])) { /*if*/
4653 variable[13] = ((array___AbstractArray___is_empty_t)CALL( variable[10] /*listnode7*/,COLOR_abstract_collection___Collection___is_empty))( variable[10] /*listnode7*/) /*AbstractArray::is_empty*/;
4654 if (UNTAG_Bool(variable[13])) { /*if*/
4655 variable[10] = variable[12] /*listnode6*/ /*listnode7=*/;
4656 } else { /*if*/
4657 ((abstract_collection___IndexedCollection___append_t)CALL( variable[10] /*listnode7*/,COLOR_abstract_collection___IndexedCollection___append))( variable[10] /*listnode7*/, variable[12] /*listnode6*/) /*IndexedCollection::append*/;
4658 }
4659 }
4660 variable[14] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[10] /*listnode7*/); /*new ATopClassdef*/
4661 variable[13] = variable[14];
4662 variable[14] = variable[4] /*nodearraylist4*/;
4663 variable[15] = TAG_Bool(( variable[14] /*pclassdefnode8*/==NIT_NULL) || VAL_ISA( variable[14] /*pclassdefnode8*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
4664 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction33___action, LOCATE_parser, 2354); nit_exit(1);}
4665 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[13] /*pclassdefnode4*/ == NIT_NULL /*null*/) || (( variable[13] /*pclassdefnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[13] /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[13] /*pclassdefnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[13] /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))( variable[13] /*pclassdefnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4666 if (UNTAG_Bool(variable[15])) { /*if*/
4667 ((array___AbstractArray___add_t)CALL( variable[9] /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable[9] /*listnode9*/, variable[13] /*pclassdefnode4*/) /*AbstractArray::add*/;
4668 }
4669 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*pclassdefnode8*/ == NIT_NULL /*null*/) || (( variable[14] /*pclassdefnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[14] /*pclassdefnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*pclassdefnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[14] /*pclassdefnode8*/,COLOR_kernel___Object_____eqeq))( variable[14] /*pclassdefnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4670 if (UNTAG_Bool(variable[15])) { /*if*/
4671 ((array___AbstractArray___add_t)CALL( variable[9] /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable[9] /*listnode9*/, variable[14] /*pclassdefnode8*/) /*AbstractArray::add*/;
4672 }
4673 variable[16] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[8] /*listnode3*/, variable[9] /*listnode9*/); /*new AModule*/
4674 variable[15] = variable[16];
4675 variable[3] = variable[15] /*pmodulenode1*/ /*node_list=*/;
4676 variable[16] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
4677 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[16], variable[3] /*node_list*/) /*Parser::push*/;
4678 return_label98: while(false);
4679 tracehead = trace.prev;
4680 return;
4681 }
4682 void parser___ReduceAction33___init(val_t self, int* init_table) {
4683 struct trace_t trace = {NULL, NULL, 2369, LOCATE_parser___ReduceAction33___init};
4684 val_t variable[2];
4685 void **closurevariable = NULL;
4686 trace.prev = tracehead; tracehead = &trace;
4687 trace.file = LOCATE_parser;
4688 variable[0] = self;
4689 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction33].i]) return;
4690 return_label99: while(false);
4691 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction33].i] = 1;
4692 tracehead = trace.prev;
4693 return;
4694 }
4695 void parser___ReduceAction34___action(val_t self, val_t param0) {
4696 struct trace_t trace = {NULL, NULL, 2373, LOCATE_parser___ReduceAction34___action};
4697 val_t variable[17];
4698 void **closurevariable = NULL;
4699 trace.prev = tracehead; tracehead = &trace;
4700 trace.file = LOCATE_parser;
4701 variable[0] = self;
4702 variable[1] = param0;
4703 variable[3] = NIT_NULL /*null*/;
4704 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
4705 variable[4] = variable[5];
4706 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
4707 variable[5] = variable[6];
4708 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
4709 variable[6] = variable[7];
4710 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
4711 variable[7] = variable[8];
4712 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4713 variable[8] = variable[9];
4714 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4715 variable[9] = variable[10];
4716 variable[10] = variable[7] /*nodearraylist1*/;
4717 variable[11] = TAG_Bool(( variable[10] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
4718 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction34___action, LOCATE_parser, 2383); nit_exit(1);}
4719 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4720 variable[11] = variable[12];
4721 variable[12] = variable[6] /*nodearraylist2*/;
4722 variable[13] = TAG_Bool(( variable[12] /*ppropdefnode5*/==NIT_NULL) || VAL_ISA( variable[12] /*ppropdefnode5*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
4723 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction34___action, LOCATE_parser, 2386); nit_exit(1);}
4724 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*ppropdefnode5*/ == NIT_NULL /*null*/) || (( variable[12] /*ppropdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[12] /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*ppropdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[12] /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))( variable[12] /*ppropdefnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4725 if (UNTAG_Bool(variable[13])) { /*if*/
4726 ((array___AbstractArray___add_t)CALL( variable[11] /*listnode6*/,COLOR_abstract_collection___SimpleCollection___add))( variable[11] /*listnode6*/, variable[12] /*ppropdefnode5*/) /*AbstractArray::add*/;
4727 }
4728 variable[14] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[11] /*listnode6*/); /*new ATopClassdef*/
4729 variable[13] = variable[14];
4730 variable[14] = variable[4] /*nodearraylist4*/;
4731 variable[15] = TAG_Bool(( variable[14] /*pclassdefnode7*/==NIT_NULL) || VAL_ISA( variable[14] /*pclassdefnode7*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
4732 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction34___action, LOCATE_parser, 2394); nit_exit(1);}
4733 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[13] /*pclassdefnode4*/ == NIT_NULL /*null*/) || (( variable[13] /*pclassdefnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[13] /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[13] /*pclassdefnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[13] /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))( variable[13] /*pclassdefnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4734 if (UNTAG_Bool(variable[15])) { /*if*/
4735 ((array___AbstractArray___add_t)CALL( variable[9] /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable[9] /*listnode8*/, variable[13] /*pclassdefnode4*/) /*AbstractArray::add*/;
4736 }
4737 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*pclassdefnode7*/ == NIT_NULL /*null*/) || (( variable[14] /*pclassdefnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[14] /*pclassdefnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*pclassdefnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[14] /*pclassdefnode7*/,COLOR_kernel___Object_____eqeq))( variable[14] /*pclassdefnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4738 if (UNTAG_Bool(variable[15])) { /*if*/
4739 ((array___AbstractArray___add_t)CALL( variable[9] /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable[9] /*listnode8*/, variable[14] /*pclassdefnode7*/) /*AbstractArray::add*/;
4740 }
4741 variable[16] = NEW_AModule_parser_prod___AModule___init_amodule( variable[10] /*ppackagedeclnode2*/, variable[8] /*listnode3*/, variable[9] /*listnode8*/); /*new AModule*/
4742 variable[15] = variable[16];
4743 variable[3] = variable[15] /*pmodulenode1*/ /*node_list=*/;
4744 variable[16] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
4745 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[16], variable[3] /*node_list*/) /*Parser::push*/;
4746 return_label100: while(false);
4747 tracehead = trace.prev;
4748 return;
4749 }
4750 void parser___ReduceAction34___init(val_t self, int* init_table) {
4751 struct trace_t trace = {NULL, NULL, 2409, LOCATE_parser___ReduceAction34___init};
4752 val_t variable[2];
4753 void **closurevariable = NULL;
4754 trace.prev = tracehead; tracehead = &trace;
4755 trace.file = LOCATE_parser;
4756 variable[0] = self;
4757 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction34].i]) return;
4758 return_label101: while(false);
4759 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction34].i] = 1;
4760 tracehead = trace.prev;
4761 return;
4762 }
4763 void parser___ReduceAction35___action(val_t self, val_t param0) {
4764 struct trace_t trace = {NULL, NULL, 2413, LOCATE_parser___ReduceAction35___action};
4765 val_t variable[19];
4766 void **closurevariable = NULL;
4767 trace.prev = tracehead; tracehead = &trace;
4768 trace.file = LOCATE_parser;
4769 variable[0] = self;
4770 variable[1] = param0;
4771 variable[3] = NIT_NULL /*null*/;
4772 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
4773 variable[4] = variable[5];
4774 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
4775 variable[5] = variable[6];
4776 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
4777 variable[6] = variable[7];
4778 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
4779 variable[7] = variable[8];
4780 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
4781 variable[8] = variable[9];
4782 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4783 variable[9] = variable[10];
4784 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4785 variable[10] = variable[11];
4786 variable[11] = variable[8] /*nodearraylist1*/;
4787 variable[12] = TAG_Bool(( variable[11] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
4788 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction35___action, LOCATE_parser, 2424); nit_exit(1);}
4789 variable[13] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4790 variable[12] = variable[13];
4791 variable[13] = variable[7] /*nodearraylist2*/;
4792 variable[14] = TAG_Bool(( variable[13] /*ppropdefnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*ppropdefnode5*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
4793 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction35___action, LOCATE_parser, 2427); nit_exit(1);}
4794 variable[14] = variable[5] /*nodearraylist4*/;
4795 variable[15] = TAG_Bool(( variable[14] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[14] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
4796 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction35___action, LOCATE_parser, 2429); nit_exit(1);}
4797 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[13] /*ppropdefnode5*/ == NIT_NULL /*null*/) || (( variable[13] /*ppropdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[13] /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[13] /*ppropdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[13] /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))( variable[13] /*ppropdefnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4798 if (UNTAG_Bool(variable[15])) { /*if*/
4799 ((array___AbstractArray___add_t)CALL( variable[12] /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable[12] /*listnode7*/, variable[13] /*ppropdefnode5*/) /*AbstractArray::add*/;
4800 }
4801 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*listnode6*/ == NIT_NULL /*null*/) || (( variable[14] /*listnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[14] /*listnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*listnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[14] /*listnode6*/,COLOR_kernel___Object_____eqeq))( variable[14] /*listnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4802 if (UNTAG_Bool(variable[15])) { /*if*/
4803 variable[15] = ((array___AbstractArray___is_empty_t)CALL( variable[12] /*listnode7*/,COLOR_abstract_collection___Collection___is_empty))( variable[12] /*listnode7*/) /*AbstractArray::is_empty*/;
4804 if (UNTAG_Bool(variable[15])) { /*if*/
4805 variable[12] = variable[14] /*listnode6*/ /*listnode7=*/;
4806 } else { /*if*/
4807 ((abstract_collection___IndexedCollection___append_t)CALL( variable[12] /*listnode7*/,COLOR_abstract_collection___IndexedCollection___append))( variable[12] /*listnode7*/, variable[14] /*listnode6*/) /*IndexedCollection::append*/;
4808 }
4809 }
4810 variable[16] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[12] /*listnode7*/); /*new ATopClassdef*/
4811 variable[15] = variable[16];
4812 variable[16] = variable[4] /*nodearraylist5*/;
4813 variable[17] = TAG_Bool(( variable[16] /*pclassdefnode8*/==NIT_NULL) || VAL_ISA( variable[16] /*pclassdefnode8*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
4814 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction35___action, LOCATE_parser, 2444); nit_exit(1);}
4815 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*pclassdefnode4*/ == NIT_NULL /*null*/) || (( variable[15] /*pclassdefnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[15] /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*pclassdefnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[15] /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))( variable[15] /*pclassdefnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4816 if (UNTAG_Bool(variable[17])) { /*if*/
4817 ((array___AbstractArray___add_t)CALL( variable[10] /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable[10] /*listnode9*/, variable[15] /*pclassdefnode4*/) /*AbstractArray::add*/;
4818 }
4819 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[16] /*pclassdefnode8*/ == NIT_NULL /*null*/) || (( variable[16] /*pclassdefnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[16] /*pclassdefnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[16] /*pclassdefnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[16] /*pclassdefnode8*/,COLOR_kernel___Object_____eqeq))( variable[16] /*pclassdefnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4820 if (UNTAG_Bool(variable[17])) { /*if*/
4821 ((array___AbstractArray___add_t)CALL( variable[10] /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable[10] /*listnode9*/, variable[16] /*pclassdefnode8*/) /*AbstractArray::add*/;
4822 }
4823 variable[18] = NEW_AModule_parser_prod___AModule___init_amodule( variable[11] /*ppackagedeclnode2*/, variable[9] /*listnode3*/, variable[10] /*listnode9*/); /*new AModule*/
4824 variable[17] = variable[18];
4825 variable[3] = variable[17] /*pmodulenode1*/ /*node_list=*/;
4826 variable[18] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
4827 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
4828 return_label102: while(false);
4829 tracehead = trace.prev;
4830 return;
4831 }
4832 void parser___ReduceAction35___init(val_t self, int* init_table) {
4833 struct trace_t trace = {NULL, NULL, 2459, LOCATE_parser___ReduceAction35___init};
4834 val_t variable[2];
4835 void **closurevariable = NULL;
4836 trace.prev = tracehead; tracehead = &trace;
4837 trace.file = LOCATE_parser;
4838 variable[0] = self;
4839 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction35].i]) return;
4840 return_label103: while(false);
4841 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction35].i] = 1;
4842 tracehead = trace.prev;
4843 return;
4844 }
4845 void parser___ReduceAction36___action(val_t self, val_t param0) {
4846 struct trace_t trace = {NULL, NULL, 2463, LOCATE_parser___ReduceAction36___action};
4847 val_t variable[17];
4848 void **closurevariable = NULL;
4849 trace.prev = tracehead; tracehead = &trace;
4850 trace.file = LOCATE_parser;
4851 variable[0] = self;
4852 variable[1] = param0;
4853 variable[3] = NIT_NULL /*null*/;
4854 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
4855 variable[4] = variable[5];
4856 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
4857 variable[5] = variable[6];
4858 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
4859 variable[6] = variable[7];
4860 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
4861 variable[7] = variable[8];
4862 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4863 variable[8] = variable[9];
4864 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4865 variable[9] = variable[10];
4866 variable[10] = variable[7] /*nodearraylist1*/;
4867 variable[11] = TAG_Bool(( variable[10] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
4868 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction36___action, LOCATE_parser, 2473); nit_exit(1);}
4869 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable[10] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4870 if (UNTAG_Bool(variable[11])) { /*if*/
4871 variable[11] = ((array___AbstractArray___is_empty_t)CALL( variable[8] /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable[8] /*listnode4*/) /*AbstractArray::is_empty*/;
4872 if (UNTAG_Bool(variable[11])) { /*if*/
4873 variable[8] = variable[10] /*listnode3*/ /*listnode4=*/;
4874 } else { /*if*/
4875 ((abstract_collection___IndexedCollection___append_t)CALL( variable[8] /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable[8] /*listnode4*/, variable[10] /*listnode3*/) /*IndexedCollection::append*/;
4876 }
4877 }
4878 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4879 variable[11] = variable[12];
4880 variable[12] = variable[6] /*nodearraylist2*/;
4881 variable[13] = TAG_Bool(( variable[12] /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
4882 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction36___action, LOCATE_parser, 2483); nit_exit(1);}
4883 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable[12] /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[12] /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[12] /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable[12] /*ppropdefnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4884 if (UNTAG_Bool(variable[13])) { /*if*/
4885 ((array___AbstractArray___add_t)CALL( variable[11] /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable[11] /*listnode7*/, variable[12] /*ppropdefnode6*/) /*AbstractArray::add*/;
4886 }
4887 variable[14] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[11] /*listnode7*/); /*new ATopClassdef*/
4888 variable[13] = variable[14];
4889 variable[14] = variable[4] /*nodearraylist4*/;
4890 variable[15] = TAG_Bool(( variable[14] /*pclassdefnode8*/==NIT_NULL) || VAL_ISA( variable[14] /*pclassdefnode8*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
4891 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction36___action, LOCATE_parser, 2491); nit_exit(1);}
4892 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[13] /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable[13] /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[13] /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[13] /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[13] /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable[13] /*pclassdefnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4893 if (UNTAG_Bool(variable[15])) { /*if*/
4894 ((array___AbstractArray___add_t)CALL( variable[9] /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable[9] /*listnode9*/, variable[13] /*pclassdefnode5*/) /*AbstractArray::add*/;
4895 }
4896 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*pclassdefnode8*/ == NIT_NULL /*null*/) || (( variable[14] /*pclassdefnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[14] /*pclassdefnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*pclassdefnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[14] /*pclassdefnode8*/,COLOR_kernel___Object_____eqeq))( variable[14] /*pclassdefnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4897 if (UNTAG_Bool(variable[15])) { /*if*/
4898 ((array___AbstractArray___add_t)CALL( variable[9] /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable[9] /*listnode9*/, variable[14] /*pclassdefnode8*/) /*AbstractArray::add*/;
4899 }
4900 variable[16] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[8] /*listnode4*/, variable[9] /*listnode9*/); /*new AModule*/
4901 variable[15] = variable[16];
4902 variable[3] = variable[15] /*pmodulenode1*/ /*node_list=*/;
4903 variable[16] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
4904 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[16], variable[3] /*node_list*/) /*Parser::push*/;
4905 return_label104: while(false);
4906 tracehead = trace.prev;
4907 return;
4908 }
4909 void parser___ReduceAction36___init(val_t self, int* init_table) {
4910 struct trace_t trace = {NULL, NULL, 2506, LOCATE_parser___ReduceAction36___init};
4911 val_t variable[2];
4912 void **closurevariable = NULL;
4913 trace.prev = tracehead; tracehead = &trace;
4914 trace.file = LOCATE_parser;
4915 variable[0] = self;
4916 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction36].i]) return;
4917 return_label105: while(false);
4918 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction36].i] = 1;
4919 tracehead = trace.prev;
4920 return;
4921 }
4922 void parser___ReduceAction37___action(val_t self, val_t param0) {
4923 struct trace_t trace = {NULL, NULL, 2510, LOCATE_parser___ReduceAction37___action};
4924 val_t variable[19];
4925 void **closurevariable = NULL;
4926 trace.prev = tracehead; tracehead = &trace;
4927 trace.file = LOCATE_parser;
4928 variable[0] = self;
4929 variable[1] = param0;
4930 variable[3] = NIT_NULL /*null*/;
4931 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
4932 variable[4] = variable[5];
4933 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
4934 variable[5] = variable[6];
4935 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
4936 variable[6] = variable[7];
4937 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
4938 variable[7] = variable[8];
4939 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
4940 variable[8] = variable[9];
4941 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4942 variable[9] = variable[10];
4943 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4944 variable[10] = variable[11];
4945 variable[11] = variable[8] /*nodearraylist1*/;
4946 variable[12] = TAG_Bool(( variable[11] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
4947 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction37___action, LOCATE_parser, 2521); nit_exit(1);}
4948 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable[11] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4949 if (UNTAG_Bool(variable[12])) { /*if*/
4950 variable[12] = ((array___AbstractArray___is_empty_t)CALL( variable[9] /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable[9] /*listnode4*/) /*AbstractArray::is_empty*/;
4951 if (UNTAG_Bool(variable[12])) { /*if*/
4952 variable[9] = variable[11] /*listnode3*/ /*listnode4=*/;
4953 } else { /*if*/
4954 ((abstract_collection___IndexedCollection___append_t)CALL( variable[9] /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable[9] /*listnode4*/, variable[11] /*listnode3*/) /*IndexedCollection::append*/;
4955 }
4956 }
4957 variable[13] = NEW_Array_array___Array___init(); /*new Array[Object]*/
4958 variable[12] = variable[13];
4959 variable[13] = variable[7] /*nodearraylist2*/;
4960 variable[14] = TAG_Bool(( variable[13] /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable[13] /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
4961 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction37___action, LOCATE_parser, 2531); nit_exit(1);}
4962 variable[14] = variable[5] /*nodearraylist4*/;
4963 variable[15] = TAG_Bool(( variable[14] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[14] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
4964 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction37___action, LOCATE_parser, 2533); nit_exit(1);}
4965 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[13] /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable[13] /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[13] /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[13] /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[13] /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable[13] /*ppropdefnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4966 if (UNTAG_Bool(variable[15])) { /*if*/
4967 ((array___AbstractArray___add_t)CALL( variable[12] /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable[12] /*listnode8*/, variable[13] /*ppropdefnode6*/) /*AbstractArray::add*/;
4968 }
4969 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*listnode7*/ == NIT_NULL /*null*/) || (( variable[14] /*listnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[14] /*listnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*listnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[14] /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable[14] /*listnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4970 if (UNTAG_Bool(variable[15])) { /*if*/
4971 variable[15] = ((array___AbstractArray___is_empty_t)CALL( variable[12] /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable[12] /*listnode8*/) /*AbstractArray::is_empty*/;
4972 if (UNTAG_Bool(variable[15])) { /*if*/
4973 variable[12] = variable[14] /*listnode7*/ /*listnode8=*/;
4974 } else { /*if*/
4975 ((abstract_collection___IndexedCollection___append_t)CALL( variable[12] /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable[12] /*listnode8*/, variable[14] /*listnode7*/) /*IndexedCollection::append*/;
4976 }
4977 }
4978 variable[16] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[12] /*listnode8*/); /*new ATopClassdef*/
4979 variable[15] = variable[16];
4980 variable[16] = variable[4] /*nodearraylist5*/;
4981 variable[17] = TAG_Bool(( variable[16] /*pclassdefnode9*/==NIT_NULL) || VAL_ISA( variable[16] /*pclassdefnode9*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
4982 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction37___action, LOCATE_parser, 2548); nit_exit(1);}
4983 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable[15] /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[15] /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[15] /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable[15] /*pclassdefnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4984 if (UNTAG_Bool(variable[17])) { /*if*/
4985 ((array___AbstractArray___add_t)CALL( variable[10] /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable[10] /*listnode10*/, variable[15] /*pclassdefnode5*/) /*AbstractArray::add*/;
4986 }
4987 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[16] /*pclassdefnode9*/ == NIT_NULL /*null*/) || (( variable[16] /*pclassdefnode9*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[16] /*pclassdefnode9*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[16] /*pclassdefnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[16] /*pclassdefnode9*/,COLOR_kernel___Object_____eqeq))( variable[16] /*pclassdefnode9*/, NIT_NULL /*null*/) /*Object::==*/)))))));
4988 if (UNTAG_Bool(variable[17])) { /*if*/
4989 ((array___AbstractArray___add_t)CALL( variable[10] /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable[10] /*listnode10*/, variable[16] /*pclassdefnode9*/) /*AbstractArray::add*/;
4990 }
4991 variable[18] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[9] /*listnode4*/, variable[10] /*listnode10*/); /*new AModule*/
4992 variable[17] = variable[18];
4993 variable[3] = variable[17] /*pmodulenode1*/ /*node_list=*/;
4994 variable[18] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
4995 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
4996 return_label106: while(false);
4997 tracehead = trace.prev;
4998 return;
4999 }
5000 void parser___ReduceAction37___init(val_t self, int* init_table) {
5001 struct trace_t trace = {NULL, NULL, 2563, LOCATE_parser___ReduceAction37___init};
5002 val_t variable[2];
5003 void **closurevariable = NULL;
5004 trace.prev = tracehead; tracehead = &trace;
5005 trace.file = LOCATE_parser;
5006 variable[0] = self;
5007 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction37].i]) return;
5008 return_label107: while(false);
5009 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction37].i] = 1;
5010 tracehead = trace.prev;
5011 return;
5012 }
5013 void parser___ReduceAction38___action(val_t self, val_t param0) {
5014 struct trace_t trace = {NULL, NULL, 2567, LOCATE_parser___ReduceAction38___action};
5015 val_t variable[19];
5016 void **closurevariable = NULL;
5017 trace.prev = tracehead; tracehead = &trace;
5018 trace.file = LOCATE_parser;
5019 variable[0] = self;
5020 variable[1] = param0;
5021 variable[3] = NIT_NULL /*null*/;
5022 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
5023 variable[4] = variable[5];
5024 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
5025 variable[5] = variable[6];
5026 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
5027 variable[6] = variable[7];
5028 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
5029 variable[7] = variable[8];
5030 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
5031 variable[8] = variable[9];
5032 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
5033 variable[9] = variable[10];
5034 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
5035 variable[10] = variable[11];
5036 variable[11] = variable[8] /*nodearraylist1*/;
5037 variable[12] = TAG_Bool(( variable[11] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
5038 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction38___action, LOCATE_parser, 2578); nit_exit(1);}
5039 variable[12] = variable[7] /*nodearraylist2*/;
5040 variable[13] = TAG_Bool(( variable[12] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5041 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction38___action, LOCATE_parser, 2580); nit_exit(1);}
5042 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable[12] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5043 if (UNTAG_Bool(variable[13])) { /*if*/
5044 variable[13] = ((array___AbstractArray___is_empty_t)CALL( variable[9] /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable[9] /*listnode4*/) /*AbstractArray::is_empty*/;
5045 if (UNTAG_Bool(variable[13])) { /*if*/
5046 variable[9] = variable[12] /*listnode3*/ /*listnode4=*/;
5047 } else { /*if*/
5048 ((abstract_collection___IndexedCollection___append_t)CALL( variable[9] /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable[9] /*listnode4*/, variable[12] /*listnode3*/) /*IndexedCollection::append*/;
5049 }
5050 }
5051 variable[14] = NEW_Array_array___Array___init(); /*new Array[Object]*/
5052 variable[13] = variable[14];
5053 variable[14] = variable[6] /*nodearraylist3*/;
5054 variable[15] = TAG_Bool(( variable[14] /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable[14] /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
5055 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction38___action, LOCATE_parser, 2590); nit_exit(1);}
5056 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable[14] /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[14] /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[14] /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable[14] /*ppropdefnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5057 if (UNTAG_Bool(variable[15])) { /*if*/
5058 ((array___AbstractArray___add_t)CALL( variable[13] /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable[13] /*listnode7*/, variable[14] /*ppropdefnode6*/) /*AbstractArray::add*/;
5059 }
5060 variable[16] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[13] /*listnode7*/); /*new ATopClassdef*/
5061 variable[15] = variable[16];
5062 variable[16] = variable[4] /*nodearraylist5*/;
5063 variable[17] = TAG_Bool(( variable[16] /*pclassdefnode8*/==NIT_NULL) || VAL_ISA( variable[16] /*pclassdefnode8*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
5064 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction38___action, LOCATE_parser, 2598); nit_exit(1);}
5065 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable[15] /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[15] /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[15] /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable[15] /*pclassdefnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5066 if (UNTAG_Bool(variable[17])) { /*if*/
5067 ((array___AbstractArray___add_t)CALL( variable[10] /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable[10] /*listnode9*/, variable[15] /*pclassdefnode5*/) /*AbstractArray::add*/;
5068 }
5069 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[16] /*pclassdefnode8*/ == NIT_NULL /*null*/) || (( variable[16] /*pclassdefnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[16] /*pclassdefnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[16] /*pclassdefnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[16] /*pclassdefnode8*/,COLOR_kernel___Object_____eqeq))( variable[16] /*pclassdefnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5070 if (UNTAG_Bool(variable[17])) { /*if*/
5071 ((array___AbstractArray___add_t)CALL( variable[10] /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable[10] /*listnode9*/, variable[16] /*pclassdefnode8*/) /*AbstractArray::add*/;
5072 }
5073 variable[18] = NEW_AModule_parser_prod___AModule___init_amodule( variable[11] /*ppackagedeclnode2*/, variable[9] /*listnode4*/, variable[10] /*listnode9*/); /*new AModule*/
5074 variable[17] = variable[18];
5075 variable[3] = variable[17] /*pmodulenode1*/ /*node_list=*/;
5076 variable[18] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
5077 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
5078 return_label108: while(false);
5079 tracehead = trace.prev;
5080 return;
5081 }
5082 void parser___ReduceAction38___init(val_t self, int* init_table) {
5083 struct trace_t trace = {NULL, NULL, 2613, LOCATE_parser___ReduceAction38___init};
5084 val_t variable[2];
5085 void **closurevariable = NULL;
5086 trace.prev = tracehead; tracehead = &trace;
5087 trace.file = LOCATE_parser;
5088 variable[0] = self;
5089 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction38].i]) return;
5090 return_label109: while(false);
5091 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction38].i] = 1;
5092 tracehead = trace.prev;
5093 return;
5094 }
5095 void parser___ReduceAction39___action(val_t self, val_t param0) {
5096 struct trace_t trace = {NULL, NULL, 2617, LOCATE_parser___ReduceAction39___action};
5097 val_t variable[21];
5098 void **closurevariable = NULL;
5099 trace.prev = tracehead; tracehead = &trace;
5100 trace.file = LOCATE_parser;
5101 variable[0] = self;
5102 variable[1] = param0;
5103 variable[3] = NIT_NULL /*null*/;
5104 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
5105 variable[4] = variable[5];
5106 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
5107 variable[5] = variable[6];
5108 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
5109 variable[6] = variable[7];
5110 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
5111 variable[7] = variable[8];
5112 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
5113 variable[8] = variable[9];
5114 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
5115 variable[9] = variable[10];
5116 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
5117 variable[10] = variable[11];
5118 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
5119 variable[11] = variable[12];
5120 variable[12] = variable[9] /*nodearraylist1*/;
5121 variable[13] = TAG_Bool(( variable[12] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
5122 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction39___action, LOCATE_parser, 2629); nit_exit(1);}
5123 variable[13] = variable[8] /*nodearraylist2*/;
5124 variable[14] = TAG_Bool(( variable[13] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5125 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction39___action, LOCATE_parser, 2631); nit_exit(1);}
5126 variable[14] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[13] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[13] /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[13] /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[13] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[13] /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable[13] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5127 if (UNTAG_Bool(variable[14])) { /*if*/
5128 variable[14] = ((array___AbstractArray___is_empty_t)CALL( variable[10] /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable[10] /*listnode4*/) /*AbstractArray::is_empty*/;
5129 if (UNTAG_Bool(variable[14])) { /*if*/
5130 variable[10] = variable[13] /*listnode3*/ /*listnode4=*/;
5131 } else { /*if*/
5132 ((abstract_collection___IndexedCollection___append_t)CALL( variable[10] /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable[10] /*listnode4*/, variable[13] /*listnode3*/) /*IndexedCollection::append*/;
5133 }
5134 }
5135 variable[15] = NEW_Array_array___Array___init(); /*new Array[Object]*/
5136 variable[14] = variable[15];
5137 variable[15] = variable[7] /*nodearraylist3*/;
5138 variable[16] = TAG_Bool(( variable[15] /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
5139 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction39___action, LOCATE_parser, 2641); nit_exit(1);}
5140 variable[16] = variable[5] /*nodearraylist5*/;
5141 variable[17] = TAG_Bool(( variable[16] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[16] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5142 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction39___action, LOCATE_parser, 2643); nit_exit(1);}
5143 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable[15] /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[15] /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[15] /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable[15] /*ppropdefnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5144 if (UNTAG_Bool(variable[17])) { /*if*/
5145 ((array___AbstractArray___add_t)CALL( variable[14] /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable[14] /*listnode8*/, variable[15] /*ppropdefnode6*/) /*AbstractArray::add*/;
5146 }
5147 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[16] /*listnode7*/ == NIT_NULL /*null*/) || (( variable[16] /*listnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[16] /*listnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[16] /*listnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[16] /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable[16] /*listnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5148 if (UNTAG_Bool(variable[17])) { /*if*/
5149 variable[17] = ((array___AbstractArray___is_empty_t)CALL( variable[14] /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable[14] /*listnode8*/) /*AbstractArray::is_empty*/;
5150 if (UNTAG_Bool(variable[17])) { /*if*/
5151 variable[14] = variable[16] /*listnode7*/ /*listnode8=*/;
5152 } else { /*if*/
5153 ((abstract_collection___IndexedCollection___append_t)CALL( variable[14] /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable[14] /*listnode8*/, variable[16] /*listnode7*/) /*IndexedCollection::append*/;
5154 }
5155 }
5156 variable[18] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[14] /*listnode8*/); /*new ATopClassdef*/
5157 variable[17] = variable[18];
5158 variable[18] = variable[4] /*nodearraylist6*/;
5159 variable[19] = TAG_Bool(( variable[18] /*pclassdefnode9*/==NIT_NULL) || VAL_ISA( variable[18] /*pclassdefnode9*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
5160 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction39___action, LOCATE_parser, 2658); nit_exit(1);}
5161 variable[19] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[17] /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable[17] /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[17] /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[17] /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[17] /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable[17] /*pclassdefnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5162 if (UNTAG_Bool(variable[19])) { /*if*/
5163 ((array___AbstractArray___add_t)CALL( variable[11] /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable[11] /*listnode10*/, variable[17] /*pclassdefnode5*/) /*AbstractArray::add*/;
5164 }
5165 variable[19] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[18] /*pclassdefnode9*/ == NIT_NULL /*null*/) || (( variable[18] /*pclassdefnode9*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[18] /*pclassdefnode9*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[18] /*pclassdefnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[18] /*pclassdefnode9*/,COLOR_kernel___Object_____eqeq))( variable[18] /*pclassdefnode9*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5166 if (UNTAG_Bool(variable[19])) { /*if*/
5167 ((array___AbstractArray___add_t)CALL( variable[11] /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable[11] /*listnode10*/, variable[18] /*pclassdefnode9*/) /*AbstractArray::add*/;
5168 }
5169 variable[20] = NEW_AModule_parser_prod___AModule___init_amodule( variable[12] /*ppackagedeclnode2*/, variable[10] /*listnode4*/, variable[11] /*listnode10*/); /*new AModule*/
5170 variable[19] = variable[20];
5171 variable[3] = variable[19] /*pmodulenode1*/ /*node_list=*/;
5172 variable[20] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
5173 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
5174 return_label110: while(false);
5175 tracehead = trace.prev;
5176 return;
5177 }
5178 void parser___ReduceAction39___init(val_t self, int* init_table) {
5179 struct trace_t trace = {NULL, NULL, 2673, LOCATE_parser___ReduceAction39___init};
5180 val_t variable[2];
5181 void **closurevariable = NULL;
5182 trace.prev = tracehead; tracehead = &trace;
5183 trace.file = LOCATE_parser;
5184 variable[0] = self;
5185 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction39].i]) return;
5186 return_label111: while(false);
5187 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction39].i] = 1;
5188 tracehead = trace.prev;
5189 return;
5190 }
5191 void parser___ReduceAction40___action(val_t self, val_t param0) {
5192 struct trace_t trace = {NULL, NULL, 2677, LOCATE_parser___ReduceAction40___action};
5193 val_t variable[17];
5194 void **closurevariable = NULL;
5195 trace.prev = tracehead; tracehead = &trace;
5196 trace.file = LOCATE_parser;
5197 variable[0] = self;
5198 variable[1] = param0;
5199 variable[3] = NIT_NULL /*null*/;
5200 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
5201 variable[4] = variable[5];
5202 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
5203 variable[5] = variable[6];
5204 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
5205 variable[6] = variable[7];
5206 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
5207 variable[7] = variable[8];
5208 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
5209 variable[8] = variable[9];
5210 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
5211 variable[9] = variable[10];
5212 variable[10] = variable[7] /*nodearraylist1*/;
5213 variable[11] = TAG_Bool(( variable[10] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5214 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction40___action, LOCATE_parser, 2687); nit_exit(1);}
5215 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
5216 variable[11] = variable[12];
5217 variable[12] = variable[6] /*nodearraylist2*/;
5218 variable[13] = TAG_Bool(( variable[12] /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
5219 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction40___action, LOCATE_parser, 2690); nit_exit(1);}
5220 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable[12] /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[12] /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[12] /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable[12] /*ppropdefnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5221 if (UNTAG_Bool(variable[13])) { /*if*/
5222 ((array___AbstractArray___add_t)CALL( variable[11] /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable[11] /*listnode7*/, variable[12] /*ppropdefnode6*/) /*AbstractArray::add*/;
5223 }
5224 variable[14] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[11] /*listnode7*/); /*new ATopClassdef*/
5225 variable[13] = variable[14];
5226 variable[14] = variable[4] /*nodearraylist4*/;
5227 variable[15] = TAG_Bool(( variable[14] /*pclassdefnode8*/==NIT_NULL) || VAL_ISA( variable[14] /*pclassdefnode8*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
5228 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction40___action, LOCATE_parser, 2698); nit_exit(1);}
5229 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[10] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5230 if (UNTAG_Bool(variable[15])) { /*if*/
5231 variable[15] = ((array___AbstractArray___is_empty_t)CALL( variable[9] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[9] /*listnode9*/) /*AbstractArray::is_empty*/;
5232 if (UNTAG_Bool(variable[15])) { /*if*/
5233 variable[9] = variable[10] /*listnode4*/ /*listnode9=*/;
5234 } else { /*if*/
5235 ((abstract_collection___IndexedCollection___append_t)CALL( variable[9] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[9] /*listnode9*/, variable[10] /*listnode4*/) /*IndexedCollection::append*/;
5236 }
5237 }
5238 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[13] /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable[13] /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[13] /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[13] /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[13] /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable[13] /*pclassdefnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5239 if (UNTAG_Bool(variable[15])) { /*if*/
5240 ((array___AbstractArray___add_t)CALL( variable[9] /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable[9] /*listnode9*/, variable[13] /*pclassdefnode5*/) /*AbstractArray::add*/;
5241 }
5242 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*pclassdefnode8*/ == NIT_NULL /*null*/) || (( variable[14] /*pclassdefnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[14] /*pclassdefnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*pclassdefnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[14] /*pclassdefnode8*/,COLOR_kernel___Object_____eqeq))( variable[14] /*pclassdefnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5243 if (UNTAG_Bool(variable[15])) { /*if*/
5244 ((array___AbstractArray___add_t)CALL( variable[9] /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable[9] /*listnode9*/, variable[14] /*pclassdefnode8*/) /*AbstractArray::add*/;
5245 }
5246 variable[16] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[8] /*listnode3*/, variable[9] /*listnode9*/); /*new AModule*/
5247 variable[15] = variable[16];
5248 variable[3] = variable[15] /*pmodulenode1*/ /*node_list=*/;
5249 variable[16] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
5250 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[16], variable[3] /*node_list*/) /*Parser::push*/;
5251 return_label112: while(false);
5252 tracehead = trace.prev;
5253 return;
5254 }
5255 void parser___ReduceAction40___init(val_t self, int* init_table) {
5256 struct trace_t trace = {NULL, NULL, 2720, LOCATE_parser___ReduceAction40___init};
5257 val_t variable[2];
5258 void **closurevariable = NULL;
5259 trace.prev = tracehead; tracehead = &trace;
5260 trace.file = LOCATE_parser;
5261 variable[0] = self;
5262 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction40].i]) return;
5263 return_label113: while(false);
5264 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction40].i] = 1;
5265 tracehead = trace.prev;
5266 return;
5267 }
5268 void parser___ReduceAction41___action(val_t self, val_t param0) {
5269 struct trace_t trace = {NULL, NULL, 2724, LOCATE_parser___ReduceAction41___action};
5270 val_t variable[19];
5271 void **closurevariable = NULL;
5272 trace.prev = tracehead; tracehead = &trace;
5273 trace.file = LOCATE_parser;
5274 variable[0] = self;
5275 variable[1] = param0;
5276 variable[3] = NIT_NULL /*null*/;
5277 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
5278 variable[4] = variable[5];
5279 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
5280 variable[5] = variable[6];
5281 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
5282 variable[6] = variable[7];
5283 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
5284 variable[7] = variable[8];
5285 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
5286 variable[8] = variable[9];
5287 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
5288 variable[9] = variable[10];
5289 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
5290 variable[10] = variable[11];
5291 variable[11] = variable[8] /*nodearraylist1*/;
5292 variable[12] = TAG_Bool(( variable[11] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5293 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction41___action, LOCATE_parser, 2735); nit_exit(1);}
5294 variable[13] = NEW_Array_array___Array___init(); /*new Array[Object]*/
5295 variable[12] = variable[13];
5296 variable[13] = variable[7] /*nodearraylist2*/;
5297 variable[14] = TAG_Bool(( variable[13] /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable[13] /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
5298 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction41___action, LOCATE_parser, 2738); nit_exit(1);}
5299 variable[14] = variable[5] /*nodearraylist4*/;
5300 variable[15] = TAG_Bool(( variable[14] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[14] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5301 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction41___action, LOCATE_parser, 2740); nit_exit(1);}
5302 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[13] /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable[13] /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[13] /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[13] /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[13] /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable[13] /*ppropdefnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5303 if (UNTAG_Bool(variable[15])) { /*if*/
5304 ((array___AbstractArray___add_t)CALL( variable[12] /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable[12] /*listnode8*/, variable[13] /*ppropdefnode6*/) /*AbstractArray::add*/;
5305 }
5306 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*listnode7*/ == NIT_NULL /*null*/) || (( variable[14] /*listnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[14] /*listnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*listnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[14] /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable[14] /*listnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5307 if (UNTAG_Bool(variable[15])) { /*if*/
5308 variable[15] = ((array___AbstractArray___is_empty_t)CALL( variable[12] /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable[12] /*listnode8*/) /*AbstractArray::is_empty*/;
5309 if (UNTAG_Bool(variable[15])) { /*if*/
5310 variable[12] = variable[14] /*listnode7*/ /*listnode8=*/;
5311 } else { /*if*/
5312 ((abstract_collection___IndexedCollection___append_t)CALL( variable[12] /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable[12] /*listnode8*/, variable[14] /*listnode7*/) /*IndexedCollection::append*/;
5313 }
5314 }
5315 variable[16] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[12] /*listnode8*/); /*new ATopClassdef*/
5316 variable[15] = variable[16];
5317 variable[16] = variable[4] /*nodearraylist5*/;
5318 variable[17] = TAG_Bool(( variable[16] /*pclassdefnode9*/==NIT_NULL) || VAL_ISA( variable[16] /*pclassdefnode9*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
5319 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction41___action, LOCATE_parser, 2755); nit_exit(1);}
5320 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[11] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5321 if (UNTAG_Bool(variable[17])) { /*if*/
5322 variable[17] = ((array___AbstractArray___is_empty_t)CALL( variable[10] /*listnode10*/,COLOR_abstract_collection___Collection___is_empty))( variable[10] /*listnode10*/) /*AbstractArray::is_empty*/;
5323 if (UNTAG_Bool(variable[17])) { /*if*/
5324 variable[10] = variable[11] /*listnode4*/ /*listnode10=*/;
5325 } else { /*if*/
5326 ((abstract_collection___IndexedCollection___append_t)CALL( variable[10] /*listnode10*/,COLOR_abstract_collection___IndexedCollection___append))( variable[10] /*listnode10*/, variable[11] /*listnode4*/) /*IndexedCollection::append*/;
5327 }
5328 }
5329 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable[15] /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[15] /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[15] /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable[15] /*pclassdefnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5330 if (UNTAG_Bool(variable[17])) { /*if*/
5331 ((array___AbstractArray___add_t)CALL( variable[10] /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable[10] /*listnode10*/, variable[15] /*pclassdefnode5*/) /*AbstractArray::add*/;
5332 }
5333 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[16] /*pclassdefnode9*/ == NIT_NULL /*null*/) || (( variable[16] /*pclassdefnode9*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[16] /*pclassdefnode9*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[16] /*pclassdefnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[16] /*pclassdefnode9*/,COLOR_kernel___Object_____eqeq))( variable[16] /*pclassdefnode9*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5334 if (UNTAG_Bool(variable[17])) { /*if*/
5335 ((array___AbstractArray___add_t)CALL( variable[10] /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable[10] /*listnode10*/, variable[16] /*pclassdefnode9*/) /*AbstractArray::add*/;
5336 }
5337 variable[18] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[9] /*listnode3*/, variable[10] /*listnode10*/); /*new AModule*/
5338 variable[17] = variable[18];
5339 variable[3] = variable[17] /*pmodulenode1*/ /*node_list=*/;
5340 variable[18] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
5341 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
5342 return_label114: while(false);
5343 tracehead = trace.prev;
5344 return;
5345 }
5346 void parser___ReduceAction41___init(val_t self, int* init_table) {
5347 struct trace_t trace = {NULL, NULL, 2777, LOCATE_parser___ReduceAction41___init};
5348 val_t variable[2];
5349 void **closurevariable = NULL;
5350 trace.prev = tracehead; tracehead = &trace;
5351 trace.file = LOCATE_parser;
5352 variable[0] = self;
5353 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction41].i]) return;
5354 return_label115: while(false);
5355 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction41].i] = 1;
5356 tracehead = trace.prev;
5357 return;
5358 }
5359 void parser___ReduceAction42___action(val_t self, val_t param0) {
5360 struct trace_t trace = {NULL, NULL, 2781, LOCATE_parser___ReduceAction42___action};
5361 val_t variable[19];
5362 void **closurevariable = NULL;
5363 trace.prev = tracehead; tracehead = &trace;
5364 trace.file = LOCATE_parser;
5365 variable[0] = self;
5366 variable[1] = param0;
5367 variable[3] = NIT_NULL /*null*/;
5368 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
5369 variable[4] = variable[5];
5370 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
5371 variable[5] = variable[6];
5372 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
5373 variable[6] = variable[7];
5374 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
5375 variable[7] = variable[8];
5376 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
5377 variable[8] = variable[9];
5378 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
5379 variable[9] = variable[10];
5380 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
5381 variable[10] = variable[11];
5382 variable[11] = variable[8] /*nodearraylist1*/;
5383 variable[12] = TAG_Bool(( variable[11] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
5384 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction42___action, LOCATE_parser, 2792); nit_exit(1);}
5385 variable[12] = variable[7] /*nodearraylist2*/;
5386 variable[13] = TAG_Bool(( variable[12] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5387 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction42___action, LOCATE_parser, 2794); nit_exit(1);}
5388 variable[14] = NEW_Array_array___Array___init(); /*new Array[Object]*/
5389 variable[13] = variable[14];
5390 variable[14] = variable[6] /*nodearraylist3*/;
5391 variable[15] = TAG_Bool(( variable[14] /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable[14] /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
5392 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction42___action, LOCATE_parser, 2797); nit_exit(1);}
5393 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable[14] /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[14] /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[14] /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable[14] /*ppropdefnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5394 if (UNTAG_Bool(variable[15])) { /*if*/
5395 ((array___AbstractArray___add_t)CALL( variable[13] /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable[13] /*listnode7*/, variable[14] /*ppropdefnode6*/) /*AbstractArray::add*/;
5396 }
5397 variable[16] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[13] /*listnode7*/); /*new ATopClassdef*/
5398 variable[15] = variable[16];
5399 variable[16] = variable[4] /*nodearraylist5*/;
5400 variable[17] = TAG_Bool(( variable[16] /*pclassdefnode8*/==NIT_NULL) || VAL_ISA( variable[16] /*pclassdefnode8*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
5401 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction42___action, LOCATE_parser, 2805); nit_exit(1);}
5402 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[12] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5403 if (UNTAG_Bool(variable[17])) { /*if*/
5404 variable[17] = ((array___AbstractArray___is_empty_t)CALL( variable[10] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[10] /*listnode9*/) /*AbstractArray::is_empty*/;
5405 if (UNTAG_Bool(variable[17])) { /*if*/
5406 variable[10] = variable[12] /*listnode4*/ /*listnode9=*/;
5407 } else { /*if*/
5408 ((abstract_collection___IndexedCollection___append_t)CALL( variable[10] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[10] /*listnode9*/, variable[12] /*listnode4*/) /*IndexedCollection::append*/;
5409 }
5410 }
5411 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable[15] /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[15] /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[15] /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable[15] /*pclassdefnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5412 if (UNTAG_Bool(variable[17])) { /*if*/
5413 ((array___AbstractArray___add_t)CALL( variable[10] /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable[10] /*listnode9*/, variable[15] /*pclassdefnode5*/) /*AbstractArray::add*/;
5414 }
5415 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[16] /*pclassdefnode8*/ == NIT_NULL /*null*/) || (( variable[16] /*pclassdefnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[16] /*pclassdefnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[16] /*pclassdefnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[16] /*pclassdefnode8*/,COLOR_kernel___Object_____eqeq))( variable[16] /*pclassdefnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5416 if (UNTAG_Bool(variable[17])) { /*if*/
5417 ((array___AbstractArray___add_t)CALL( variable[10] /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable[10] /*listnode9*/, variable[16] /*pclassdefnode8*/) /*AbstractArray::add*/;
5418 }
5419 variable[18] = NEW_AModule_parser_prod___AModule___init_amodule( variable[11] /*ppackagedeclnode2*/, variable[9] /*listnode3*/, variable[10] /*listnode9*/); /*new AModule*/
5420 variable[17] = variable[18];
5421 variable[3] = variable[17] /*pmodulenode1*/ /*node_list=*/;
5422 variable[18] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
5423 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
5424 return_label116: while(false);
5425 tracehead = trace.prev;
5426 return;
5427 }
5428 void parser___ReduceAction42___init(val_t self, int* init_table) {
5429 struct trace_t trace = {NULL, NULL, 2827, LOCATE_parser___ReduceAction42___init};
5430 val_t variable[2];
5431 void **closurevariable = NULL;
5432 trace.prev = tracehead; tracehead = &trace;
5433 trace.file = LOCATE_parser;
5434 variable[0] = self;
5435 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction42].i]) return;
5436 return_label117: while(false);
5437 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction42].i] = 1;
5438 tracehead = trace.prev;
5439 return;
5440 }
5441 void parser___ReduceAction43___action(val_t self, val_t param0) {
5442 struct trace_t trace = {NULL, NULL, 2831, LOCATE_parser___ReduceAction43___action};
5443 val_t variable[21];
5444 void **closurevariable = NULL;
5445 trace.prev = tracehead; tracehead = &trace;
5446 trace.file = LOCATE_parser;
5447 variable[0] = self;
5448 variable[1] = param0;
5449 variable[3] = NIT_NULL /*null*/;
5450 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
5451 variable[4] = variable[5];
5452 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
5453 variable[5] = variable[6];
5454 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
5455 variable[6] = variable[7];
5456 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
5457 variable[7] = variable[8];
5458 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
5459 variable[8] = variable[9];
5460 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
5461 variable[9] = variable[10];
5462 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
5463 variable[10] = variable[11];
5464 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
5465 variable[11] = variable[12];
5466 variable[12] = variable[9] /*nodearraylist1*/;
5467 variable[13] = TAG_Bool(( variable[12] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
5468 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction43___action, LOCATE_parser, 2843); nit_exit(1);}
5469 variable[13] = variable[8] /*nodearraylist2*/;
5470 variable[14] = TAG_Bool(( variable[13] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[13] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5471 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction43___action, LOCATE_parser, 2845); nit_exit(1);}
5472 variable[15] = NEW_Array_array___Array___init(); /*new Array[Object]*/
5473 variable[14] = variable[15];
5474 variable[15] = variable[7] /*nodearraylist3*/;
5475 variable[16] = TAG_Bool(( variable[15] /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
5476 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction43___action, LOCATE_parser, 2848); nit_exit(1);}
5477 variable[16] = variable[5] /*nodearraylist5*/;
5478 variable[17] = TAG_Bool(( variable[16] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[16] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5479 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction43___action, LOCATE_parser, 2850); nit_exit(1);}
5480 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable[15] /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[15] /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[15] /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable[15] /*ppropdefnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5481 if (UNTAG_Bool(variable[17])) { /*if*/
5482 ((array___AbstractArray___add_t)CALL( variable[14] /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable[14] /*listnode8*/, variable[15] /*ppropdefnode6*/) /*AbstractArray::add*/;
5483 }
5484 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[16] /*listnode7*/ == NIT_NULL /*null*/) || (( variable[16] /*listnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[16] /*listnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[16] /*listnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[16] /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable[16] /*listnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5485 if (UNTAG_Bool(variable[17])) { /*if*/
5486 variable[17] = ((array___AbstractArray___is_empty_t)CALL( variable[14] /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable[14] /*listnode8*/) /*AbstractArray::is_empty*/;
5487 if (UNTAG_Bool(variable[17])) { /*if*/
5488 variable[14] = variable[16] /*listnode7*/ /*listnode8=*/;
5489 } else { /*if*/
5490 ((abstract_collection___IndexedCollection___append_t)CALL( variable[14] /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable[14] /*listnode8*/, variable[16] /*listnode7*/) /*IndexedCollection::append*/;
5491 }
5492 }
5493 variable[18] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[14] /*listnode8*/); /*new ATopClassdef*/
5494 variable[17] = variable[18];
5495 variable[18] = variable[4] /*nodearraylist6*/;
5496 variable[19] = TAG_Bool(( variable[18] /*pclassdefnode9*/==NIT_NULL) || VAL_ISA( variable[18] /*pclassdefnode9*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
5497 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction43___action, LOCATE_parser, 2865); nit_exit(1);}
5498 variable[19] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[13] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[13] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[13] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[13] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[13] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[13] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5499 if (UNTAG_Bool(variable[19])) { /*if*/
5500 variable[19] = ((array___AbstractArray___is_empty_t)CALL( variable[11] /*listnode10*/,COLOR_abstract_collection___Collection___is_empty))( variable[11] /*listnode10*/) /*AbstractArray::is_empty*/;
5501 if (UNTAG_Bool(variable[19])) { /*if*/
5502 variable[11] = variable[13] /*listnode4*/ /*listnode10=*/;
5503 } else { /*if*/
5504 ((abstract_collection___IndexedCollection___append_t)CALL( variable[11] /*listnode10*/,COLOR_abstract_collection___IndexedCollection___append))( variable[11] /*listnode10*/, variable[13] /*listnode4*/) /*IndexedCollection::append*/;
5505 }
5506 }
5507 variable[19] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[17] /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable[17] /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[17] /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[17] /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[17] /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable[17] /*pclassdefnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5508 if (UNTAG_Bool(variable[19])) { /*if*/
5509 ((array___AbstractArray___add_t)CALL( variable[11] /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable[11] /*listnode10*/, variable[17] /*pclassdefnode5*/) /*AbstractArray::add*/;
5510 }
5511 variable[19] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[18] /*pclassdefnode9*/ == NIT_NULL /*null*/) || (( variable[18] /*pclassdefnode9*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[18] /*pclassdefnode9*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[18] /*pclassdefnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[18] /*pclassdefnode9*/,COLOR_kernel___Object_____eqeq))( variable[18] /*pclassdefnode9*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5512 if (UNTAG_Bool(variable[19])) { /*if*/
5513 ((array___AbstractArray___add_t)CALL( variable[11] /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable[11] /*listnode10*/, variable[18] /*pclassdefnode9*/) /*AbstractArray::add*/;
5514 }
5515 variable[20] = NEW_AModule_parser_prod___AModule___init_amodule( variable[12] /*ppackagedeclnode2*/, variable[10] /*listnode3*/, variable[11] /*listnode10*/); /*new AModule*/
5516 variable[19] = variable[20];
5517 variable[3] = variable[19] /*pmodulenode1*/ /*node_list=*/;
5518 variable[20] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
5519 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
5520 return_label118: while(false);
5521 tracehead = trace.prev;
5522 return;
5523 }
5524 void parser___ReduceAction43___init(val_t self, int* init_table) {
5525 struct trace_t trace = {NULL, NULL, 2887, LOCATE_parser___ReduceAction43___init};
5526 val_t variable[2];
5527 void **closurevariable = NULL;
5528 trace.prev = tracehead; tracehead = &trace;
5529 trace.file = LOCATE_parser;
5530 variable[0] = self;
5531 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction43].i]) return;
5532 return_label119: while(false);
5533 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction43].i] = 1;
5534 tracehead = trace.prev;
5535 return;
5536 }
5537 void parser___ReduceAction44___action(val_t self, val_t param0) {
5538 struct trace_t trace = {NULL, NULL, 2891, LOCATE_parser___ReduceAction44___action};
5539 val_t variable[19];
5540 void **closurevariable = NULL;
5541 trace.prev = tracehead; tracehead = &trace;
5542 trace.file = LOCATE_parser;
5543 variable[0] = self;
5544 variable[1] = param0;
5545 variable[3] = NIT_NULL /*null*/;
5546 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
5547 variable[4] = variable[5];
5548 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
5549 variable[5] = variable[6];
5550 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
5551 variable[6] = variable[7];
5552 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
5553 variable[7] = variable[8];
5554 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
5555 variable[8] = variable[9];
5556 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
5557 variable[9] = variable[10];
5558 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
5559 variable[10] = variable[11];
5560 variable[11] = variable[8] /*nodearraylist1*/;
5561 variable[12] = TAG_Bool(( variable[11] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5562 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction44___action, LOCATE_parser, 2902); nit_exit(1);}
5563 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable[11] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5564 if (UNTAG_Bool(variable[12])) { /*if*/
5565 variable[12] = ((array___AbstractArray___is_empty_t)CALL( variable[9] /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable[9] /*listnode4*/) /*AbstractArray::is_empty*/;
5566 if (UNTAG_Bool(variable[12])) { /*if*/
5567 variable[9] = variable[11] /*listnode3*/ /*listnode4=*/;
5568 } else { /*if*/
5569 ((abstract_collection___IndexedCollection___append_t)CALL( variable[9] /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable[9] /*listnode4*/, variable[11] /*listnode3*/) /*IndexedCollection::append*/;
5570 }
5571 }
5572 variable[12] = variable[7] /*nodearraylist2*/;
5573 variable[13] = TAG_Bool(( variable[12] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5574 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction44___action, LOCATE_parser, 2911); nit_exit(1);}
5575 variable[14] = NEW_Array_array___Array___init(); /*new Array[Object]*/
5576 variable[13] = variable[14];
5577 variable[14] = variable[6] /*nodearraylist3*/;
5578 variable[15] = TAG_Bool(( variable[14] /*ppropdefnode7*/==NIT_NULL) || VAL_ISA( variable[14] /*ppropdefnode7*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
5579 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction44___action, LOCATE_parser, 2914); nit_exit(1);}
5580 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*ppropdefnode7*/ == NIT_NULL /*null*/) || (( variable[14] /*ppropdefnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[14] /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*ppropdefnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[14] /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))( variable[14] /*ppropdefnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5581 if (UNTAG_Bool(variable[15])) { /*if*/
5582 ((array___AbstractArray___add_t)CALL( variable[13] /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable[13] /*listnode8*/, variable[14] /*ppropdefnode7*/) /*AbstractArray::add*/;
5583 }
5584 variable[16] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[13] /*listnode8*/); /*new ATopClassdef*/
5585 variable[15] = variable[16];
5586 variable[16] = variable[4] /*nodearraylist5*/;
5587 variable[17] = TAG_Bool(( variable[16] /*pclassdefnode9*/==NIT_NULL) || VAL_ISA( variable[16] /*pclassdefnode9*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
5588 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction44___action, LOCATE_parser, 2922); nit_exit(1);}
5589 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode5*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable[12] /*listnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5590 if (UNTAG_Bool(variable[17])) { /*if*/
5591 variable[17] = ((array___AbstractArray___is_empty_t)CALL( variable[10] /*listnode10*/,COLOR_abstract_collection___Collection___is_empty))( variable[10] /*listnode10*/) /*AbstractArray::is_empty*/;
5592 if (UNTAG_Bool(variable[17])) { /*if*/
5593 variable[10] = variable[12] /*listnode5*/ /*listnode10=*/;
5594 } else { /*if*/
5595 ((abstract_collection___IndexedCollection___append_t)CALL( variable[10] /*listnode10*/,COLOR_abstract_collection___IndexedCollection___append))( variable[10] /*listnode10*/, variable[12] /*listnode5*/) /*IndexedCollection::append*/;
5596 }
5597 }
5598 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*pclassdefnode6*/ == NIT_NULL /*null*/) || (( variable[15] /*pclassdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[15] /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*pclassdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[15] /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))( variable[15] /*pclassdefnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5599 if (UNTAG_Bool(variable[17])) { /*if*/
5600 ((array___AbstractArray___add_t)CALL( variable[10] /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable[10] /*listnode10*/, variable[15] /*pclassdefnode6*/) /*AbstractArray::add*/;
5601 }
5602 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[16] /*pclassdefnode9*/ == NIT_NULL /*null*/) || (( variable[16] /*pclassdefnode9*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[16] /*pclassdefnode9*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[16] /*pclassdefnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[16] /*pclassdefnode9*/,COLOR_kernel___Object_____eqeq))( variable[16] /*pclassdefnode9*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5603 if (UNTAG_Bool(variable[17])) { /*if*/
5604 ((array___AbstractArray___add_t)CALL( variable[10] /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable[10] /*listnode10*/, variable[16] /*pclassdefnode9*/) /*AbstractArray::add*/;
5605 }
5606 variable[18] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[9] /*listnode4*/, variable[10] /*listnode10*/); /*new AModule*/
5607 variable[17] = variable[18];
5608 variable[3] = variable[17] /*pmodulenode1*/ /*node_list=*/;
5609 variable[18] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
5610 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
5611 return_label120: while(false);
5612 tracehead = trace.prev;
5613 return;
5614 }
5615 void parser___ReduceAction44___init(val_t self, int* init_table) {
5616 struct trace_t trace = {NULL, NULL, 2944, LOCATE_parser___ReduceAction44___init};
5617 val_t variable[2];
5618 void **closurevariable = NULL;
5619 trace.prev = tracehead; tracehead = &trace;
5620 trace.file = LOCATE_parser;
5621 variable[0] = self;
5622 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction44].i]) return;
5623 return_label121: while(false);
5624 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction44].i] = 1;
5625 tracehead = trace.prev;
5626 return;
5627 }
5628 void parser___ReduceAction45___action(val_t self, val_t param0) {
5629 struct trace_t trace = {NULL, NULL, 2948, LOCATE_parser___ReduceAction45___action};
5630 val_t variable[21];
5631 void **closurevariable = NULL;
5632 trace.prev = tracehead; tracehead = &trace;
5633 trace.file = LOCATE_parser;
5634 variable[0] = self;
5635 variable[1] = param0;
5636 variable[3] = NIT_NULL /*null*/;
5637 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
5638 variable[4] = variable[5];
5639 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
5640 variable[5] = variable[6];
5641 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
5642 variable[6] = variable[7];
5643 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
5644 variable[7] = variable[8];
5645 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
5646 variable[8] = variable[9];
5647 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
5648 variable[9] = variable[10];
5649 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
5650 variable[10] = variable[11];
5651 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
5652 variable[11] = variable[12];
5653 variable[12] = variable[9] /*nodearraylist1*/;
5654 variable[13] = TAG_Bool(( variable[12] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5655 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction45___action, LOCATE_parser, 2960); nit_exit(1);}
5656 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable[12] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5657 if (UNTAG_Bool(variable[13])) { /*if*/
5658 variable[13] = ((array___AbstractArray___is_empty_t)CALL( variable[10] /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable[10] /*listnode4*/) /*AbstractArray::is_empty*/;
5659 if (UNTAG_Bool(variable[13])) { /*if*/
5660 variable[10] = variable[12] /*listnode3*/ /*listnode4=*/;
5661 } else { /*if*/
5662 ((abstract_collection___IndexedCollection___append_t)CALL( variable[10] /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable[10] /*listnode4*/, variable[12] /*listnode3*/) /*IndexedCollection::append*/;
5663 }
5664 }
5665 variable[13] = variable[8] /*nodearraylist2*/;
5666 variable[14] = TAG_Bool(( variable[13] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5667 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction45___action, LOCATE_parser, 2969); nit_exit(1);}
5668 variable[15] = NEW_Array_array___Array___init(); /*new Array[Object]*/
5669 variable[14] = variable[15];
5670 variable[15] = variable[7] /*nodearraylist3*/;
5671 variable[16] = TAG_Bool(( variable[15] /*ppropdefnode7*/==NIT_NULL) || VAL_ISA( variable[15] /*ppropdefnode7*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
5672 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction45___action, LOCATE_parser, 2972); nit_exit(1);}
5673 variable[16] = variable[5] /*nodearraylist5*/;
5674 variable[17] = TAG_Bool(( variable[16] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[16] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5675 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction45___action, LOCATE_parser, 2974); nit_exit(1);}
5676 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*ppropdefnode7*/ == NIT_NULL /*null*/) || (( variable[15] /*ppropdefnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[15] /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*ppropdefnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[15] /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))( variable[15] /*ppropdefnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5677 if (UNTAG_Bool(variable[17])) { /*if*/
5678 ((array___AbstractArray___add_t)CALL( variable[14] /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable[14] /*listnode9*/, variable[15] /*ppropdefnode7*/) /*AbstractArray::add*/;
5679 }
5680 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[16] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[16] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[16] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[16] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[16] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[16] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5681 if (UNTAG_Bool(variable[17])) { /*if*/
5682 variable[17] = ((array___AbstractArray___is_empty_t)CALL( variable[14] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[14] /*listnode9*/) /*AbstractArray::is_empty*/;
5683 if (UNTAG_Bool(variable[17])) { /*if*/
5684 variable[14] = variable[16] /*listnode8*/ /*listnode9=*/;
5685 } else { /*if*/
5686 ((abstract_collection___IndexedCollection___append_t)CALL( variable[14] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[14] /*listnode9*/, variable[16] /*listnode8*/) /*IndexedCollection::append*/;
5687 }
5688 }
5689 variable[18] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[14] /*listnode9*/); /*new ATopClassdef*/
5690 variable[17] = variable[18];
5691 variable[18] = variable[4] /*nodearraylist6*/;
5692 variable[19] = TAG_Bool(( variable[18] /*pclassdefnode10*/==NIT_NULL) || VAL_ISA( variable[18] /*pclassdefnode10*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
5693 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction45___action, LOCATE_parser, 2989); nit_exit(1);}
5694 variable[19] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[13] /*listnode5*/ == NIT_NULL /*null*/) || (( variable[13] /*listnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[13] /*listnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[13] /*listnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[13] /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable[13] /*listnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5695 if (UNTAG_Bool(variable[19])) { /*if*/
5696 variable[19] = ((array___AbstractArray___is_empty_t)CALL( variable[11] /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable[11] /*listnode11*/) /*AbstractArray::is_empty*/;
5697 if (UNTAG_Bool(variable[19])) { /*if*/
5698 variable[11] = variable[13] /*listnode5*/ /*listnode11=*/;
5699 } else { /*if*/
5700 ((abstract_collection___IndexedCollection___append_t)CALL( variable[11] /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable[11] /*listnode11*/, variable[13] /*listnode5*/) /*IndexedCollection::append*/;
5701 }
5702 }
5703 variable[19] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[17] /*pclassdefnode6*/ == NIT_NULL /*null*/) || (( variable[17] /*pclassdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[17] /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[17] /*pclassdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[17] /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))( variable[17] /*pclassdefnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5704 if (UNTAG_Bool(variable[19])) { /*if*/
5705 ((array___AbstractArray___add_t)CALL( variable[11] /*listnode11*/,COLOR_abstract_collection___SimpleCollection___add))( variable[11] /*listnode11*/, variable[17] /*pclassdefnode6*/) /*AbstractArray::add*/;
5706 }
5707 variable[19] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[18] /*pclassdefnode10*/ == NIT_NULL /*null*/) || (( variable[18] /*pclassdefnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[18] /*pclassdefnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[18] /*pclassdefnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[18] /*pclassdefnode10*/,COLOR_kernel___Object_____eqeq))( variable[18] /*pclassdefnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5708 if (UNTAG_Bool(variable[19])) { /*if*/
5709 ((array___AbstractArray___add_t)CALL( variable[11] /*listnode11*/,COLOR_abstract_collection___SimpleCollection___add))( variable[11] /*listnode11*/, variable[18] /*pclassdefnode10*/) /*AbstractArray::add*/;
5710 }
5711 variable[20] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[10] /*listnode4*/, variable[11] /*listnode11*/); /*new AModule*/
5712 variable[19] = variable[20];
5713 variable[3] = variable[19] /*pmodulenode1*/ /*node_list=*/;
5714 variable[20] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
5715 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
5716 return_label122: while(false);
5717 tracehead = trace.prev;
5718 return;
5719 }
5720 void parser___ReduceAction45___init(val_t self, int* init_table) {
5721 struct trace_t trace = {NULL, NULL, 3011, LOCATE_parser___ReduceAction45___init};
5722 val_t variable[2];
5723 void **closurevariable = NULL;
5724 trace.prev = tracehead; tracehead = &trace;
5725 trace.file = LOCATE_parser;
5726 variable[0] = self;
5727 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction45].i]) return;
5728 return_label123: while(false);
5729 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction45].i] = 1;
5730 tracehead = trace.prev;
5731 return;
5732 }
5733 void parser___ReduceAction46___action(val_t self, val_t param0) {
5734 struct trace_t trace = {NULL, NULL, 3015, LOCATE_parser___ReduceAction46___action};
5735 val_t variable[21];
5736 void **closurevariable = NULL;
5737 trace.prev = tracehead; tracehead = &trace;
5738 trace.file = LOCATE_parser;
5739 variable[0] = self;
5740 variable[1] = param0;
5741 variable[3] = NIT_NULL /*null*/;
5742 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
5743 variable[4] = variable[5];
5744 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
5745 variable[5] = variable[6];
5746 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
5747 variable[6] = variable[7];
5748 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
5749 variable[7] = variable[8];
5750 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
5751 variable[8] = variable[9];
5752 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
5753 variable[9] = variable[10];
5754 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
5755 variable[10] = variable[11];
5756 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
5757 variable[11] = variable[12];
5758 variable[12] = variable[9] /*nodearraylist1*/;
5759 variable[13] = TAG_Bool(( variable[12] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
5760 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction46___action, LOCATE_parser, 3027); nit_exit(1);}
5761 variable[13] = variable[8] /*nodearraylist2*/;
5762 variable[14] = TAG_Bool(( variable[13] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5763 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction46___action, LOCATE_parser, 3029); nit_exit(1);}
5764 variable[14] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[13] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[13] /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[13] /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[13] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[13] /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable[13] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5765 if (UNTAG_Bool(variable[14])) { /*if*/
5766 variable[14] = ((array___AbstractArray___is_empty_t)CALL( variable[10] /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable[10] /*listnode4*/) /*AbstractArray::is_empty*/;
5767 if (UNTAG_Bool(variable[14])) { /*if*/
5768 variable[10] = variable[13] /*listnode3*/ /*listnode4=*/;
5769 } else { /*if*/
5770 ((abstract_collection___IndexedCollection___append_t)CALL( variable[10] /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable[10] /*listnode4*/, variable[13] /*listnode3*/) /*IndexedCollection::append*/;
5771 }
5772 }
5773 variable[14] = variable[7] /*nodearraylist3*/;
5774 variable[15] = TAG_Bool(( variable[14] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5775 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction46___action, LOCATE_parser, 3038); nit_exit(1);}
5776 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
5777 variable[15] = variable[16];
5778 variable[16] = variable[6] /*nodearraylist4*/;
5779 variable[17] = TAG_Bool(( variable[16] /*ppropdefnode7*/==NIT_NULL) || VAL_ISA( variable[16] /*ppropdefnode7*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
5780 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction46___action, LOCATE_parser, 3041); nit_exit(1);}
5781 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[16] /*ppropdefnode7*/ == NIT_NULL /*null*/) || (( variable[16] /*ppropdefnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[16] /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[16] /*ppropdefnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[16] /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))( variable[16] /*ppropdefnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5782 if (UNTAG_Bool(variable[17])) { /*if*/
5783 ((array___AbstractArray___add_t)CALL( variable[15] /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable[15] /*listnode8*/, variable[16] /*ppropdefnode7*/) /*AbstractArray::add*/;
5784 }
5785 variable[18] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[15] /*listnode8*/); /*new ATopClassdef*/
5786 variable[17] = variable[18];
5787 variable[18] = variable[4] /*nodearraylist6*/;
5788 variable[19] = TAG_Bool(( variable[18] /*pclassdefnode9*/==NIT_NULL) || VAL_ISA( variable[18] /*pclassdefnode9*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
5789 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction46___action, LOCATE_parser, 3049); nit_exit(1);}
5790 variable[19] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*listnode5*/ == NIT_NULL /*null*/) || (( variable[14] /*listnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[14] /*listnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*listnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[14] /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable[14] /*listnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5791 if (UNTAG_Bool(variable[19])) { /*if*/
5792 variable[19] = ((array___AbstractArray___is_empty_t)CALL( variable[11] /*listnode10*/,COLOR_abstract_collection___Collection___is_empty))( variable[11] /*listnode10*/) /*AbstractArray::is_empty*/;
5793 if (UNTAG_Bool(variable[19])) { /*if*/
5794 variable[11] = variable[14] /*listnode5*/ /*listnode10=*/;
5795 } else { /*if*/
5796 ((abstract_collection___IndexedCollection___append_t)CALL( variable[11] /*listnode10*/,COLOR_abstract_collection___IndexedCollection___append))( variable[11] /*listnode10*/, variable[14] /*listnode5*/) /*IndexedCollection::append*/;
5797 }
5798 }
5799 variable[19] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[17] /*pclassdefnode6*/ == NIT_NULL /*null*/) || (( variable[17] /*pclassdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[17] /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[17] /*pclassdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[17] /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))( variable[17] /*pclassdefnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5800 if (UNTAG_Bool(variable[19])) { /*if*/
5801 ((array___AbstractArray___add_t)CALL( variable[11] /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable[11] /*listnode10*/, variable[17] /*pclassdefnode6*/) /*AbstractArray::add*/;
5802 }
5803 variable[19] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[18] /*pclassdefnode9*/ == NIT_NULL /*null*/) || (( variable[18] /*pclassdefnode9*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[18] /*pclassdefnode9*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[18] /*pclassdefnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[18] /*pclassdefnode9*/,COLOR_kernel___Object_____eqeq))( variable[18] /*pclassdefnode9*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5804 if (UNTAG_Bool(variable[19])) { /*if*/
5805 ((array___AbstractArray___add_t)CALL( variable[11] /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable[11] /*listnode10*/, variable[18] /*pclassdefnode9*/) /*AbstractArray::add*/;
5806 }
5807 variable[20] = NEW_AModule_parser_prod___AModule___init_amodule( variable[12] /*ppackagedeclnode2*/, variable[10] /*listnode4*/, variable[11] /*listnode10*/); /*new AModule*/
5808 variable[19] = variable[20];
5809 variable[3] = variable[19] /*pmodulenode1*/ /*node_list=*/;
5810 variable[20] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
5811 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
5812 return_label124: while(false);
5813 tracehead = trace.prev;
5814 return;
5815 }
5816 void parser___ReduceAction46___init(val_t self, int* init_table) {
5817 struct trace_t trace = {NULL, NULL, 3071, LOCATE_parser___ReduceAction46___init};
5818 val_t variable[2];
5819 void **closurevariable = NULL;
5820 trace.prev = tracehead; tracehead = &trace;
5821 trace.file = LOCATE_parser;
5822 variable[0] = self;
5823 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction46].i]) return;
5824 return_label125: while(false);
5825 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction46].i] = 1;
5826 tracehead = trace.prev;
5827 return;
5828 }
5829 void parser___ReduceAction47___action(val_t self, val_t param0) {
5830 struct trace_t trace = {NULL, NULL, 3075, LOCATE_parser___ReduceAction47___action};
5831 val_t variable[23];
5832 void **closurevariable = NULL;
5833 trace.prev = tracehead; tracehead = &trace;
5834 trace.file = LOCATE_parser;
5835 variable[0] = self;
5836 variable[1] = param0;
5837 variable[3] = NIT_NULL /*null*/;
5838 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
5839 variable[4] = variable[5];
5840 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
5841 variable[5] = variable[6];
5842 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
5843 variable[6] = variable[7];
5844 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
5845 variable[7] = variable[8];
5846 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
5847 variable[8] = variable[9];
5848 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
5849 variable[9] = variable[10];
5850 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
5851 variable[10] = variable[11];
5852 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
5853 variable[11] = variable[12];
5854 variable[13] = NEW_Array_array___Array___init(); /*new Array[Object]*/
5855 variable[12] = variable[13];
5856 variable[13] = variable[10] /*nodearraylist1*/;
5857 variable[14] = TAG_Bool(( variable[13] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
5858 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction47___action, LOCATE_parser, 3088); nit_exit(1);}
5859 variable[14] = variable[9] /*nodearraylist2*/;
5860 variable[15] = TAG_Bool(( variable[14] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[14] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5861 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction47___action, LOCATE_parser, 3090); nit_exit(1);}
5862 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[14] /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[14] /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[14] /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable[14] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5863 if (UNTAG_Bool(variable[15])) { /*if*/
5864 variable[15] = ((array___AbstractArray___is_empty_t)CALL( variable[11] /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable[11] /*listnode4*/) /*AbstractArray::is_empty*/;
5865 if (UNTAG_Bool(variable[15])) { /*if*/
5866 variable[11] = variable[14] /*listnode3*/ /*listnode4=*/;
5867 } else { /*if*/
5868 ((abstract_collection___IndexedCollection___append_t)CALL( variable[11] /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable[11] /*listnode4*/, variable[14] /*listnode3*/) /*IndexedCollection::append*/;
5869 }
5870 }
5871 variable[15] = variable[8] /*nodearraylist3*/;
5872 variable[16] = TAG_Bool(( variable[15] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5873 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction47___action, LOCATE_parser, 3099); nit_exit(1);}
5874 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
5875 variable[16] = variable[17];
5876 variable[17] = variable[7] /*nodearraylist4*/;
5877 variable[18] = TAG_Bool(( variable[17] /*ppropdefnode7*/==NIT_NULL) || VAL_ISA( variable[17] /*ppropdefnode7*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
5878 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction47___action, LOCATE_parser, 3102); nit_exit(1);}
5879 variable[18] = variable[5] /*nodearraylist6*/;
5880 variable[19] = TAG_Bool(( variable[18] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[18] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5881 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction47___action, LOCATE_parser, 3104); nit_exit(1);}
5882 variable[19] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[17] /*ppropdefnode7*/ == NIT_NULL /*null*/) || (( variable[17] /*ppropdefnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[17] /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[17] /*ppropdefnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[17] /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))( variable[17] /*ppropdefnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5883 if (UNTAG_Bool(variable[19])) { /*if*/
5884 ((array___AbstractArray___add_t)CALL( variable[16] /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable[16] /*listnode9*/, variable[17] /*ppropdefnode7*/) /*AbstractArray::add*/;
5885 }
5886 variable[19] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[18] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[18] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[18] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[18] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[18] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[18] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5887 if (UNTAG_Bool(variable[19])) { /*if*/
5888 variable[19] = ((array___AbstractArray___is_empty_t)CALL( variable[16] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[16] /*listnode9*/) /*AbstractArray::is_empty*/;
5889 if (UNTAG_Bool(variable[19])) { /*if*/
5890 variable[16] = variable[18] /*listnode8*/ /*listnode9=*/;
5891 } else { /*if*/
5892 ((abstract_collection___IndexedCollection___append_t)CALL( variable[16] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[16] /*listnode9*/, variable[18] /*listnode8*/) /*IndexedCollection::append*/;
5893 }
5894 }
5895 variable[20] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[16] /*listnode9*/); /*new ATopClassdef*/
5896 variable[19] = variable[20];
5897 variable[20] = variable[4] /*nodearraylist7*/;
5898 variable[21] = TAG_Bool(( variable[20] /*pclassdefnode10*/==NIT_NULL) || VAL_ISA( variable[20] /*pclassdefnode10*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
5899 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction47___action, LOCATE_parser, 3119); nit_exit(1);}
5900 variable[21] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*listnode5*/ == NIT_NULL /*null*/) || (( variable[15] /*listnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[15] /*listnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*listnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[15] /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable[15] /*listnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5901 if (UNTAG_Bool(variable[21])) { /*if*/
5902 variable[21] = ((array___AbstractArray___is_empty_t)CALL( variable[12] /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable[12] /*listnode11*/) /*AbstractArray::is_empty*/;
5903 if (UNTAG_Bool(variable[21])) { /*if*/
5904 variable[12] = variable[15] /*listnode5*/ /*listnode11=*/;
5905 } else { /*if*/
5906 ((abstract_collection___IndexedCollection___append_t)CALL( variable[12] /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable[12] /*listnode11*/, variable[15] /*listnode5*/) /*IndexedCollection::append*/;
5907 }
5908 }
5909 variable[21] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[19] /*pclassdefnode6*/ == NIT_NULL /*null*/) || (( variable[19] /*pclassdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[19] /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[19] /*pclassdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[19] /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))( variable[19] /*pclassdefnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5910 if (UNTAG_Bool(variable[21])) { /*if*/
5911 ((array___AbstractArray___add_t)CALL( variable[12] /*listnode11*/,COLOR_abstract_collection___SimpleCollection___add))( variable[12] /*listnode11*/, variable[19] /*pclassdefnode6*/) /*AbstractArray::add*/;
5912 }
5913 variable[21] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[20] /*pclassdefnode10*/ == NIT_NULL /*null*/) || (( variable[20] /*pclassdefnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[20] /*pclassdefnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[20] /*pclassdefnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[20] /*pclassdefnode10*/,COLOR_kernel___Object_____eqeq))( variable[20] /*pclassdefnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
5914 if (UNTAG_Bool(variable[21])) { /*if*/
5915 ((array___AbstractArray___add_t)CALL( variable[12] /*listnode11*/,COLOR_abstract_collection___SimpleCollection___add))( variable[12] /*listnode11*/, variable[20] /*pclassdefnode10*/) /*AbstractArray::add*/;
5916 }
5917 variable[22] = NEW_AModule_parser_prod___AModule___init_amodule( variable[13] /*ppackagedeclnode2*/, variable[11] /*listnode4*/, variable[12] /*listnode11*/); /*new AModule*/
5918 variable[21] = variable[22];
5919 variable[3] = variable[21] /*pmodulenode1*/ /*node_list=*/;
5920 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
5921 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
5922 return_label126: while(false);
5923 tracehead = trace.prev;
5924 return;
5925 }
5926 void parser___ReduceAction47___init(val_t self, int* init_table) {
5927 struct trace_t trace = {NULL, NULL, 3141, LOCATE_parser___ReduceAction47___init};
5928 val_t variable[2];
5929 void **closurevariable = NULL;
5930 trace.prev = tracehead; tracehead = &trace;
5931 trace.file = LOCATE_parser;
5932 variable[0] = self;
5933 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction47].i]) return;
5934 return_label127: while(false);
5935 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction47].i] = 1;
5936 tracehead = trace.prev;
5937 return;
5938 }
5939 void parser___ReduceAction48___action(val_t self, val_t param0) {
5940 struct trace_t trace = {NULL, NULL, 3145, LOCATE_parser___ReduceAction48___action};
5941 val_t variable[14];
5942 void **closurevariable = NULL;
5943 trace.prev = tracehead; tracehead = &trace;
5944 trace.file = LOCATE_parser;
5945 variable[0] = self;
5946 variable[1] = param0;
5947 variable[3] = NIT_NULL /*null*/;
5948 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
5949 variable[4] = variable[5];
5950 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
5951 variable[5] = variable[6];
5952 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
5953 variable[6] = variable[7];
5954 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
5955 variable[7] = variable[8];
5956 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
5957 variable[8] = variable[9];
5958 variable[9] = variable[8] /*nodearraylist1*/;
5959 variable[10] = TAG_Bool(( variable[9] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
5960 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction48___action, LOCATE_parser, 3154); nit_exit(1);}
5961 variable[10] = variable[7] /*nodearraylist2*/;
5962 variable[11] = TAG_Bool(( variable[10] /*tkwpackagenode3*/==NIT_NULL) || VAL_ISA( variable[10] /*tkwpackagenode3*/, COLOR_TKwpackage, ID_TKwpackage)) /*cast TKwpackage*/;
5963 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction48___action, LOCATE_parser, 3156); nit_exit(1);}
5964 variable[11] = variable[5] /*nodearraylist4*/;
5965 variable[12] = TAG_Bool(( variable[11] /*tidnode4*/==NIT_NULL) || VAL_ISA( variable[11] /*tidnode4*/, COLOR_TId, ID_TId)) /*cast TId*/;
5966 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction48___action, LOCATE_parser, 3158); nit_exit(1);}
5967 variable[13] = NEW_APackagedecl_parser_prod___APackagedecl___init_apackagedecl( variable[9] /*pdocnode2*/, variable[10] /*tkwpackagenode3*/, variable[11] /*tidnode4*/); /*new APackagedecl*/
5968 variable[12] = variable[13];
5969 variable[3] = variable[12] /*ppackagedeclnode1*/ /*node_list=*/;
5970 variable[13] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(1)) /*Parser::go_to*/;
5971 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
5972 return_label128: while(false);
5973 tracehead = trace.prev;
5974 return;
5975 }
5976 void parser___ReduceAction48___init(val_t self, int* init_table) {
5977 struct trace_t trace = {NULL, NULL, 3167, LOCATE_parser___ReduceAction48___init};
5978 val_t variable[2];
5979 void **closurevariable = NULL;
5980 trace.prev = tracehead; tracehead = &trace;
5981 trace.file = LOCATE_parser;
5982 variable[0] = self;
5983 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction48].i]) return;
5984 return_label129: while(false);
5985 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction48].i] = 1;
5986 tracehead = trace.prev;
5987 return;
5988 }
5989 void parser___ReduceAction49___action(val_t self, val_t param0) {
5990 struct trace_t trace = {NULL, NULL, 3171, LOCATE_parser___ReduceAction49___action};
5991 val_t variable[15];
5992 void **closurevariable = NULL;
5993 trace.prev = tracehead; tracehead = &trace;
5994 trace.file = LOCATE_parser;
5995 variable[0] = self;
5996 variable[1] = param0;
5997 variable[3] = NIT_NULL /*null*/;
5998 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
5999 variable[4] = variable[5];
6000 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6001 variable[5] = variable[6];
6002 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6003 variable[6] = variable[7];
6004 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6005 variable[7] = variable[8];
6006 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6007 variable[8] = variable[9];
6008 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6009 variable[9] = variable[10];
6010 variable[10] = variable[8] /*nodearraylist2*/;
6011 variable[11] = TAG_Bool(( variable[10] /*pvisibilitynode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pvisibilitynode2*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
6012 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction49___action, LOCATE_parser, 3181); nit_exit(1);}
6013 variable[11] = variable[7] /*nodearraylist3*/;
6014 variable[12] = TAG_Bool(( variable[11] /*tkwimportnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwimportnode3*/, COLOR_TKwimport, ID_TKwimport)) /*cast TKwimport*/;
6015 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction49___action, LOCATE_parser, 3183); nit_exit(1);}
6016 variable[12] = variable[5] /*nodearraylist5*/;
6017 variable[13] = TAG_Bool(( variable[12] /*tidnode4*/==NIT_NULL) || VAL_ISA( variable[12] /*tidnode4*/, COLOR_TId, ID_TId)) /*cast TId*/;
6018 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction49___action, LOCATE_parser, 3185); nit_exit(1);}
6019 variable[14] = NEW_AImport_parser_prod___AImport___init_aimport( variable[10] /*pvisibilitynode2*/, variable[11] /*tkwimportnode3*/, variable[12] /*tidnode4*/); /*new AImport*/
6020 variable[13] = variable[14];
6021 variable[3] = variable[13] /*pimportnode1*/ /*node_list=*/;
6022 variable[14] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(2)) /*Parser::go_to*/;
6023 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
6024 return_label130: while(false);
6025 tracehead = trace.prev;
6026 return;
6027 }
6028 void parser___ReduceAction49___init(val_t self, int* init_table) {
6029 struct trace_t trace = {NULL, NULL, 3194, LOCATE_parser___ReduceAction49___init};
6030 val_t variable[2];
6031 void **closurevariable = NULL;
6032 trace.prev = tracehead; tracehead = &trace;
6033 trace.file = LOCATE_parser;
6034 variable[0] = self;
6035 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction49].i]) return;
6036 return_label131: while(false);
6037 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction49].i] = 1;
6038 tracehead = trace.prev;
6039 return;
6040 }
6041 void parser___ReduceAction50___action(val_t self, val_t param0) {
6042 struct trace_t trace = {NULL, NULL, 3198, LOCATE_parser___ReduceAction50___action};
6043 val_t variable[15];
6044 void **closurevariable = NULL;
6045 trace.prev = tracehead; tracehead = &trace;
6046 trace.file = LOCATE_parser;
6047 variable[0] = self;
6048 variable[1] = param0;
6049 variable[3] = NIT_NULL /*null*/;
6050 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6051 variable[4] = variable[5];
6052 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6053 variable[5] = variable[6];
6054 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6055 variable[6] = variable[7];
6056 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6057 variable[7] = variable[8];
6058 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6059 variable[8] = variable[9];
6060 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6061 variable[9] = variable[10];
6062 variable[10] = variable[8] /*nodearraylist2*/;
6063 variable[11] = TAG_Bool(( variable[10] /*pvisibilitynode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pvisibilitynode2*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
6064 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction50___action, LOCATE_parser, 3208); nit_exit(1);}
6065 variable[11] = variable[7] /*nodearraylist3*/;
6066 variable[12] = TAG_Bool(( variable[11] /*tkwimportnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwimportnode3*/, COLOR_TKwimport, ID_TKwimport)) /*cast TKwimport*/;
6067 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction50___action, LOCATE_parser, 3210); nit_exit(1);}
6068 variable[12] = variable[5] /*nodearraylist5*/;
6069 variable[13] = TAG_Bool(( variable[12] /*tkwendnode4*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwendnode4*/, COLOR_TKwend, ID_TKwend)) /*cast TKwend*/;
6070 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction50___action, LOCATE_parser, 3212); nit_exit(1);}
6071 variable[14] = NEW_ANoImport_parser_prod___ANoImport___init_anoimport( variable[10] /*pvisibilitynode2*/, variable[11] /*tkwimportnode3*/, variable[12] /*tkwendnode4*/); /*new ANoImport*/
6072 variable[13] = variable[14];
6073 variable[3] = variable[13] /*pimportnode1*/ /*node_list=*/;
6074 variable[14] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(2)) /*Parser::go_to*/;
6075 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
6076 return_label132: while(false);
6077 tracehead = trace.prev;
6078 return;
6079 }
6080 void parser___ReduceAction50___init(val_t self, int* init_table) {
6081 struct trace_t trace = {NULL, NULL, 3221, LOCATE_parser___ReduceAction50___init};
6082 val_t variable[2];
6083 void **closurevariable = NULL;
6084 trace.prev = tracehead; tracehead = &trace;
6085 trace.file = LOCATE_parser;
6086 variable[0] = self;
6087 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction50].i]) return;
6088 return_label133: while(false);
6089 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction50].i] = 1;
6090 tracehead = trace.prev;
6091 return;
6092 }
6093 void parser___ReduceAction51___action(val_t self, val_t param0) {
6094 struct trace_t trace = {NULL, NULL, 3225, LOCATE_parser___ReduceAction51___action};
6095 val_t variable[9];
6096 void **closurevariable = NULL;
6097 trace.prev = tracehead; tracehead = &trace;
6098 trace.file = LOCATE_parser;
6099 variable[0] = self;
6100 variable[1] = param0;
6101 variable[3] = NIT_NULL /*null*/;
6102 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6103 variable[4] = variable[5];
6104 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6105 variable[5] = variable[6];
6106 variable[6] = variable[4] /*nodearraylist1*/;
6107 variable[7] = TAG_Bool(( variable[6] /*ppropdefnode2*/==NIT_NULL) || VAL_ISA( variable[6] /*ppropdefnode2*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
6108 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction51___action, LOCATE_parser, 3231); nit_exit(1);}
6109 variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[6] /*ppropdefnode2*/ == NIT_NULL /*null*/) || (( variable[6] /*ppropdefnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[6] /*ppropdefnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*ppropdefnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[6] /*ppropdefnode2*/,COLOR_kernel___Object_____eqeq))( variable[6] /*ppropdefnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6110 if (UNTAG_Bool(variable[7])) { /*if*/
6111 ((array___AbstractArray___add_t)CALL( variable[5] /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable[5] /*listnode3*/, variable[6] /*ppropdefnode2*/) /*AbstractArray::add*/;
6112 }
6113 variable[8] = NEW_AMainClassdef_parser_prod___AMainClassdef___init_amainclassdef( variable[5] /*listnode3*/); /*new AMainClassdef*/
6114 variable[7] = variable[8];
6115 variable[3] = variable[7] /*pclassdefnode1*/ /*node_list=*/;
6116 variable[8] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(3)) /*Parser::go_to*/;
6117 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
6118 return_label134: while(false);
6119 tracehead = trace.prev;
6120 return;
6121 }
6122 void parser___ReduceAction51___init(val_t self, int* init_table) {
6123 struct trace_t trace = {NULL, NULL, 3241, LOCATE_parser___ReduceAction51___init};
6124 val_t variable[2];
6125 void **closurevariable = NULL;
6126 trace.prev = tracehead; tracehead = &trace;
6127 trace.file = LOCATE_parser;
6128 variable[0] = self;
6129 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction51].i]) return;
6130 return_label135: while(false);
6131 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction51].i] = 1;
6132 tracehead = trace.prev;
6133 return;
6134 }
6135 void parser___ReduceAction52___action(val_t self, val_t param0) {
6136 struct trace_t trace = {NULL, NULL, 3245, LOCATE_parser___ReduceAction52___action};
6137 val_t variable[6];
6138 void **closurevariable = NULL;
6139 trace.prev = tracehead; tracehead = &trace;
6140 trace.file = LOCATE_parser;
6141 variable[0] = self;
6142 variable[1] = param0;
6143 variable[3] = NIT_NULL /*null*/;
6144 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6145 variable[4] = variable[5];
6146 variable[3] = NIT_NULL /*null*/ /*node_list=*/;
6147 variable[5] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(3)) /*Parser::go_to*/;
6148 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[5], variable[3] /*node_list*/) /*Parser::push*/;
6149 return_label136: while(false);
6150 tracehead = trace.prev;
6151 return;
6152 }
6153 void parser___ReduceAction52___init(val_t self, int* init_table) {
6154 struct trace_t trace = {NULL, NULL, 3252, LOCATE_parser___ReduceAction52___init};
6155 val_t variable[2];
6156 void **closurevariable = NULL;
6157 trace.prev = tracehead; tracehead = &trace;
6158 trace.file = LOCATE_parser;
6159 variable[0] = self;
6160 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction52].i]) return;
6161 return_label137: while(false);
6162 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction52].i] = 1;
6163 tracehead = trace.prev;
6164 return;
6165 }
6166 void parser___ReduceAction53___action(val_t self, val_t param0) {
6167 struct trace_t trace = {NULL, NULL, 3256, LOCATE_parser___ReduceAction53___action};
6168 val_t variable[12];
6169 void **closurevariable = NULL;
6170 trace.prev = tracehead; tracehead = &trace;
6171 trace.file = LOCATE_parser;
6172 variable[0] = self;
6173 variable[1] = param0;
6174 variable[3] = NIT_NULL /*null*/;
6175 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6176 variable[4] = variable[5];
6177 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6178 variable[5] = variable[6];
6179 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6180 variable[6] = variable[7];
6181 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6182 variable[7] = variable[8];
6183 variable[8] = variable[5] /*nodearraylist2*/;
6184 variable[9] = TAG_Bool(( variable[8] /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
6185 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction53___action, LOCATE_parser, 3264); nit_exit(1);}
6186 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*pexprnode4*/ == NIT_NULL /*null*/) || (( variable[8] /*pexprnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[8] /*pexprnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*pexprnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[8] /*pexprnode4*/,COLOR_kernel___Object_____eqeq))( variable[8] /*pexprnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6187 if (UNTAG_Bool(variable[9])) { /*if*/
6188 ((array___AbstractArray___add_t)CALL( variable[7] /*listnode5*/,COLOR_abstract_collection___SimpleCollection___add))( variable[7] /*listnode5*/, variable[8] /*pexprnode4*/) /*AbstractArray::add*/;
6189 }
6190 variable[10] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr( variable[7] /*listnode5*/); /*new ABlockExpr*/
6191 variable[9] = variable[10];
6192 variable[11] = NEW_AMainMethPropdef_parser_prod___AMainMethPropdef___init_amainmethpropdef( NIT_NULL /*null*/, variable[9] /*pexprnode3*/); /*new AMainMethPropdef*/
6193 variable[10] = variable[11];
6194 variable[3] = variable[10] /*ppropdefnode1*/ /*node_list=*/;
6195 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(4)) /*Parser::go_to*/;
6196 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
6197 return_label138: while(false);
6198 tracehead = trace.prev;
6199 return;
6200 }
6201 void parser___ReduceAction53___init(val_t self, int* init_table) {
6202 struct trace_t trace = {NULL, NULL, 3278, LOCATE_parser___ReduceAction53___init};
6203 val_t variable[2];
6204 void **closurevariable = NULL;
6205 trace.prev = tracehead; tracehead = &trace;
6206 trace.file = LOCATE_parser;
6207 variable[0] = self;
6208 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction53].i]) return;
6209 return_label139: while(false);
6210 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction53].i] = 1;
6211 tracehead = trace.prev;
6212 return;
6213 }
6214 void parser___ReduceAction54___action(val_t self, val_t param0) {
6215 struct trace_t trace = {NULL, NULL, 3282, LOCATE_parser___ReduceAction54___action};
6216 val_t variable[14];
6217 void **closurevariable = NULL;
6218 trace.prev = tracehead; tracehead = &trace;
6219 trace.file = LOCATE_parser;
6220 variable[0] = self;
6221 variable[1] = param0;
6222 variable[3] = NIT_NULL /*null*/;
6223 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6224 variable[4] = variable[5];
6225 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6226 variable[5] = variable[6];
6227 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6228 variable[6] = variable[7];
6229 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6230 variable[7] = variable[8];
6231 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6232 variable[8] = variable[9];
6233 variable[9] = variable[6] /*nodearraylist2*/;
6234 variable[10] = TAG_Bool(( variable[9] /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
6235 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction54___action, LOCATE_parser, 3291); nit_exit(1);}
6236 variable[10] = variable[5] /*nodearraylist3*/;
6237 variable[11] = TAG_Bool(( variable[10] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
6238 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction54___action, LOCATE_parser, 3293); nit_exit(1);}
6239 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[9] /*pexprnode4*/ == NIT_NULL /*null*/) || (( variable[9] /*pexprnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[9] /*pexprnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[9] /*pexprnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[9] /*pexprnode4*/,COLOR_kernel___Object_____eqeq))( variable[9] /*pexprnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6240 if (UNTAG_Bool(variable[11])) { /*if*/
6241 ((array___AbstractArray___add_t)CALL( variable[8] /*listnode6*/,COLOR_abstract_collection___SimpleCollection___add))( variable[8] /*listnode6*/, variable[9] /*pexprnode4*/) /*AbstractArray::add*/;
6242 }
6243 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode5*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable[10] /*listnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6244 if (UNTAG_Bool(variable[11])) { /*if*/
6245 variable[11] = ((array___AbstractArray___is_empty_t)CALL( variable[8] /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable[8] /*listnode6*/) /*AbstractArray::is_empty*/;
6246 if (UNTAG_Bool(variable[11])) { /*if*/
6247 variable[8] = variable[10] /*listnode5*/ /*listnode6=*/;
6248 } else { /*if*/
6249 ((abstract_collection___IndexedCollection___append_t)CALL( variable[8] /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable[8] /*listnode6*/, variable[10] /*listnode5*/) /*IndexedCollection::append*/;
6250 }
6251 }
6252 variable[12] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr( variable[8] /*listnode6*/); /*new ABlockExpr*/
6253 variable[11] = variable[12];
6254 variable[13] = NEW_AMainMethPropdef_parser_prod___AMainMethPropdef___init_amainmethpropdef( NIT_NULL /*null*/, variable[11] /*pexprnode3*/); /*new AMainMethPropdef*/
6255 variable[12] = variable[13];
6256 variable[3] = variable[12] /*ppropdefnode1*/ /*node_list=*/;
6257 variable[13] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(4)) /*Parser::go_to*/;
6258 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
6259 return_label140: while(false);
6260 tracehead = trace.prev;
6261 return;
6262 }
6263 void parser___ReduceAction54___init(val_t self, int* init_table) {
6264 struct trace_t trace = {NULL, NULL, 3314, LOCATE_parser___ReduceAction54___init};
6265 val_t variable[2];
6266 void **closurevariable = NULL;
6267 trace.prev = tracehead; tracehead = &trace;
6268 trace.file = LOCATE_parser;
6269 variable[0] = self;
6270 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction54].i]) return;
6271 return_label141: while(false);
6272 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction54].i] = 1;
6273 tracehead = trace.prev;
6274 return;
6275 }
6276 void parser___ReduceAction55___action(val_t self, val_t param0) {
6277 struct trace_t trace = {NULL, NULL, 3318, LOCATE_parser___ReduceAction55___action};
6278 val_t variable[20];
6279 void **closurevariable = NULL;
6280 trace.prev = tracehead; tracehead = &trace;
6281 trace.file = LOCATE_parser;
6282 variable[0] = self;
6283 variable[1] = param0;
6284 variable[3] = NIT_NULL /*null*/;
6285 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6286 variable[4] = variable[5];
6287 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6288 variable[5] = variable[6];
6289 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6290 variable[6] = variable[7];
6291 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6292 variable[7] = variable[8];
6293 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6294 variable[8] = variable[9];
6295 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6296 variable[9] = variable[10];
6297 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6298 variable[10] = variable[11];
6299 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6300 variable[11] = variable[12];
6301 variable[13] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6302 variable[12] = variable[13];
6303 variable[14] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6304 variable[13] = variable[14];
6305 variable[14] = variable[10] /*nodearraylist1*/;
6306 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
6307 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction55___action, LOCATE_parser, 3332); nit_exit(1);}
6308 variable[15] = variable[9] /*nodearraylist2*/;
6309 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
6310 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction55___action, LOCATE_parser, 3334); nit_exit(1);}
6311 variable[16] = variable[8] /*nodearraylist3*/;
6312 variable[17] = TAG_Bool(( variable[16] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
6313 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction55___action, LOCATE_parser, 3336); nit_exit(1);}
6314 variable[17] = variable[6] /*nodearraylist5*/;
6315 variable[18] = TAG_Bool(( variable[17] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[17] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
6316 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction55___action, LOCATE_parser, 3338); nit_exit(1);}
6317 variable[19] = NEW_AClassdef_parser_prod___AClassdef___init_aclassdef( variable[14] /*pdocnode2*/, NIT_NULL /*null*/, variable[15] /*pvisibilitynode4*/, variable[16] /*pclasskindnode5*/, variable[17] /*tclassidnode6*/, variable[11] /*listnode7*/, variable[12] /*listnode8*/, variable[13] /*listnode9*/); /*new AClassdef*/
6318 variable[18] = variable[19];
6319 variable[3] = variable[18] /*pclassdefnode1*/ /*node_list=*/;
6320 variable[19] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
6321 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[19], variable[3] /*node_list*/) /*Parser::push*/;
6322 return_label142: while(false);
6323 tracehead = trace.prev;
6324 return;
6325 }
6326 void parser___ReduceAction55___init(val_t self, int* init_table) {
6327 struct trace_t trace = {NULL, NULL, 3352, LOCATE_parser___ReduceAction55___init};
6328 val_t variable[2];
6329 void **closurevariable = NULL;
6330 trace.prev = tracehead; tracehead = &trace;
6331 trace.file = LOCATE_parser;
6332 variable[0] = self;
6333 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction55].i]) return;
6334 return_label143: while(false);
6335 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction55].i] = 1;
6336 tracehead = trace.prev;
6337 return;
6338 }
6339 void parser___ReduceAction56___action(val_t self, val_t param0) {
6340 struct trace_t trace = {NULL, NULL, 3356, LOCATE_parser___ReduceAction56___action};
6341 val_t variable[22];
6342 void **closurevariable = NULL;
6343 trace.prev = tracehead; tracehead = &trace;
6344 trace.file = LOCATE_parser;
6345 variable[0] = self;
6346 variable[1] = param0;
6347 variable[3] = NIT_NULL /*null*/;
6348 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6349 variable[4] = variable[5];
6350 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6351 variable[5] = variable[6];
6352 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6353 variable[6] = variable[7];
6354 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6355 variable[7] = variable[8];
6356 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6357 variable[8] = variable[9];
6358 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6359 variable[9] = variable[10];
6360 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6361 variable[10] = variable[11];
6362 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6363 variable[11] = variable[12];
6364 variable[13] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6365 variable[12] = variable[13];
6366 variable[14] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6367 variable[13] = variable[14];
6368 variable[15] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6369 variable[14] = variable[15];
6370 variable[15] = variable[11] /*nodearraylist1*/;
6371 variable[16] = TAG_Bool(( variable[15] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
6372 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction56___action, LOCATE_parser, 3371); nit_exit(1);}
6373 variable[16] = variable[10] /*nodearraylist2*/;
6374 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
6375 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction56___action, LOCATE_parser, 3373); nit_exit(1);}
6376 variable[17] = variable[9] /*nodearraylist3*/;
6377 variable[18] = TAG_Bool(( variable[17] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[17] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
6378 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction56___action, LOCATE_parser, 3375); nit_exit(1);}
6379 variable[18] = variable[8] /*nodearraylist4*/;
6380 variable[19] = TAG_Bool(( variable[18] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[18] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
6381 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction56___action, LOCATE_parser, 3377); nit_exit(1);}
6382 variable[19] = variable[6] /*nodearraylist6*/;
6383 variable[20] = TAG_Bool(( variable[19] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[19] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
6384 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction56___action, LOCATE_parser, 3379); nit_exit(1);}
6385 variable[21] = NEW_AClassdef_parser_prod___AClassdef___init_aclassdef( variable[15] /*pdocnode2*/, variable[16] /*tkwredefnode3*/, variable[17] /*pvisibilitynode4*/, variable[18] /*pclasskindnode5*/, variable[19] /*tclassidnode6*/, variable[12] /*listnode7*/, variable[13] /*listnode8*/, variable[14] /*listnode9*/); /*new AClassdef*/
6386 variable[20] = variable[21];
6387 variable[3] = variable[20] /*pclassdefnode1*/ /*node_list=*/;
6388 variable[21] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
6389 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[21], variable[3] /*node_list*/) /*Parser::push*/;
6390 return_label144: while(false);
6391 tracehead = trace.prev;
6392 return;
6393 }
6394 void parser___ReduceAction56___init(val_t self, int* init_table) {
6395 struct trace_t trace = {NULL, NULL, 3393, LOCATE_parser___ReduceAction56___init};
6396 val_t variable[2];
6397 void **closurevariable = NULL;
6398 trace.prev = tracehead; tracehead = &trace;
6399 trace.file = LOCATE_parser;
6400 variable[0] = self;
6401 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction56].i]) return;
6402 return_label145: while(false);
6403 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction56].i] = 1;
6404 tracehead = trace.prev;
6405 return;
6406 }
6407 void parser___ReduceAction57___action(val_t self, val_t param0) {
6408 struct trace_t trace = {NULL, NULL, 3397, LOCATE_parser___ReduceAction57___action};
6409 val_t variable[22];
6410 void **closurevariable = NULL;
6411 trace.prev = tracehead; tracehead = &trace;
6412 trace.file = LOCATE_parser;
6413 variable[0] = self;
6414 variable[1] = param0;
6415 variable[3] = NIT_NULL /*null*/;
6416 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6417 variable[4] = variable[5];
6418 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6419 variable[5] = variable[6];
6420 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6421 variable[6] = variable[7];
6422 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6423 variable[7] = variable[8];
6424 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6425 variable[8] = variable[9];
6426 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6427 variable[9] = variable[10];
6428 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6429 variable[10] = variable[11];
6430 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6431 variable[11] = variable[12];
6432 variable[13] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6433 variable[12] = variable[13];
6434 variable[14] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6435 variable[13] = variable[14];
6436 variable[15] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6437 variable[14] = variable[15];
6438 variable[15] = variable[11] /*nodearraylist1*/;
6439 variable[16] = TAG_Bool(( variable[15] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
6440 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction57___action, LOCATE_parser, 3412); nit_exit(1);}
6441 variable[16] = variable[10] /*nodearraylist2*/;
6442 variable[17] = TAG_Bool(( variable[16] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[16] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
6443 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction57___action, LOCATE_parser, 3414); nit_exit(1);}
6444 variable[17] = variable[9] /*nodearraylist3*/;
6445 variable[18] = TAG_Bool(( variable[17] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[17] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
6446 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction57___action, LOCATE_parser, 3416); nit_exit(1);}
6447 variable[18] = variable[7] /*nodearraylist5*/;
6448 variable[19] = TAG_Bool(( variable[18] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[18] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
6449 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction57___action, LOCATE_parser, 3418); nit_exit(1);}
6450 variable[19] = variable[6] /*nodearraylist6*/;
6451 variable[20] = TAG_Bool(( variable[19] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[19] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
6452 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction57___action, LOCATE_parser, 3420); nit_exit(1);}
6453 variable[20] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[19] /*listnode7*/ == NIT_NULL /*null*/) || (( variable[19] /*listnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[19] /*listnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable[19] /*listnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6454 if (UNTAG_Bool(variable[20])) { /*if*/
6455 variable[20] = ((array___AbstractArray___is_empty_t)CALL( variable[12] /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable[12] /*listnode8*/) /*AbstractArray::is_empty*/;
6456 if (UNTAG_Bool(variable[20])) { /*if*/
6457 variable[12] = variable[19] /*listnode7*/ /*listnode8=*/;
6458 } else { /*if*/
6459 ((abstract_collection___IndexedCollection___append_t)CALL( variable[12] /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable[12] /*listnode8*/, variable[19] /*listnode7*/) /*IndexedCollection::append*/;
6460 }
6461 }
6462 variable[21] = NEW_AClassdef_parser_prod___AClassdef___init_aclassdef( variable[15] /*pdocnode2*/, NIT_NULL /*null*/, variable[16] /*pvisibilitynode4*/, variable[17] /*pclasskindnode5*/, variable[18] /*tclassidnode6*/, variable[12] /*listnode8*/, variable[13] /*listnode9*/, variable[14] /*listnode10*/); /*new AClassdef*/
6463 variable[20] = variable[21];
6464 variable[3] = variable[20] /*pclassdefnode1*/ /*node_list=*/;
6465 variable[21] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
6466 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[21], variable[3] /*node_list*/) /*Parser::push*/;
6467 return_label146: while(false);
6468 tracehead = trace.prev;
6469 return;
6470 }
6471 void parser___ReduceAction57___init(val_t self, int* init_table) {
6472 struct trace_t trace = {NULL, NULL, 3441, LOCATE_parser___ReduceAction57___init};
6473 val_t variable[2];
6474 void **closurevariable = NULL;
6475 trace.prev = tracehead; tracehead = &trace;
6476 trace.file = LOCATE_parser;
6477 variable[0] = self;
6478 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction57].i]) return;
6479 return_label147: while(false);
6480 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction57].i] = 1;
6481 tracehead = trace.prev;
6482 return;
6483 }
6484 void parser___ReduceAction58___action(val_t self, val_t param0) {
6485 struct trace_t trace = {NULL, NULL, 3445, LOCATE_parser___ReduceAction58___action};
6486 val_t variable[24];
6487 void **closurevariable = NULL;
6488 trace.prev = tracehead; tracehead = &trace;
6489 trace.file = LOCATE_parser;
6490 variable[0] = self;
6491 variable[1] = param0;
6492 variable[3] = NIT_NULL /*null*/;
6493 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6494 variable[4] = variable[5];
6495 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6496 variable[5] = variable[6];
6497 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6498 variable[6] = variable[7];
6499 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6500 variable[7] = variable[8];
6501 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6502 variable[8] = variable[9];
6503 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6504 variable[9] = variable[10];
6505 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6506 variable[10] = variable[11];
6507 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6508 variable[11] = variable[12];
6509 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6510 variable[12] = variable[13];
6511 variable[14] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6512 variable[13] = variable[14];
6513 variable[15] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6514 variable[14] = variable[15];
6515 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6516 variable[15] = variable[16];
6517 variable[16] = variable[12] /*nodearraylist1*/;
6518 variable[17] = TAG_Bool(( variable[16] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[16] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
6519 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction58___action, LOCATE_parser, 3461); nit_exit(1);}
6520 variable[17] = variable[11] /*nodearraylist2*/;
6521 variable[18] = TAG_Bool(( variable[17] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
6522 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction58___action, LOCATE_parser, 3463); nit_exit(1);}
6523 variable[18] = variable[10] /*nodearraylist3*/;
6524 variable[19] = TAG_Bool(( variable[18] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[18] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
6525 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction58___action, LOCATE_parser, 3465); nit_exit(1);}
6526 variable[19] = variable[9] /*nodearraylist4*/;
6527 variable[20] = TAG_Bool(( variable[19] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[19] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
6528 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction58___action, LOCATE_parser, 3467); nit_exit(1);}
6529 variable[20] = variable[7] /*nodearraylist6*/;
6530 variable[21] = TAG_Bool(( variable[20] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[20] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
6531 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction58___action, LOCATE_parser, 3469); nit_exit(1);}
6532 variable[21] = variable[6] /*nodearraylist7*/;
6533 variable[22] = TAG_Bool(( variable[21] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[21] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
6534 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction58___action, LOCATE_parser, 3471); nit_exit(1);}
6535 variable[22] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[21] /*listnode7*/ == NIT_NULL /*null*/) || (( variable[21] /*listnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[21] /*listnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable[21] /*listnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6536 if (UNTAG_Bool(variable[22])) { /*if*/
6537 variable[22] = ((array___AbstractArray___is_empty_t)CALL( variable[13] /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable[13] /*listnode8*/) /*AbstractArray::is_empty*/;
6538 if (UNTAG_Bool(variable[22])) { /*if*/
6539 variable[13] = variable[21] /*listnode7*/ /*listnode8=*/;
6540 } else { /*if*/
6541 ((abstract_collection___IndexedCollection___append_t)CALL( variable[13] /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable[13] /*listnode8*/, variable[21] /*listnode7*/) /*IndexedCollection::append*/;
6542 }
6543 }
6544 variable[23] = NEW_AClassdef_parser_prod___AClassdef___init_aclassdef( variable[16] /*pdocnode2*/, variable[17] /*tkwredefnode3*/, variable[18] /*pvisibilitynode4*/, variable[19] /*pclasskindnode5*/, variable[20] /*tclassidnode6*/, variable[13] /*listnode8*/, variable[14] /*listnode9*/, variable[15] /*listnode10*/); /*new AClassdef*/
6545 variable[22] = variable[23];
6546 variable[3] = variable[22] /*pclassdefnode1*/ /*node_list=*/;
6547 variable[23] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
6548 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[23], variable[3] /*node_list*/) /*Parser::push*/;
6549 return_label148: while(false);
6550 tracehead = trace.prev;
6551 return;
6552 }
6553 void parser___ReduceAction58___init(val_t self, int* init_table) {
6554 struct trace_t trace = {NULL, NULL, 3492, LOCATE_parser___ReduceAction58___init};
6555 val_t variable[2];
6556 void **closurevariable = NULL;
6557 trace.prev = tracehead; tracehead = &trace;
6558 trace.file = LOCATE_parser;
6559 variable[0] = self;
6560 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction58].i]) return;
6561 return_label149: while(false);
6562 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction58].i] = 1;
6563 tracehead = trace.prev;
6564 return;
6565 }
6566 void parser___ReduceAction59___action(val_t self, val_t param0) {
6567 struct trace_t trace = {NULL, NULL, 3496, LOCATE_parser___ReduceAction59___action};
6568 val_t variable[22];
6569 void **closurevariable = NULL;
6570 trace.prev = tracehead; tracehead = &trace;
6571 trace.file = LOCATE_parser;
6572 variable[0] = self;
6573 variable[1] = param0;
6574 variable[3] = NIT_NULL /*null*/;
6575 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6576 variable[4] = variable[5];
6577 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6578 variable[5] = variable[6];
6579 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6580 variable[6] = variable[7];
6581 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6582 variable[7] = variable[8];
6583 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6584 variable[8] = variable[9];
6585 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6586 variable[9] = variable[10];
6587 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6588 variable[10] = variable[11];
6589 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6590 variable[11] = variable[12];
6591 variable[13] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6592 variable[12] = variable[13];
6593 variable[14] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6594 variable[13] = variable[14];
6595 variable[15] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6596 variable[14] = variable[15];
6597 variable[15] = variable[11] /*nodearraylist1*/;
6598 variable[16] = TAG_Bool(( variable[15] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
6599 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction59___action, LOCATE_parser, 3511); nit_exit(1);}
6600 variable[16] = variable[10] /*nodearraylist2*/;
6601 variable[17] = TAG_Bool(( variable[16] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[16] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
6602 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction59___action, LOCATE_parser, 3513); nit_exit(1);}
6603 variable[17] = variable[9] /*nodearraylist3*/;
6604 variable[18] = TAG_Bool(( variable[17] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[17] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
6605 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction59___action, LOCATE_parser, 3515); nit_exit(1);}
6606 variable[18] = variable[7] /*nodearraylist5*/;
6607 variable[19] = TAG_Bool(( variable[18] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[18] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
6608 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction59___action, LOCATE_parser, 3517); nit_exit(1);}
6609 variable[19] = variable[6] /*nodearraylist6*/;
6610 variable[20] = TAG_Bool(( variable[19] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[19] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
6611 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction59___action, LOCATE_parser, 3519); nit_exit(1);}
6612 variable[20] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[19] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[19] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[19] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[19] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6613 if (UNTAG_Bool(variable[20])) { /*if*/
6614 variable[20] = ((array___AbstractArray___is_empty_t)CALL( variable[13] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[13] /*listnode9*/) /*AbstractArray::is_empty*/;
6615 if (UNTAG_Bool(variable[20])) { /*if*/
6616 variable[13] = variable[19] /*listnode8*/ /*listnode9=*/;
6617 } else { /*if*/
6618 ((abstract_collection___IndexedCollection___append_t)CALL( variable[13] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[13] /*listnode9*/, variable[19] /*listnode8*/) /*IndexedCollection::append*/;
6619 }
6620 }
6621 variable[21] = NEW_AClassdef_parser_prod___AClassdef___init_aclassdef( variable[15] /*pdocnode2*/, NIT_NULL /*null*/, variable[16] /*pvisibilitynode4*/, variable[17] /*pclasskindnode5*/, variable[18] /*tclassidnode6*/, variable[12] /*listnode7*/, variable[13] /*listnode9*/, variable[14] /*listnode10*/); /*new AClassdef*/
6622 variable[20] = variable[21];
6623 variable[3] = variable[20] /*pclassdefnode1*/ /*node_list=*/;
6624 variable[21] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
6625 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[21], variable[3] /*node_list*/) /*Parser::push*/;
6626 return_label150: while(false);
6627 tracehead = trace.prev;
6628 return;
6629 }
6630 void parser___ReduceAction59___init(val_t self, int* init_table) {
6631 struct trace_t trace = {NULL, NULL, 3540, LOCATE_parser___ReduceAction59___init};
6632 val_t variable[2];
6633 void **closurevariable = NULL;
6634 trace.prev = tracehead; tracehead = &trace;
6635 trace.file = LOCATE_parser;
6636 variable[0] = self;
6637 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction59].i]) return;
6638 return_label151: while(false);
6639 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction59].i] = 1;
6640 tracehead = trace.prev;
6641 return;
6642 }
6643 void parser___ReduceAction60___action(val_t self, val_t param0) {
6644 struct trace_t trace = {NULL, NULL, 3544, LOCATE_parser___ReduceAction60___action};
6645 val_t variable[24];
6646 void **closurevariable = NULL;
6647 trace.prev = tracehead; tracehead = &trace;
6648 trace.file = LOCATE_parser;
6649 variable[0] = self;
6650 variable[1] = param0;
6651 variable[3] = NIT_NULL /*null*/;
6652 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6653 variable[4] = variable[5];
6654 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6655 variable[5] = variable[6];
6656 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6657 variable[6] = variable[7];
6658 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6659 variable[7] = variable[8];
6660 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6661 variable[8] = variable[9];
6662 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6663 variable[9] = variable[10];
6664 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6665 variable[10] = variable[11];
6666 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6667 variable[11] = variable[12];
6668 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6669 variable[12] = variable[13];
6670 variable[14] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6671 variable[13] = variable[14];
6672 variable[15] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6673 variable[14] = variable[15];
6674 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6675 variable[15] = variable[16];
6676 variable[16] = variable[12] /*nodearraylist1*/;
6677 variable[17] = TAG_Bool(( variable[16] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[16] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
6678 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction60___action, LOCATE_parser, 3560); nit_exit(1);}
6679 variable[17] = variable[11] /*nodearraylist2*/;
6680 variable[18] = TAG_Bool(( variable[17] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
6681 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction60___action, LOCATE_parser, 3562); nit_exit(1);}
6682 variable[18] = variable[10] /*nodearraylist3*/;
6683 variable[19] = TAG_Bool(( variable[18] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[18] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
6684 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction60___action, LOCATE_parser, 3564); nit_exit(1);}
6685 variable[19] = variable[9] /*nodearraylist4*/;
6686 variable[20] = TAG_Bool(( variable[19] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[19] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
6687 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction60___action, LOCATE_parser, 3566); nit_exit(1);}
6688 variable[20] = variable[7] /*nodearraylist6*/;
6689 variable[21] = TAG_Bool(( variable[20] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[20] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
6690 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction60___action, LOCATE_parser, 3568); nit_exit(1);}
6691 variable[21] = variable[6] /*nodearraylist7*/;
6692 variable[22] = TAG_Bool(( variable[21] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[21] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
6693 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction60___action, LOCATE_parser, 3570); nit_exit(1);}
6694 variable[22] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[21] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[21] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[21] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[21] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6695 if (UNTAG_Bool(variable[22])) { /*if*/
6696 variable[22] = ((array___AbstractArray___is_empty_t)CALL( variable[14] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[14] /*listnode9*/) /*AbstractArray::is_empty*/;
6697 if (UNTAG_Bool(variable[22])) { /*if*/
6698 variable[14] = variable[21] /*listnode8*/ /*listnode9=*/;
6699 } else { /*if*/
6700 ((abstract_collection___IndexedCollection___append_t)CALL( variable[14] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[14] /*listnode9*/, variable[21] /*listnode8*/) /*IndexedCollection::append*/;
6701 }
6702 }
6703 variable[23] = NEW_AClassdef_parser_prod___AClassdef___init_aclassdef( variable[16] /*pdocnode2*/, variable[17] /*tkwredefnode3*/, variable[18] /*pvisibilitynode4*/, variable[19] /*pclasskindnode5*/, variable[20] /*tclassidnode6*/, variable[13] /*listnode7*/, variable[14] /*listnode9*/, variable[15] /*listnode10*/); /*new AClassdef*/
6704 variable[22] = variable[23];
6705 variable[3] = variable[22] /*pclassdefnode1*/ /*node_list=*/;
6706 variable[23] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
6707 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[23], variable[3] /*node_list*/) /*Parser::push*/;
6708 return_label152: while(false);
6709 tracehead = trace.prev;
6710 return;
6711 }
6712 void parser___ReduceAction60___init(val_t self, int* init_table) {
6713 struct trace_t trace = {NULL, NULL, 3591, LOCATE_parser___ReduceAction60___init};
6714 val_t variable[2];
6715 void **closurevariable = NULL;
6716 trace.prev = tracehead; tracehead = &trace;
6717 trace.file = LOCATE_parser;
6718 variable[0] = self;
6719 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction60].i]) return;
6720 return_label153: while(false);
6721 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction60].i] = 1;
6722 tracehead = trace.prev;
6723 return;
6724 }
6725 void parser___ReduceAction61___action(val_t self, val_t param0) {
6726 struct trace_t trace = {NULL, NULL, 3595, LOCATE_parser___ReduceAction61___action};
6727 val_t variable[24];
6728 void **closurevariable = NULL;
6729 trace.prev = tracehead; tracehead = &trace;
6730 trace.file = LOCATE_parser;
6731 variable[0] = self;
6732 variable[1] = param0;
6733 variable[3] = NIT_NULL /*null*/;
6734 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6735 variable[4] = variable[5];
6736 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6737 variable[5] = variable[6];
6738 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6739 variable[6] = variable[7];
6740 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6741 variable[7] = variable[8];
6742 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6743 variable[8] = variable[9];
6744 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6745 variable[9] = variable[10];
6746 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6747 variable[10] = variable[11];
6748 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6749 variable[11] = variable[12];
6750 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6751 variable[12] = variable[13];
6752 variable[14] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6753 variable[13] = variable[14];
6754 variable[15] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6755 variable[14] = variable[15];
6756 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6757 variable[15] = variable[16];
6758 variable[16] = variable[12] /*nodearraylist1*/;
6759 variable[17] = TAG_Bool(( variable[16] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[16] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
6760 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction61___action, LOCATE_parser, 3611); nit_exit(1);}
6761 variable[17] = variable[11] /*nodearraylist2*/;
6762 variable[18] = TAG_Bool(( variable[17] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[17] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
6763 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction61___action, LOCATE_parser, 3613); nit_exit(1);}
6764 variable[18] = variable[10] /*nodearraylist3*/;
6765 variable[19] = TAG_Bool(( variable[18] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[18] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
6766 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction61___action, LOCATE_parser, 3615); nit_exit(1);}
6767 variable[19] = variable[8] /*nodearraylist5*/;
6768 variable[20] = TAG_Bool(( variable[19] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[19] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
6769 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction61___action, LOCATE_parser, 3617); nit_exit(1);}
6770 variable[20] = variable[7] /*nodearraylist6*/;
6771 variable[21] = TAG_Bool(( variable[20] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[20] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
6772 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction61___action, LOCATE_parser, 3619); nit_exit(1);}
6773 variable[21] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[20] /*listnode7*/ == NIT_NULL /*null*/) || (( variable[20] /*listnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[20] /*listnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable[20] /*listnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6774 if (UNTAG_Bool(variable[21])) { /*if*/
6775 variable[21] = ((array___AbstractArray___is_empty_t)CALL( variable[13] /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable[13] /*listnode8*/) /*AbstractArray::is_empty*/;
6776 if (UNTAG_Bool(variable[21])) { /*if*/
6777 variable[13] = variable[20] /*listnode7*/ /*listnode8=*/;
6778 } else { /*if*/
6779 ((abstract_collection___IndexedCollection___append_t)CALL( variable[13] /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable[13] /*listnode8*/, variable[20] /*listnode7*/) /*IndexedCollection::append*/;
6780 }
6781 }
6782 variable[21] = variable[6] /*nodearraylist7*/;
6783 variable[22] = TAG_Bool(( variable[21] /*listnode9*/==NIT_NULL) || VAL_ISA( variable[21] /*listnode9*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
6784 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction61___action, LOCATE_parser, 3628); nit_exit(1);}
6785 variable[22] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[21] /*listnode9*/ == NIT_NULL /*null*/) || (( variable[21] /*listnode9*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode9*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[21] /*listnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode9*/,COLOR_kernel___Object_____eqeq))( variable[21] /*listnode9*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6786 if (UNTAG_Bool(variable[22])) { /*if*/
6787 variable[22] = ((array___AbstractArray___is_empty_t)CALL( variable[14] /*listnode10*/,COLOR_abstract_collection___Collection___is_empty))( variable[14] /*listnode10*/) /*AbstractArray::is_empty*/;
6788 if (UNTAG_Bool(variable[22])) { /*if*/
6789 variable[14] = variable[21] /*listnode9*/ /*listnode10=*/;
6790 } else { /*if*/
6791 ((abstract_collection___IndexedCollection___append_t)CALL( variable[14] /*listnode10*/,COLOR_abstract_collection___IndexedCollection___append))( variable[14] /*listnode10*/, variable[21] /*listnode9*/) /*IndexedCollection::append*/;
6792 }
6793 }
6794 variable[23] = NEW_AClassdef_parser_prod___AClassdef___init_aclassdef( variable[16] /*pdocnode2*/, NIT_NULL /*null*/, variable[17] /*pvisibilitynode4*/, variable[18] /*pclasskindnode5*/, variable[19] /*tclassidnode6*/, variable[13] /*listnode8*/, variable[14] /*listnode10*/, variable[15] /*listnode11*/); /*new AClassdef*/
6795 variable[22] = variable[23];
6796 variable[3] = variable[22] /*pclassdefnode1*/ /*node_list=*/;
6797 variable[23] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
6798 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[23], variable[3] /*node_list*/) /*Parser::push*/;
6799 return_label154: while(false);
6800 tracehead = trace.prev;
6801 return;
6802 }
6803 void parser___ReduceAction61___init(val_t self, int* init_table) {
6804 struct trace_t trace = {NULL, NULL, 3649, LOCATE_parser___ReduceAction61___init};
6805 val_t variable[2];
6806 void **closurevariable = NULL;
6807 trace.prev = tracehead; tracehead = &trace;
6808 trace.file = LOCATE_parser;
6809 variable[0] = self;
6810 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction61].i]) return;
6811 return_label155: while(false);
6812 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction61].i] = 1;
6813 tracehead = trace.prev;
6814 return;
6815 }
6816 void parser___ReduceAction62___action(val_t self, val_t param0) {
6817 struct trace_t trace = {NULL, NULL, 3653, LOCATE_parser___ReduceAction62___action};
6818 val_t variable[26];
6819 void **closurevariable = NULL;
6820 trace.prev = tracehead; tracehead = &trace;
6821 trace.file = LOCATE_parser;
6822 variable[0] = self;
6823 variable[1] = param0;
6824 variable[3] = NIT_NULL /*null*/;
6825 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6826 variable[4] = variable[5];
6827 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6828 variable[5] = variable[6];
6829 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6830 variable[6] = variable[7];
6831 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6832 variable[7] = variable[8];
6833 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6834 variable[8] = variable[9];
6835 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6836 variable[9] = variable[10];
6837 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6838 variable[10] = variable[11];
6839 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6840 variable[11] = variable[12];
6841 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6842 variable[12] = variable[13];
6843 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6844 variable[13] = variable[14];
6845 variable[15] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6846 variable[14] = variable[15];
6847 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6848 variable[15] = variable[16];
6849 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6850 variable[16] = variable[17];
6851 variable[17] = variable[13] /*nodearraylist1*/;
6852 variable[18] = TAG_Bool(( variable[17] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[17] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
6853 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction62___action, LOCATE_parser, 3670); nit_exit(1);}
6854 variable[18] = variable[12] /*nodearraylist2*/;
6855 variable[19] = TAG_Bool(( variable[18] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
6856 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction62___action, LOCATE_parser, 3672); nit_exit(1);}
6857 variable[19] = variable[11] /*nodearraylist3*/;
6858 variable[20] = TAG_Bool(( variable[19] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[19] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
6859 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction62___action, LOCATE_parser, 3674); nit_exit(1);}
6860 variable[20] = variable[10] /*nodearraylist4*/;
6861 variable[21] = TAG_Bool(( variable[20] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[20] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
6862 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction62___action, LOCATE_parser, 3676); nit_exit(1);}
6863 variable[21] = variable[8] /*nodearraylist6*/;
6864 variable[22] = TAG_Bool(( variable[21] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[21] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
6865 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction62___action, LOCATE_parser, 3678); nit_exit(1);}
6866 variable[22] = variable[7] /*nodearraylist7*/;
6867 variable[23] = TAG_Bool(( variable[22] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[22] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
6868 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction62___action, LOCATE_parser, 3680); nit_exit(1);}
6869 variable[23] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[22] /*listnode7*/ == NIT_NULL /*null*/) || (( variable[22] /*listnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[22] /*listnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[22] /*listnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[22] /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable[22] /*listnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6870 if (UNTAG_Bool(variable[23])) { /*if*/
6871 variable[23] = ((array___AbstractArray___is_empty_t)CALL( variable[14] /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable[14] /*listnode8*/) /*AbstractArray::is_empty*/;
6872 if (UNTAG_Bool(variable[23])) { /*if*/
6873 variable[14] = variable[22] /*listnode7*/ /*listnode8=*/;
6874 } else { /*if*/
6875 ((abstract_collection___IndexedCollection___append_t)CALL( variable[14] /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable[14] /*listnode8*/, variable[22] /*listnode7*/) /*IndexedCollection::append*/;
6876 }
6877 }
6878 variable[23] = variable[6] /*nodearraylist8*/;
6879 variable[24] = TAG_Bool(( variable[23] /*listnode9*/==NIT_NULL) || VAL_ISA( variable[23] /*listnode9*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
6880 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction62___action, LOCATE_parser, 3689); nit_exit(1);}
6881 variable[24] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[23] /*listnode9*/ == NIT_NULL /*null*/) || (( variable[23] /*listnode9*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[23] /*listnode9*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[23] /*listnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[23] /*listnode9*/,COLOR_kernel___Object_____eqeq))( variable[23] /*listnode9*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6882 if (UNTAG_Bool(variable[24])) { /*if*/
6883 variable[24] = ((array___AbstractArray___is_empty_t)CALL( variable[15] /*listnode10*/,COLOR_abstract_collection___Collection___is_empty))( variable[15] /*listnode10*/) /*AbstractArray::is_empty*/;
6884 if (UNTAG_Bool(variable[24])) { /*if*/
6885 variable[15] = variable[23] /*listnode9*/ /*listnode10=*/;
6886 } else { /*if*/
6887 ((abstract_collection___IndexedCollection___append_t)CALL( variable[15] /*listnode10*/,COLOR_abstract_collection___IndexedCollection___append))( variable[15] /*listnode10*/, variable[23] /*listnode9*/) /*IndexedCollection::append*/;
6888 }
6889 }
6890 variable[25] = NEW_AClassdef_parser_prod___AClassdef___init_aclassdef( variable[17] /*pdocnode2*/, variable[18] /*tkwredefnode3*/, variable[19] /*pvisibilitynode4*/, variable[20] /*pclasskindnode5*/, variable[21] /*tclassidnode6*/, variable[14] /*listnode8*/, variable[15] /*listnode10*/, variable[16] /*listnode11*/); /*new AClassdef*/
6891 variable[24] = variable[25];
6892 variable[3] = variable[24] /*pclassdefnode1*/ /*node_list=*/;
6893 variable[25] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
6894 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[25], variable[3] /*node_list*/) /*Parser::push*/;
6895 return_label156: while(false);
6896 tracehead = trace.prev;
6897 return;
6898 }
6899 void parser___ReduceAction62___init(val_t self, int* init_table) {
6900 struct trace_t trace = {NULL, NULL, 3710, LOCATE_parser___ReduceAction62___init};
6901 val_t variable[2];
6902 void **closurevariable = NULL;
6903 trace.prev = tracehead; tracehead = &trace;
6904 trace.file = LOCATE_parser;
6905 variable[0] = self;
6906 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction62].i]) return;
6907 return_label157: while(false);
6908 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction62].i] = 1;
6909 tracehead = trace.prev;
6910 return;
6911 }
6912 void parser___ReduceAction63___action(val_t self, val_t param0) {
6913 struct trace_t trace = {NULL, NULL, 3714, LOCATE_parser___ReduceAction63___action};
6914 val_t variable[23];
6915 void **closurevariable = NULL;
6916 trace.prev = tracehead; tracehead = &trace;
6917 trace.file = LOCATE_parser;
6918 variable[0] = self;
6919 variable[1] = param0;
6920 variable[3] = NIT_NULL /*null*/;
6921 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6922 variable[4] = variable[5];
6923 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6924 variable[5] = variable[6];
6925 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6926 variable[6] = variable[7];
6927 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6928 variable[7] = variable[8];
6929 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6930 variable[8] = variable[9];
6931 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6932 variable[9] = variable[10];
6933 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6934 variable[10] = variable[11];
6935 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6936 variable[11] = variable[12];
6937 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6938 variable[12] = variable[13];
6939 variable[14] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6940 variable[13] = variable[14];
6941 variable[15] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6942 variable[14] = variable[15];
6943 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
6944 variable[15] = variable[16];
6945 variable[16] = variable[12] /*nodearraylist1*/;
6946 variable[17] = TAG_Bool(( variable[16] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[16] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
6947 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction63___action, LOCATE_parser, 3730); nit_exit(1);}
6948 variable[17] = variable[11] /*nodearraylist2*/;
6949 variable[18] = TAG_Bool(( variable[17] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[17] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
6950 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction63___action, LOCATE_parser, 3732); nit_exit(1);}
6951 variable[18] = variable[10] /*nodearraylist3*/;
6952 variable[19] = TAG_Bool(( variable[18] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[18] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
6953 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction63___action, LOCATE_parser, 3734); nit_exit(1);}
6954 variable[19] = variable[8] /*nodearraylist5*/;
6955 variable[20] = TAG_Bool(( variable[19] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[19] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
6956 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction63___action, LOCATE_parser, 3736); nit_exit(1);}
6957 variable[20] = variable[7] /*nodearraylist6*/;
6958 variable[21] = TAG_Bool(( variable[20] /*ppropdefnode9*/==NIT_NULL) || VAL_ISA( variable[20] /*ppropdefnode9*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
6959 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction63___action, LOCATE_parser, 3738); nit_exit(1);}
6960 variable[21] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[20] /*ppropdefnode9*/ == NIT_NULL /*null*/) || (( variable[20] /*ppropdefnode9*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[20] /*ppropdefnode9*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[20] /*ppropdefnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[20] /*ppropdefnode9*/,COLOR_kernel___Object_____eqeq))( variable[20] /*ppropdefnode9*/, NIT_NULL /*null*/) /*Object::==*/)))))));
6961 if (UNTAG_Bool(variable[21])) { /*if*/
6962 ((array___AbstractArray___add_t)CALL( variable[15] /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable[15] /*listnode10*/, variable[20] /*ppropdefnode9*/) /*AbstractArray::add*/;
6963 }
6964 variable[22] = NEW_AClassdef_parser_prod___AClassdef___init_aclassdef( variable[16] /*pdocnode2*/, NIT_NULL /*null*/, variable[17] /*pvisibilitynode4*/, variable[18] /*pclasskindnode5*/, variable[19] /*tclassidnode6*/, variable[13] /*listnode7*/, variable[14] /*listnode8*/, variable[15] /*listnode10*/); /*new AClassdef*/
6965 variable[21] = variable[22];
6966 variable[3] = variable[21] /*pclassdefnode1*/ /*node_list=*/;
6967 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
6968 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
6969 return_label158: while(false);
6970 tracehead = trace.prev;
6971 return;
6972 }
6973 void parser___ReduceAction63___init(val_t self, int* init_table) {
6974 struct trace_t trace = {NULL, NULL, 3755, LOCATE_parser___ReduceAction63___init};
6975 val_t variable[2];
6976 void **closurevariable = NULL;
6977 trace.prev = tracehead; tracehead = &trace;
6978 trace.file = LOCATE_parser;
6979 variable[0] = self;
6980 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction63].i]) return;
6981 return_label159: while(false);
6982 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction63].i] = 1;
6983 tracehead = trace.prev;
6984 return;
6985 }
6986 void parser___ReduceAction64___action(val_t self, val_t param0) {
6987 struct trace_t trace = {NULL, NULL, 3759, LOCATE_parser___ReduceAction64___action};
6988 val_t variable[25];
6989 void **closurevariable = NULL;
6990 trace.prev = tracehead; tracehead = &trace;
6991 trace.file = LOCATE_parser;
6992 variable[0] = self;
6993 variable[1] = param0;
6994 variable[3] = NIT_NULL /*null*/;
6995 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6996 variable[4] = variable[5];
6997 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
6998 variable[5] = variable[6];
6999 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7000 variable[6] = variable[7];
7001 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7002 variable[7] = variable[8];
7003 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7004 variable[8] = variable[9];
7005 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7006 variable[9] = variable[10];
7007 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7008 variable[10] = variable[11];
7009 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7010 variable[11] = variable[12];
7011 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7012 variable[12] = variable[13];
7013 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7014 variable[13] = variable[14];
7015 variable[15] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7016 variable[14] = variable[15];
7017 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7018 variable[15] = variable[16];
7019 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7020 variable[16] = variable[17];
7021 variable[17] = variable[13] /*nodearraylist1*/;
7022 variable[18] = TAG_Bool(( variable[17] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[17] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
7023 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction64___action, LOCATE_parser, 3776); nit_exit(1);}
7024 variable[18] = variable[12] /*nodearraylist2*/;
7025 variable[19] = TAG_Bool(( variable[18] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[18] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
7026 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction64___action, LOCATE_parser, 3778); nit_exit(1);}
7027 variable[19] = variable[11] /*nodearraylist3*/;
7028 variable[20] = TAG_Bool(( variable[19] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[19] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
7029 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction64___action, LOCATE_parser, 3780); nit_exit(1);}
7030 variable[20] = variable[9] /*nodearraylist5*/;
7031 variable[21] = TAG_Bool(( variable[20] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[20] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
7032 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction64___action, LOCATE_parser, 3782); nit_exit(1);}
7033 variable[21] = variable[8] /*nodearraylist6*/;
7034 variable[22] = TAG_Bool(( variable[21] /*ppropdefnode9*/==NIT_NULL) || VAL_ISA( variable[21] /*ppropdefnode9*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
7035 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction64___action, LOCATE_parser, 3784); nit_exit(1);}
7036 variable[22] = variable[6] /*nodearraylist8*/;
7037 variable[23] = TAG_Bool(( variable[22] /*listnode10*/==NIT_NULL) || VAL_ISA( variable[22] /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7038 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction64___action, LOCATE_parser, 3786); nit_exit(1);}
7039 variable[23] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[21] /*ppropdefnode9*/ == NIT_NULL /*null*/) || (( variable[21] /*ppropdefnode9*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[21] /*ppropdefnode9*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[21] /*ppropdefnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[21] /*ppropdefnode9*/,COLOR_kernel___Object_____eqeq))( variable[21] /*ppropdefnode9*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7040 if (UNTAG_Bool(variable[23])) { /*if*/
7041 ((array___AbstractArray___add_t)CALL( variable[16] /*listnode11*/,COLOR_abstract_collection___SimpleCollection___add))( variable[16] /*listnode11*/, variable[21] /*ppropdefnode9*/) /*AbstractArray::add*/;
7042 }
7043 variable[23] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[22] /*listnode10*/ == NIT_NULL /*null*/) || (( variable[22] /*listnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[22] /*listnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[22] /*listnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[22] /*listnode10*/,COLOR_kernel___Object_____eqeq))( variable[22] /*listnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7044 if (UNTAG_Bool(variable[23])) { /*if*/
7045 variable[23] = ((array___AbstractArray___is_empty_t)CALL( variable[16] /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable[16] /*listnode11*/) /*AbstractArray::is_empty*/;
7046 if (UNTAG_Bool(variable[23])) { /*if*/
7047 variable[16] = variable[22] /*listnode10*/ /*listnode11=*/;
7048 } else { /*if*/
7049 ((abstract_collection___IndexedCollection___append_t)CALL( variable[16] /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable[16] /*listnode11*/, variable[22] /*listnode10*/) /*IndexedCollection::append*/;
7050 }
7051 }
7052 variable[24] = NEW_AClassdef_parser_prod___AClassdef___init_aclassdef( variable[17] /*pdocnode2*/, NIT_NULL /*null*/, variable[18] /*pvisibilitynode4*/, variable[19] /*pclasskindnode5*/, variable[20] /*tclassidnode6*/, variable[14] /*listnode7*/, variable[15] /*listnode8*/, variable[16] /*listnode11*/); /*new AClassdef*/
7053 variable[23] = variable[24];
7054 variable[3] = variable[23] /*pclassdefnode1*/ /*node_list=*/;
7055 variable[24] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
7056 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
7057 return_label160: while(false);
7058 tracehead = trace.prev;
7059 return;
7060 }
7061 void parser___ReduceAction64___init(val_t self, int* init_table) {
7062 struct trace_t trace = {NULL, NULL, 3810, LOCATE_parser___ReduceAction64___init};
7063 val_t variable[2];
7064 void **closurevariable = NULL;
7065 trace.prev = tracehead; tracehead = &trace;
7066 trace.file = LOCATE_parser;
7067 variable[0] = self;
7068 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction64].i]) return;
7069 return_label161: while(false);
7070 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction64].i] = 1;
7071 tracehead = trace.prev;
7072 return;
7073 }
7074 void parser___ReduceAction65___action(val_t self, val_t param0) {
7075 struct trace_t trace = {NULL, NULL, 3814, LOCATE_parser___ReduceAction65___action};
7076 val_t variable[25];
7077 void **closurevariable = NULL;
7078 trace.prev = tracehead; tracehead = &trace;
7079 trace.file = LOCATE_parser;
7080 variable[0] = self;
7081 variable[1] = param0;
7082 variable[3] = NIT_NULL /*null*/;
7083 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7084 variable[4] = variable[5];
7085 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7086 variable[5] = variable[6];
7087 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7088 variable[6] = variable[7];
7089 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7090 variable[7] = variable[8];
7091 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7092 variable[8] = variable[9];
7093 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7094 variable[9] = variable[10];
7095 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7096 variable[10] = variable[11];
7097 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7098 variable[11] = variable[12];
7099 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7100 variable[12] = variable[13];
7101 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7102 variable[13] = variable[14];
7103 variable[15] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7104 variable[14] = variable[15];
7105 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7106 variable[15] = variable[16];
7107 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7108 variable[16] = variable[17];
7109 variable[17] = variable[13] /*nodearraylist1*/;
7110 variable[18] = TAG_Bool(( variable[17] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[17] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
7111 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction65___action, LOCATE_parser, 3831); nit_exit(1);}
7112 variable[18] = variable[12] /*nodearraylist2*/;
7113 variable[19] = TAG_Bool(( variable[18] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
7114 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction65___action, LOCATE_parser, 3833); nit_exit(1);}
7115 variable[19] = variable[11] /*nodearraylist3*/;
7116 variable[20] = TAG_Bool(( variable[19] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[19] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
7117 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction65___action, LOCATE_parser, 3835); nit_exit(1);}
7118 variable[20] = variable[10] /*nodearraylist4*/;
7119 variable[21] = TAG_Bool(( variable[20] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[20] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
7120 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction65___action, LOCATE_parser, 3837); nit_exit(1);}
7121 variable[21] = variable[8] /*nodearraylist6*/;
7122 variable[22] = TAG_Bool(( variable[21] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[21] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
7123 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction65___action, LOCATE_parser, 3839); nit_exit(1);}
7124 variable[22] = variable[7] /*nodearraylist7*/;
7125 variable[23] = TAG_Bool(( variable[22] /*ppropdefnode9*/==NIT_NULL) || VAL_ISA( variable[22] /*ppropdefnode9*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
7126 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction65___action, LOCATE_parser, 3841); nit_exit(1);}
7127 variable[23] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[22] /*ppropdefnode9*/ == NIT_NULL /*null*/) || (( variable[22] /*ppropdefnode9*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[22] /*ppropdefnode9*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[22] /*ppropdefnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[22] /*ppropdefnode9*/,COLOR_kernel___Object_____eqeq))( variable[22] /*ppropdefnode9*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7128 if (UNTAG_Bool(variable[23])) { /*if*/
7129 ((array___AbstractArray___add_t)CALL( variable[16] /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable[16] /*listnode10*/, variable[22] /*ppropdefnode9*/) /*AbstractArray::add*/;
7130 }
7131 variable[24] = NEW_AClassdef_parser_prod___AClassdef___init_aclassdef( variable[17] /*pdocnode2*/, variable[18] /*tkwredefnode3*/, variable[19] /*pvisibilitynode4*/, variable[20] /*pclasskindnode5*/, variable[21] /*tclassidnode6*/, variable[14] /*listnode7*/, variable[15] /*listnode8*/, variable[16] /*listnode10*/); /*new AClassdef*/
7132 variable[23] = variable[24];
7133 variable[3] = variable[23] /*pclassdefnode1*/ /*node_list=*/;
7134 variable[24] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
7135 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
7136 return_label162: while(false);
7137 tracehead = trace.prev;
7138 return;
7139 }
7140 void parser___ReduceAction65___init(val_t self, int* init_table) {
7141 struct trace_t trace = {NULL, NULL, 3858, LOCATE_parser___ReduceAction65___init};
7142 val_t variable[2];
7143 void **closurevariable = NULL;
7144 trace.prev = tracehead; tracehead = &trace;
7145 trace.file = LOCATE_parser;
7146 variable[0] = self;
7147 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction65].i]) return;
7148 return_label163: while(false);
7149 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction65].i] = 1;
7150 tracehead = trace.prev;
7151 return;
7152 }
7153 void parser___ReduceAction66___action(val_t self, val_t param0) {
7154 struct trace_t trace = {NULL, NULL, 3862, LOCATE_parser___ReduceAction66___action};
7155 val_t variable[27];
7156 void **closurevariable = NULL;
7157 trace.prev = tracehead; tracehead = &trace;
7158 trace.file = LOCATE_parser;
7159 variable[0] = self;
7160 variable[1] = param0;
7161 variable[3] = NIT_NULL /*null*/;
7162 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7163 variable[4] = variable[5];
7164 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7165 variable[5] = variable[6];
7166 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7167 variable[6] = variable[7];
7168 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7169 variable[7] = variable[8];
7170 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7171 variable[8] = variable[9];
7172 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7173 variable[9] = variable[10];
7174 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7175 variable[10] = variable[11];
7176 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7177 variable[11] = variable[12];
7178 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7179 variable[12] = variable[13];
7180 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7181 variable[13] = variable[14];
7182 variable[15] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7183 variable[14] = variable[15];
7184 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7185 variable[15] = variable[16];
7186 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7187 variable[16] = variable[17];
7188 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7189 variable[17] = variable[18];
7190 variable[18] = variable[14] /*nodearraylist1*/;
7191 variable[19] = TAG_Bool(( variable[18] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[18] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
7192 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction66___action, LOCATE_parser, 3880); nit_exit(1);}
7193 variable[19] = variable[13] /*nodearraylist2*/;
7194 variable[20] = TAG_Bool(( variable[19] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
7195 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction66___action, LOCATE_parser, 3882); nit_exit(1);}
7196 variable[20] = variable[12] /*nodearraylist3*/;
7197 variable[21] = TAG_Bool(( variable[20] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[20] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
7198 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction66___action, LOCATE_parser, 3884); nit_exit(1);}
7199 variable[21] = variable[11] /*nodearraylist4*/;
7200 variable[22] = TAG_Bool(( variable[21] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[21] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
7201 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction66___action, LOCATE_parser, 3886); nit_exit(1);}
7202 variable[22] = variable[9] /*nodearraylist6*/;
7203 variable[23] = TAG_Bool(( variable[22] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[22] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
7204 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction66___action, LOCATE_parser, 3888); nit_exit(1);}
7205 variable[23] = variable[8] /*nodearraylist7*/;
7206 variable[24] = TAG_Bool(( variable[23] /*ppropdefnode9*/==NIT_NULL) || VAL_ISA( variable[23] /*ppropdefnode9*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
7207 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction66___action, LOCATE_parser, 3890); nit_exit(1);}
7208 variable[24] = variable[6] /*nodearraylist9*/;
7209 variable[25] = TAG_Bool(( variable[24] /*listnode10*/==NIT_NULL) || VAL_ISA( variable[24] /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7210 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction66___action, LOCATE_parser, 3892); nit_exit(1);}
7211 variable[25] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[23] /*ppropdefnode9*/ == NIT_NULL /*null*/) || (( variable[23] /*ppropdefnode9*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[23] /*ppropdefnode9*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[23] /*ppropdefnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[23] /*ppropdefnode9*/,COLOR_kernel___Object_____eqeq))( variable[23] /*ppropdefnode9*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7212 if (UNTAG_Bool(variable[25])) { /*if*/
7213 ((array___AbstractArray___add_t)CALL( variable[17] /*listnode11*/,COLOR_abstract_collection___SimpleCollection___add))( variable[17] /*listnode11*/, variable[23] /*ppropdefnode9*/) /*AbstractArray::add*/;
7214 }
7215 variable[25] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[24] /*listnode10*/ == NIT_NULL /*null*/) || (( variable[24] /*listnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[24] /*listnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[24] /*listnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[24] /*listnode10*/,COLOR_kernel___Object_____eqeq))( variable[24] /*listnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7216 if (UNTAG_Bool(variable[25])) { /*if*/
7217 variable[25] = ((array___AbstractArray___is_empty_t)CALL( variable[17] /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable[17] /*listnode11*/) /*AbstractArray::is_empty*/;
7218 if (UNTAG_Bool(variable[25])) { /*if*/
7219 variable[17] = variable[24] /*listnode10*/ /*listnode11=*/;
7220 } else { /*if*/
7221 ((abstract_collection___IndexedCollection___append_t)CALL( variable[17] /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable[17] /*listnode11*/, variable[24] /*listnode10*/) /*IndexedCollection::append*/;
7222 }
7223 }
7224 variable[26] = NEW_AClassdef_parser_prod___AClassdef___init_aclassdef( variable[18] /*pdocnode2*/, variable[19] /*tkwredefnode3*/, variable[20] /*pvisibilitynode4*/, variable[21] /*pclasskindnode5*/, variable[22] /*tclassidnode6*/, variable[15] /*listnode7*/, variable[16] /*listnode8*/, variable[17] /*listnode11*/); /*new AClassdef*/
7225 variable[25] = variable[26];
7226 variable[3] = variable[25] /*pclassdefnode1*/ /*node_list=*/;
7227 variable[26] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
7228 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[26], variable[3] /*node_list*/) /*Parser::push*/;
7229 return_label164: while(false);
7230 tracehead = trace.prev;
7231 return;
7232 }
7233 void parser___ReduceAction66___init(val_t self, int* init_table) {
7234 struct trace_t trace = {NULL, NULL, 3916, LOCATE_parser___ReduceAction66___init};
7235 val_t variable[2];
7236 void **closurevariable = NULL;
7237 trace.prev = tracehead; tracehead = &trace;
7238 trace.file = LOCATE_parser;
7239 variable[0] = self;
7240 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction66].i]) return;
7241 return_label165: while(false);
7242 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction66].i] = 1;
7243 tracehead = trace.prev;
7244 return;
7245 }
7246 void parser___ReduceAction67___action(val_t self, val_t param0) {
7247 struct trace_t trace = {NULL, NULL, 3920, LOCATE_parser___ReduceAction67___action};
7248 val_t variable[25];
7249 void **closurevariable = NULL;
7250 trace.prev = tracehead; tracehead = &trace;
7251 trace.file = LOCATE_parser;
7252 variable[0] = self;
7253 variable[1] = param0;
7254 variable[3] = NIT_NULL /*null*/;
7255 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7256 variable[4] = variable[5];
7257 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7258 variable[5] = variable[6];
7259 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7260 variable[6] = variable[7];
7261 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7262 variable[7] = variable[8];
7263 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7264 variable[8] = variable[9];
7265 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7266 variable[9] = variable[10];
7267 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7268 variable[10] = variable[11];
7269 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7270 variable[11] = variable[12];
7271 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7272 variable[12] = variable[13];
7273 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7274 variable[13] = variable[14];
7275 variable[15] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7276 variable[14] = variable[15];
7277 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7278 variable[15] = variable[16];
7279 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7280 variable[16] = variable[17];
7281 variable[17] = variable[13] /*nodearraylist1*/;
7282 variable[18] = TAG_Bool(( variable[17] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[17] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
7283 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction67___action, LOCATE_parser, 3937); nit_exit(1);}
7284 variable[18] = variable[12] /*nodearraylist2*/;
7285 variable[19] = TAG_Bool(( variable[18] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[18] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
7286 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction67___action, LOCATE_parser, 3939); nit_exit(1);}
7287 variable[19] = variable[11] /*nodearraylist3*/;
7288 variable[20] = TAG_Bool(( variable[19] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[19] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
7289 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction67___action, LOCATE_parser, 3941); nit_exit(1);}
7290 variable[20] = variable[9] /*nodearraylist5*/;
7291 variable[21] = TAG_Bool(( variable[20] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[20] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
7292 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction67___action, LOCATE_parser, 3943); nit_exit(1);}
7293 variable[21] = variable[8] /*nodearraylist6*/;
7294 variable[22] = TAG_Bool(( variable[21] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[21] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7295 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction67___action, LOCATE_parser, 3945); nit_exit(1);}
7296 variable[22] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[21] /*listnode7*/ == NIT_NULL /*null*/) || (( variable[21] /*listnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[21] /*listnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable[21] /*listnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7297 if (UNTAG_Bool(variable[22])) { /*if*/
7298 variable[22] = ((array___AbstractArray___is_empty_t)CALL( variable[14] /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable[14] /*listnode8*/) /*AbstractArray::is_empty*/;
7299 if (UNTAG_Bool(variable[22])) { /*if*/
7300 variable[14] = variable[21] /*listnode7*/ /*listnode8=*/;
7301 } else { /*if*/
7302 ((abstract_collection___IndexedCollection___append_t)CALL( variable[14] /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable[14] /*listnode8*/, variable[21] /*listnode7*/) /*IndexedCollection::append*/;
7303 }
7304 }
7305 variable[22] = variable[7] /*nodearraylist7*/;
7306 variable[23] = TAG_Bool(( variable[22] /*ppropdefnode10*/==NIT_NULL) || VAL_ISA( variable[22] /*ppropdefnode10*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
7307 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction67___action, LOCATE_parser, 3954); nit_exit(1);}
7308 variable[23] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[22] /*ppropdefnode10*/ == NIT_NULL /*null*/) || (( variable[22] /*ppropdefnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[22] /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[22] /*ppropdefnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[22] /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))( variable[22] /*ppropdefnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7309 if (UNTAG_Bool(variable[23])) { /*if*/
7310 ((array___AbstractArray___add_t)CALL( variable[16] /*listnode11*/,COLOR_abstract_collection___SimpleCollection___add))( variable[16] /*listnode11*/, variable[22] /*ppropdefnode10*/) /*AbstractArray::add*/;
7311 }
7312 variable[24] = NEW_AClassdef_parser_prod___AClassdef___init_aclassdef( variable[17] /*pdocnode2*/, NIT_NULL /*null*/, variable[18] /*pvisibilitynode4*/, variable[19] /*pclasskindnode5*/, variable[20] /*tclassidnode6*/, variable[14] /*listnode8*/, variable[15] /*listnode9*/, variable[16] /*listnode11*/); /*new AClassdef*/
7313 variable[23] = variable[24];
7314 variable[3] = variable[23] /*pclassdefnode1*/ /*node_list=*/;
7315 variable[24] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
7316 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
7317 return_label166: while(false);
7318 tracehead = trace.prev;
7319 return;
7320 }
7321 void parser___ReduceAction67___init(val_t self, int* init_table) {
7322 struct trace_t trace = {NULL, NULL, 3971, LOCATE_parser___ReduceAction67___init};
7323 val_t variable[2];
7324 void **closurevariable = NULL;
7325 trace.prev = tracehead; tracehead = &trace;
7326 trace.file = LOCATE_parser;
7327 variable[0] = self;
7328 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction67].i]) return;
7329 return_label167: while(false);
7330 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction67].i] = 1;
7331 tracehead = trace.prev;
7332 return;
7333 }
7334 void parser___ReduceAction68___action(val_t self, val_t param0) {
7335 struct trace_t trace = {NULL, NULL, 3975, LOCATE_parser___ReduceAction68___action};
7336 val_t variable[27];
7337 void **closurevariable = NULL;
7338 trace.prev = tracehead; tracehead = &trace;
7339 trace.file = LOCATE_parser;
7340 variable[0] = self;
7341 variable[1] = param0;
7342 variable[3] = NIT_NULL /*null*/;
7343 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7344 variable[4] = variable[5];
7345 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7346 variable[5] = variable[6];
7347 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7348 variable[6] = variable[7];
7349 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7350 variable[7] = variable[8];
7351 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7352 variable[8] = variable[9];
7353 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7354 variable[9] = variable[10];
7355 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7356 variable[10] = variable[11];
7357 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7358 variable[11] = variable[12];
7359 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7360 variable[12] = variable[13];
7361 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7362 variable[13] = variable[14];
7363 variable[15] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7364 variable[14] = variable[15];
7365 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7366 variable[15] = variable[16];
7367 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7368 variable[16] = variable[17];
7369 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7370 variable[17] = variable[18];
7371 variable[18] = variable[14] /*nodearraylist1*/;
7372 variable[19] = TAG_Bool(( variable[18] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[18] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
7373 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction68___action, LOCATE_parser, 3993); nit_exit(1);}
7374 variable[19] = variable[13] /*nodearraylist2*/;
7375 variable[20] = TAG_Bool(( variable[19] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[19] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
7376 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction68___action, LOCATE_parser, 3995); nit_exit(1);}
7377 variable[20] = variable[12] /*nodearraylist3*/;
7378 variable[21] = TAG_Bool(( variable[20] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[20] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
7379 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction68___action, LOCATE_parser, 3997); nit_exit(1);}
7380 variable[21] = variable[10] /*nodearraylist5*/;
7381 variable[22] = TAG_Bool(( variable[21] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[21] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
7382 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction68___action, LOCATE_parser, 3999); nit_exit(1);}
7383 variable[22] = variable[9] /*nodearraylist6*/;
7384 variable[23] = TAG_Bool(( variable[22] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[22] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7385 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction68___action, LOCATE_parser, 4001); nit_exit(1);}
7386 variable[23] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[22] /*listnode7*/ == NIT_NULL /*null*/) || (( variable[22] /*listnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[22] /*listnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[22] /*listnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[22] /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable[22] /*listnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7387 if (UNTAG_Bool(variable[23])) { /*if*/
7388 variable[23] = ((array___AbstractArray___is_empty_t)CALL( variable[15] /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable[15] /*listnode8*/) /*AbstractArray::is_empty*/;
7389 if (UNTAG_Bool(variable[23])) { /*if*/
7390 variable[15] = variable[22] /*listnode7*/ /*listnode8=*/;
7391 } else { /*if*/
7392 ((abstract_collection___IndexedCollection___append_t)CALL( variable[15] /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable[15] /*listnode8*/, variable[22] /*listnode7*/) /*IndexedCollection::append*/;
7393 }
7394 }
7395 variable[23] = variable[8] /*nodearraylist7*/;
7396 variable[24] = TAG_Bool(( variable[23] /*ppropdefnode10*/==NIT_NULL) || VAL_ISA( variable[23] /*ppropdefnode10*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
7397 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction68___action, LOCATE_parser, 4010); nit_exit(1);}
7398 variable[24] = variable[6] /*nodearraylist9*/;
7399 variable[25] = TAG_Bool(( variable[24] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[24] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7400 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction68___action, LOCATE_parser, 4012); nit_exit(1);}
7401 variable[25] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[23] /*ppropdefnode10*/ == NIT_NULL /*null*/) || (( variable[23] /*ppropdefnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[23] /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[23] /*ppropdefnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[23] /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))( variable[23] /*ppropdefnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7402 if (UNTAG_Bool(variable[25])) { /*if*/
7403 ((array___AbstractArray___add_t)CALL( variable[17] /*listnode12*/,COLOR_abstract_collection___SimpleCollection___add))( variable[17] /*listnode12*/, variable[23] /*ppropdefnode10*/) /*AbstractArray::add*/;
7404 }
7405 variable[25] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[24] /*listnode11*/ == NIT_NULL /*null*/) || (( variable[24] /*listnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[24] /*listnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[24] /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[24] /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable[24] /*listnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7406 if (UNTAG_Bool(variable[25])) { /*if*/
7407 variable[25] = ((array___AbstractArray___is_empty_t)CALL( variable[17] /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable[17] /*listnode12*/) /*AbstractArray::is_empty*/;
7408 if (UNTAG_Bool(variable[25])) { /*if*/
7409 variable[17] = variable[24] /*listnode11*/ /*listnode12=*/;
7410 } else { /*if*/
7411 ((abstract_collection___IndexedCollection___append_t)CALL( variable[17] /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable[17] /*listnode12*/, variable[24] /*listnode11*/) /*IndexedCollection::append*/;
7412 }
7413 }
7414 variable[26] = NEW_AClassdef_parser_prod___AClassdef___init_aclassdef( variable[18] /*pdocnode2*/, NIT_NULL /*null*/, variable[19] /*pvisibilitynode4*/, variable[20] /*pclasskindnode5*/, variable[21] /*tclassidnode6*/, variable[15] /*listnode8*/, variable[16] /*listnode9*/, variable[17] /*listnode12*/); /*new AClassdef*/
7415 variable[25] = variable[26];
7416 variable[3] = variable[25] /*pclassdefnode1*/ /*node_list=*/;
7417 variable[26] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
7418 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[26], variable[3] /*node_list*/) /*Parser::push*/;
7419 return_label168: while(false);
7420 tracehead = trace.prev;
7421 return;
7422 }
7423 void parser___ReduceAction68___init(val_t self, int* init_table) {
7424 struct trace_t trace = {NULL, NULL, 4036, LOCATE_parser___ReduceAction68___init};
7425 val_t variable[2];
7426 void **closurevariable = NULL;
7427 trace.prev = tracehead; tracehead = &trace;
7428 trace.file = LOCATE_parser;
7429 variable[0] = self;
7430 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction68].i]) return;
7431 return_label169: while(false);
7432 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction68].i] = 1;
7433 tracehead = trace.prev;
7434 return;
7435 }
7436 void parser___ReduceAction69___action(val_t self, val_t param0) {
7437 struct trace_t trace = {NULL, NULL, 4040, LOCATE_parser___ReduceAction69___action};
7438 val_t variable[27];
7439 void **closurevariable = NULL;
7440 trace.prev = tracehead; tracehead = &trace;
7441 trace.file = LOCATE_parser;
7442 variable[0] = self;
7443 variable[1] = param0;
7444 variable[3] = NIT_NULL /*null*/;
7445 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7446 variable[4] = variable[5];
7447 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7448 variable[5] = variable[6];
7449 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7450 variable[6] = variable[7];
7451 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7452 variable[7] = variable[8];
7453 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7454 variable[8] = variable[9];
7455 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7456 variable[9] = variable[10];
7457 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7458 variable[10] = variable[11];
7459 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7460 variable[11] = variable[12];
7461 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7462 variable[12] = variable[13];
7463 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7464 variable[13] = variable[14];
7465 variable[15] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7466 variable[14] = variable[15];
7467 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7468 variable[15] = variable[16];
7469 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7470 variable[16] = variable[17];
7471 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7472 variable[17] = variable[18];
7473 variable[18] = variable[14] /*nodearraylist1*/;
7474 variable[19] = TAG_Bool(( variable[18] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[18] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
7475 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction69___action, LOCATE_parser, 4058); nit_exit(1);}
7476 variable[19] = variable[13] /*nodearraylist2*/;
7477 variable[20] = TAG_Bool(( variable[19] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
7478 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction69___action, LOCATE_parser, 4060); nit_exit(1);}
7479 variable[20] = variable[12] /*nodearraylist3*/;
7480 variable[21] = TAG_Bool(( variable[20] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[20] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
7481 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction69___action, LOCATE_parser, 4062); nit_exit(1);}
7482 variable[21] = variable[11] /*nodearraylist4*/;
7483 variable[22] = TAG_Bool(( variable[21] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[21] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
7484 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction69___action, LOCATE_parser, 4064); nit_exit(1);}
7485 variable[22] = variable[9] /*nodearraylist6*/;
7486 variable[23] = TAG_Bool(( variable[22] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[22] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
7487 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction69___action, LOCATE_parser, 4066); nit_exit(1);}
7488 variable[23] = variable[8] /*nodearraylist7*/;
7489 variable[24] = TAG_Bool(( variable[23] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[23] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7490 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction69___action, LOCATE_parser, 4068); nit_exit(1);}
7491 variable[24] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[23] /*listnode7*/ == NIT_NULL /*null*/) || (( variable[23] /*listnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[23] /*listnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[23] /*listnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[23] /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable[23] /*listnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7492 if (UNTAG_Bool(variable[24])) { /*if*/
7493 variable[24] = ((array___AbstractArray___is_empty_t)CALL( variable[15] /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable[15] /*listnode8*/) /*AbstractArray::is_empty*/;
7494 if (UNTAG_Bool(variable[24])) { /*if*/
7495 variable[15] = variable[23] /*listnode7*/ /*listnode8=*/;
7496 } else { /*if*/
7497 ((abstract_collection___IndexedCollection___append_t)CALL( variable[15] /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable[15] /*listnode8*/, variable[23] /*listnode7*/) /*IndexedCollection::append*/;
7498 }
7499 }
7500 variable[24] = variable[7] /*nodearraylist8*/;
7501 variable[25] = TAG_Bool(( variable[24] /*ppropdefnode10*/==NIT_NULL) || VAL_ISA( variable[24] /*ppropdefnode10*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
7502 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction69___action, LOCATE_parser, 4077); nit_exit(1);}
7503 variable[25] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[24] /*ppropdefnode10*/ == NIT_NULL /*null*/) || (( variable[24] /*ppropdefnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[24] /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[24] /*ppropdefnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[24] /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))( variable[24] /*ppropdefnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7504 if (UNTAG_Bool(variable[25])) { /*if*/
7505 ((array___AbstractArray___add_t)CALL( variable[17] /*listnode11*/,COLOR_abstract_collection___SimpleCollection___add))( variable[17] /*listnode11*/, variable[24] /*ppropdefnode10*/) /*AbstractArray::add*/;
7506 }
7507 variable[26] = NEW_AClassdef_parser_prod___AClassdef___init_aclassdef( variable[18] /*pdocnode2*/, variable[19] /*tkwredefnode3*/, variable[20] /*pvisibilitynode4*/, variable[21] /*pclasskindnode5*/, variable[22] /*tclassidnode6*/, variable[15] /*listnode8*/, variable[16] /*listnode9*/, variable[17] /*listnode11*/); /*new AClassdef*/
7508 variable[25] = variable[26];
7509 variable[3] = variable[25] /*pclassdefnode1*/ /*node_list=*/;
7510 variable[26] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
7511 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[26], variable[3] /*node_list*/) /*Parser::push*/;
7512 return_label170: while(false);
7513 tracehead = trace.prev;
7514 return;
7515 }
7516 void parser___ReduceAction69___init(val_t self, int* init_table) {
7517 struct trace_t trace = {NULL, NULL, 4094, LOCATE_parser___ReduceAction69___init};
7518 val_t variable[2];
7519 void **closurevariable = NULL;
7520 trace.prev = tracehead; tracehead = &trace;
7521 trace.file = LOCATE_parser;
7522 variable[0] = self;
7523 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction69].i]) return;
7524 return_label171: while(false);
7525 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction69].i] = 1;
7526 tracehead = trace.prev;
7527 return;
7528 }
7529 void parser___ReduceAction70___action(val_t self, val_t param0) {
7530 struct trace_t trace = {NULL, NULL, 4098, LOCATE_parser___ReduceAction70___action};
7531 val_t variable[29];
7532 void **closurevariable = NULL;
7533 trace.prev = tracehead; tracehead = &trace;
7534 trace.file = LOCATE_parser;
7535 variable[0] = self;
7536 variable[1] = param0;
7537 variable[3] = NIT_NULL /*null*/;
7538 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7539 variable[4] = variable[5];
7540 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7541 variable[5] = variable[6];
7542 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7543 variable[6] = variable[7];
7544 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7545 variable[7] = variable[8];
7546 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7547 variable[8] = variable[9];
7548 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7549 variable[9] = variable[10];
7550 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7551 variable[10] = variable[11];
7552 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7553 variable[11] = variable[12];
7554 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7555 variable[12] = variable[13];
7556 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7557 variable[13] = variable[14];
7558 variable[15] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7559 variable[14] = variable[15];
7560 variable[16] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7561 variable[15] = variable[16];
7562 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7563 variable[16] = variable[17];
7564 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7565 variable[17] = variable[18];
7566 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7567 variable[18] = variable[19];
7568 variable[19] = variable[15] /*nodearraylist1*/;
7569 variable[20] = TAG_Bool(( variable[19] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[19] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
7570 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction70___action, LOCATE_parser, 4117); nit_exit(1);}
7571 variable[20] = variable[14] /*nodearraylist2*/;
7572 variable[21] = TAG_Bool(( variable[20] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[20] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
7573 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction70___action, LOCATE_parser, 4119); nit_exit(1);}
7574 variable[21] = variable[13] /*nodearraylist3*/;
7575 variable[22] = TAG_Bool(( variable[21] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[21] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
7576 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction70___action, LOCATE_parser, 4121); nit_exit(1);}
7577 variable[22] = variable[12] /*nodearraylist4*/;
7578 variable[23] = TAG_Bool(( variable[22] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[22] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
7579 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction70___action, LOCATE_parser, 4123); nit_exit(1);}
7580 variable[23] = variable[10] /*nodearraylist6*/;
7581 variable[24] = TAG_Bool(( variable[23] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[23] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
7582 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction70___action, LOCATE_parser, 4125); nit_exit(1);}
7583 variable[24] = variable[9] /*nodearraylist7*/;
7584 variable[25] = TAG_Bool(( variable[24] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[24] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7585 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction70___action, LOCATE_parser, 4127); nit_exit(1);}
7586 variable[25] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[24] /*listnode7*/ == NIT_NULL /*null*/) || (( variable[24] /*listnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[24] /*listnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[24] /*listnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[24] /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable[24] /*listnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7587 if (UNTAG_Bool(variable[25])) { /*if*/
7588 variable[25] = ((array___AbstractArray___is_empty_t)CALL( variable[16] /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable[16] /*listnode8*/) /*AbstractArray::is_empty*/;
7589 if (UNTAG_Bool(variable[25])) { /*if*/
7590 variable[16] = variable[24] /*listnode7*/ /*listnode8=*/;
7591 } else { /*if*/
7592 ((abstract_collection___IndexedCollection___append_t)CALL( variable[16] /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable[16] /*listnode8*/, variable[24] /*listnode7*/) /*IndexedCollection::append*/;
7593 }
7594 }
7595 variable[25] = variable[8] /*nodearraylist8*/;
7596 variable[26] = TAG_Bool(( variable[25] /*ppropdefnode10*/==NIT_NULL) || VAL_ISA( variable[25] /*ppropdefnode10*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
7597 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction70___action, LOCATE_parser, 4136); nit_exit(1);}
7598 variable[26] = variable[6] /*nodearraylist10*/;
7599 variable[27] = TAG_Bool(( variable[26] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[26] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7600 if (!UNTAG_Bool(variable[27])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction70___action, LOCATE_parser, 4138); nit_exit(1);}
7601 variable[27] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[25] /*ppropdefnode10*/ == NIT_NULL /*null*/) || (( variable[25] /*ppropdefnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[25] /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[25] /*ppropdefnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[25] /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))( variable[25] /*ppropdefnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7602 if (UNTAG_Bool(variable[27])) { /*if*/
7603 ((array___AbstractArray___add_t)CALL( variable[18] /*listnode12*/,COLOR_abstract_collection___SimpleCollection___add))( variable[18] /*listnode12*/, variable[25] /*ppropdefnode10*/) /*AbstractArray::add*/;
7604 }
7605 variable[27] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[26] /*listnode11*/ == NIT_NULL /*null*/) || (( variable[26] /*listnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[26] /*listnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[26] /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[26] /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable[26] /*listnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7606 if (UNTAG_Bool(variable[27])) { /*if*/
7607 variable[27] = ((array___AbstractArray___is_empty_t)CALL( variable[18] /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable[18] /*listnode12*/) /*AbstractArray::is_empty*/;
7608 if (UNTAG_Bool(variable[27])) { /*if*/
7609 variable[18] = variable[26] /*listnode11*/ /*listnode12=*/;
7610 } else { /*if*/
7611 ((abstract_collection___IndexedCollection___append_t)CALL( variable[18] /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable[18] /*listnode12*/, variable[26] /*listnode11*/) /*IndexedCollection::append*/;
7612 }
7613 }
7614 variable[28] = NEW_AClassdef_parser_prod___AClassdef___init_aclassdef( variable[19] /*pdocnode2*/, variable[20] /*tkwredefnode3*/, variable[21] /*pvisibilitynode4*/, variable[22] /*pclasskindnode5*/, variable[23] /*tclassidnode6*/, variable[16] /*listnode8*/, variable[17] /*listnode9*/, variable[18] /*listnode12*/); /*new AClassdef*/
7615 variable[27] = variable[28];
7616 variable[3] = variable[27] /*pclassdefnode1*/ /*node_list=*/;
7617 variable[28] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
7618 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[28], variable[3] /*node_list*/) /*Parser::push*/;
7619 return_label172: while(false);
7620 tracehead = trace.prev;
7621 return;
7622 }
7623 void parser___ReduceAction70___init(val_t self, int* init_table) {
7624 struct trace_t trace = {NULL, NULL, 4162, LOCATE_parser___ReduceAction70___init};
7625 val_t variable[2];
7626 void **closurevariable = NULL;
7627 trace.prev = tracehead; tracehead = &trace;
7628 trace.file = LOCATE_parser;
7629 variable[0] = self;
7630 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction70].i]) return;
7631 return_label173: while(false);
7632 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction70].i] = 1;
7633 tracehead = trace.prev;
7634 return;
7635 }
7636 void parser___ReduceAction71___action(val_t self, val_t param0) {
7637 struct trace_t trace = {NULL, NULL, 4166, LOCATE_parser___ReduceAction71___action};
7638 val_t variable[25];
7639 void **closurevariable = NULL;
7640 trace.prev = tracehead; tracehead = &trace;
7641 trace.file = LOCATE_parser;
7642 variable[0] = self;
7643 variable[1] = param0;
7644 variable[3] = NIT_NULL /*null*/;
7645 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7646 variable[4] = variable[5];
7647 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7648 variable[5] = variable[6];
7649 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7650 variable[6] = variable[7];
7651 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7652 variable[7] = variable[8];
7653 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7654 variable[8] = variable[9];
7655 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7656 variable[9] = variable[10];
7657 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7658 variable[10] = variable[11];
7659 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7660 variable[11] = variable[12];
7661 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7662 variable[12] = variable[13];
7663 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7664 variable[13] = variable[14];
7665 variable[15] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7666 variable[14] = variable[15];
7667 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7668 variable[15] = variable[16];
7669 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7670 variable[16] = variable[17];
7671 variable[17] = variable[13] /*nodearraylist1*/;
7672 variable[18] = TAG_Bool(( variable[17] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[17] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
7673 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction71___action, LOCATE_parser, 4183); nit_exit(1);}
7674 variable[18] = variable[12] /*nodearraylist2*/;
7675 variable[19] = TAG_Bool(( variable[18] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[18] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
7676 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction71___action, LOCATE_parser, 4185); nit_exit(1);}
7677 variable[19] = variable[11] /*nodearraylist3*/;
7678 variable[20] = TAG_Bool(( variable[19] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[19] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
7679 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction71___action, LOCATE_parser, 4187); nit_exit(1);}
7680 variable[20] = variable[9] /*nodearraylist5*/;
7681 variable[21] = TAG_Bool(( variable[20] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[20] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
7682 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction71___action, LOCATE_parser, 4189); nit_exit(1);}
7683 variable[21] = variable[8] /*nodearraylist6*/;
7684 variable[22] = TAG_Bool(( variable[21] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[21] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7685 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction71___action, LOCATE_parser, 4191); nit_exit(1);}
7686 variable[22] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[21] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[21] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[21] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[21] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7687 if (UNTAG_Bool(variable[22])) { /*if*/
7688 variable[22] = ((array___AbstractArray___is_empty_t)CALL( variable[15] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[15] /*listnode9*/) /*AbstractArray::is_empty*/;
7689 if (UNTAG_Bool(variable[22])) { /*if*/
7690 variable[15] = variable[21] /*listnode8*/ /*listnode9=*/;
7691 } else { /*if*/
7692 ((abstract_collection___IndexedCollection___append_t)CALL( variable[15] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[15] /*listnode9*/, variable[21] /*listnode8*/) /*IndexedCollection::append*/;
7693 }
7694 }
7695 variable[22] = variable[7] /*nodearraylist7*/;
7696 variable[23] = TAG_Bool(( variable[22] /*ppropdefnode10*/==NIT_NULL) || VAL_ISA( variable[22] /*ppropdefnode10*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
7697 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction71___action, LOCATE_parser, 4200); nit_exit(1);}
7698 variable[23] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[22] /*ppropdefnode10*/ == NIT_NULL /*null*/) || (( variable[22] /*ppropdefnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[22] /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[22] /*ppropdefnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[22] /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))( variable[22] /*ppropdefnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7699 if (UNTAG_Bool(variable[23])) { /*if*/
7700 ((array___AbstractArray___add_t)CALL( variable[16] /*listnode11*/,COLOR_abstract_collection___SimpleCollection___add))( variable[16] /*listnode11*/, variable[22] /*ppropdefnode10*/) /*AbstractArray::add*/;
7701 }
7702 variable[24] = NEW_AClassdef_parser_prod___AClassdef___init_aclassdef( variable[17] /*pdocnode2*/, NIT_NULL /*null*/, variable[18] /*pvisibilitynode4*/, variable[19] /*pclasskindnode5*/, variable[20] /*tclassidnode6*/, variable[14] /*listnode7*/, variable[15] /*listnode9*/, variable[16] /*listnode11*/); /*new AClassdef*/
7703 variable[23] = variable[24];
7704 variable[3] = variable[23] /*pclassdefnode1*/ /*node_list=*/;
7705 variable[24] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
7706 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
7707 return_label174: while(false);
7708 tracehead = trace.prev;
7709 return;
7710 }
7711 void parser___ReduceAction71___init(val_t self, int* init_table) {
7712 struct trace_t trace = {NULL, NULL, 4217, LOCATE_parser___ReduceAction71___init};
7713 val_t variable[2];
7714 void **closurevariable = NULL;
7715 trace.prev = tracehead; tracehead = &trace;
7716 trace.file = LOCATE_parser;
7717 variable[0] = self;
7718 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction71].i]) return;
7719 return_label175: while(false);
7720 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction71].i] = 1;
7721 tracehead = trace.prev;
7722 return;
7723 }
7724 void parser___ReduceAction72___action(val_t self, val_t param0) {
7725 struct trace_t trace = {NULL, NULL, 4221, LOCATE_parser___ReduceAction72___action};
7726 val_t variable[27];
7727 void **closurevariable = NULL;
7728 trace.prev = tracehead; tracehead = &trace;
7729 trace.file = LOCATE_parser;
7730 variable[0] = self;
7731 variable[1] = param0;
7732 variable[3] = NIT_NULL /*null*/;
7733 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7734 variable[4] = variable[5];
7735 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7736 variable[5] = variable[6];
7737 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7738 variable[6] = variable[7];
7739 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7740 variable[7] = variable[8];
7741 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7742 variable[8] = variable[9];
7743 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7744 variable[9] = variable[10];
7745 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7746 variable[10] = variable[11];
7747 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7748 variable[11] = variable[12];
7749 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7750 variable[12] = variable[13];
7751 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7752 variable[13] = variable[14];
7753 variable[15] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7754 variable[14] = variable[15];
7755 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7756 variable[15] = variable[16];
7757 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7758 variable[16] = variable[17];
7759 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7760 variable[17] = variable[18];
7761 variable[18] = variable[14] /*nodearraylist1*/;
7762 variable[19] = TAG_Bool(( variable[18] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[18] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
7763 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction72___action, LOCATE_parser, 4239); nit_exit(1);}
7764 variable[19] = variable[13] /*nodearraylist2*/;
7765 variable[20] = TAG_Bool(( variable[19] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[19] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
7766 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction72___action, LOCATE_parser, 4241); nit_exit(1);}
7767 variable[20] = variable[12] /*nodearraylist3*/;
7768 variable[21] = TAG_Bool(( variable[20] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[20] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
7769 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction72___action, LOCATE_parser, 4243); nit_exit(1);}
7770 variable[21] = variable[10] /*nodearraylist5*/;
7771 variable[22] = TAG_Bool(( variable[21] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[21] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
7772 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction72___action, LOCATE_parser, 4245); nit_exit(1);}
7773 variable[22] = variable[9] /*nodearraylist6*/;
7774 variable[23] = TAG_Bool(( variable[22] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[22] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7775 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction72___action, LOCATE_parser, 4247); nit_exit(1);}
7776 variable[23] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[22] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[22] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[22] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[22] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[22] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[22] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7777 if (UNTAG_Bool(variable[23])) { /*if*/
7778 variable[23] = ((array___AbstractArray___is_empty_t)CALL( variable[16] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[16] /*listnode9*/) /*AbstractArray::is_empty*/;
7779 if (UNTAG_Bool(variable[23])) { /*if*/
7780 variable[16] = variable[22] /*listnode8*/ /*listnode9=*/;
7781 } else { /*if*/
7782 ((abstract_collection___IndexedCollection___append_t)CALL( variable[16] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[16] /*listnode9*/, variable[22] /*listnode8*/) /*IndexedCollection::append*/;
7783 }
7784 }
7785 variable[23] = variable[8] /*nodearraylist7*/;
7786 variable[24] = TAG_Bool(( variable[23] /*ppropdefnode10*/==NIT_NULL) || VAL_ISA( variable[23] /*ppropdefnode10*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
7787 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction72___action, LOCATE_parser, 4256); nit_exit(1);}
7788 variable[24] = variable[6] /*nodearraylist9*/;
7789 variable[25] = TAG_Bool(( variable[24] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[24] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7790 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction72___action, LOCATE_parser, 4258); nit_exit(1);}
7791 variable[25] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[23] /*ppropdefnode10*/ == NIT_NULL /*null*/) || (( variable[23] /*ppropdefnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[23] /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[23] /*ppropdefnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[23] /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))( variable[23] /*ppropdefnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7792 if (UNTAG_Bool(variable[25])) { /*if*/
7793 ((array___AbstractArray___add_t)CALL( variable[17] /*listnode12*/,COLOR_abstract_collection___SimpleCollection___add))( variable[17] /*listnode12*/, variable[23] /*ppropdefnode10*/) /*AbstractArray::add*/;
7794 }
7795 variable[25] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[24] /*listnode11*/ == NIT_NULL /*null*/) || (( variable[24] /*listnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[24] /*listnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[24] /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[24] /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable[24] /*listnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7796 if (UNTAG_Bool(variable[25])) { /*if*/
7797 variable[25] = ((array___AbstractArray___is_empty_t)CALL( variable[17] /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable[17] /*listnode12*/) /*AbstractArray::is_empty*/;
7798 if (UNTAG_Bool(variable[25])) { /*if*/
7799 variable[17] = variable[24] /*listnode11*/ /*listnode12=*/;
7800 } else { /*if*/
7801 ((abstract_collection___IndexedCollection___append_t)CALL( variable[17] /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable[17] /*listnode12*/, variable[24] /*listnode11*/) /*IndexedCollection::append*/;
7802 }
7803 }
7804 variable[26] = NEW_AClassdef_parser_prod___AClassdef___init_aclassdef( variable[18] /*pdocnode2*/, NIT_NULL /*null*/, variable[19] /*pvisibilitynode4*/, variable[20] /*pclasskindnode5*/, variable[21] /*tclassidnode6*/, variable[15] /*listnode7*/, variable[16] /*listnode9*/, variable[17] /*listnode12*/); /*new AClassdef*/
7805 variable[25] = variable[26];
7806 variable[3] = variable[25] /*pclassdefnode1*/ /*node_list=*/;
7807 variable[26] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
7808 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[26], variable[3] /*node_list*/) /*Parser::push*/;
7809 return_label176: while(false);
7810 tracehead = trace.prev;
7811 return;
7812 }
7813 void parser___ReduceAction72___init(val_t self, int* init_table) {
7814 struct trace_t trace = {NULL, NULL, 4282, LOCATE_parser___ReduceAction72___init};
7815 val_t variable[2];
7816 void **closurevariable = NULL;
7817 trace.prev = tracehead; tracehead = &trace;
7818 trace.file = LOCATE_parser;
7819 variable[0] = self;
7820 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction72].i]) return;
7821 return_label177: while(false);
7822 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction72].i] = 1;
7823 tracehead = trace.prev;
7824 return;
7825 }
7826 void parser___ReduceAction73___action(val_t self, val_t param0) {
7827 struct trace_t trace = {NULL, NULL, 4286, LOCATE_parser___ReduceAction73___action};
7828 val_t variable[27];
7829 void **closurevariable = NULL;
7830 trace.prev = tracehead; tracehead = &trace;
7831 trace.file = LOCATE_parser;
7832 variable[0] = self;
7833 variable[1] = param0;
7834 variable[3] = NIT_NULL /*null*/;
7835 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7836 variable[4] = variable[5];
7837 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7838 variable[5] = variable[6];
7839 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7840 variable[6] = variable[7];
7841 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7842 variable[7] = variable[8];
7843 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7844 variable[8] = variable[9];
7845 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7846 variable[9] = variable[10];
7847 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7848 variable[10] = variable[11];
7849 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7850 variable[11] = variable[12];
7851 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7852 variable[12] = variable[13];
7853 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7854 variable[13] = variable[14];
7855 variable[15] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7856 variable[14] = variable[15];
7857 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7858 variable[15] = variable[16];
7859 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7860 variable[16] = variable[17];
7861 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7862 variable[17] = variable[18];
7863 variable[18] = variable[14] /*nodearraylist1*/;
7864 variable[19] = TAG_Bool(( variable[18] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[18] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
7865 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction73___action, LOCATE_parser, 4304); nit_exit(1);}
7866 variable[19] = variable[13] /*nodearraylist2*/;
7867 variable[20] = TAG_Bool(( variable[19] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
7868 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction73___action, LOCATE_parser, 4306); nit_exit(1);}
7869 variable[20] = variable[12] /*nodearraylist3*/;
7870 variable[21] = TAG_Bool(( variable[20] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[20] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
7871 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction73___action, LOCATE_parser, 4308); nit_exit(1);}
7872 variable[21] = variable[11] /*nodearraylist4*/;
7873 variable[22] = TAG_Bool(( variable[21] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[21] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
7874 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction73___action, LOCATE_parser, 4310); nit_exit(1);}
7875 variable[22] = variable[9] /*nodearraylist6*/;
7876 variable[23] = TAG_Bool(( variable[22] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[22] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
7877 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction73___action, LOCATE_parser, 4312); nit_exit(1);}
7878 variable[23] = variable[8] /*nodearraylist7*/;
7879 variable[24] = TAG_Bool(( variable[23] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[23] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7880 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction73___action, LOCATE_parser, 4314); nit_exit(1);}
7881 variable[24] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[23] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[23] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[23] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[23] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[23] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[23] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7882 if (UNTAG_Bool(variable[24])) { /*if*/
7883 variable[24] = ((array___AbstractArray___is_empty_t)CALL( variable[16] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[16] /*listnode9*/) /*AbstractArray::is_empty*/;
7884 if (UNTAG_Bool(variable[24])) { /*if*/
7885 variable[16] = variable[23] /*listnode8*/ /*listnode9=*/;
7886 } else { /*if*/
7887 ((abstract_collection___IndexedCollection___append_t)CALL( variable[16] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[16] /*listnode9*/, variable[23] /*listnode8*/) /*IndexedCollection::append*/;
7888 }
7889 }
7890 variable[24] = variable[7] /*nodearraylist8*/;
7891 variable[25] = TAG_Bool(( variable[24] /*ppropdefnode10*/==NIT_NULL) || VAL_ISA( variable[24] /*ppropdefnode10*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
7892 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction73___action, LOCATE_parser, 4323); nit_exit(1);}
7893 variable[25] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[24] /*ppropdefnode10*/ == NIT_NULL /*null*/) || (( variable[24] /*ppropdefnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[24] /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[24] /*ppropdefnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[24] /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))( variable[24] /*ppropdefnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7894 if (UNTAG_Bool(variable[25])) { /*if*/
7895 ((array___AbstractArray___add_t)CALL( variable[17] /*listnode11*/,COLOR_abstract_collection___SimpleCollection___add))( variable[17] /*listnode11*/, variable[24] /*ppropdefnode10*/) /*AbstractArray::add*/;
7896 }
7897 variable[26] = NEW_AClassdef_parser_prod___AClassdef___init_aclassdef( variable[18] /*pdocnode2*/, variable[19] /*tkwredefnode3*/, variable[20] /*pvisibilitynode4*/, variable[21] /*pclasskindnode5*/, variable[22] /*tclassidnode6*/, variable[15] /*listnode7*/, variable[16] /*listnode9*/, variable[17] /*listnode11*/); /*new AClassdef*/
7898 variable[25] = variable[26];
7899 variable[3] = variable[25] /*pclassdefnode1*/ /*node_list=*/;
7900 variable[26] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
7901 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[26], variable[3] /*node_list*/) /*Parser::push*/;
7902 return_label178: while(false);
7903 tracehead = trace.prev;
7904 return;
7905 }
7906 void parser___ReduceAction73___init(val_t self, int* init_table) {
7907 struct trace_t trace = {NULL, NULL, 4340, LOCATE_parser___ReduceAction73___init};
7908 val_t variable[2];
7909 void **closurevariable = NULL;
7910 trace.prev = tracehead; tracehead = &trace;
7911 trace.file = LOCATE_parser;
7912 variable[0] = self;
7913 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction73].i]) return;
7914 return_label179: while(false);
7915 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction73].i] = 1;
7916 tracehead = trace.prev;
7917 return;
7918 }
7919 void parser___ReduceAction74___action(val_t self, val_t param0) {
7920 struct trace_t trace = {NULL, NULL, 4344, LOCATE_parser___ReduceAction74___action};
7921 val_t variable[29];
7922 void **closurevariable = NULL;
7923 trace.prev = tracehead; tracehead = &trace;
7924 trace.file = LOCATE_parser;
7925 variable[0] = self;
7926 variable[1] = param0;
7927 variable[3] = NIT_NULL /*null*/;
7928 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7929 variable[4] = variable[5];
7930 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7931 variable[5] = variable[6];
7932 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7933 variable[6] = variable[7];
7934 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7935 variable[7] = variable[8];
7936 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7937 variable[8] = variable[9];
7938 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7939 variable[9] = variable[10];
7940 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7941 variable[10] = variable[11];
7942 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7943 variable[11] = variable[12];
7944 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7945 variable[12] = variable[13];
7946 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7947 variable[13] = variable[14];
7948 variable[15] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7949 variable[14] = variable[15];
7950 variable[16] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
7951 variable[15] = variable[16];
7952 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7953 variable[16] = variable[17];
7954 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7955 variable[17] = variable[18];
7956 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
7957 variable[18] = variable[19];
7958 variable[19] = variable[15] /*nodearraylist1*/;
7959 variable[20] = TAG_Bool(( variable[19] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[19] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
7960 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction74___action, LOCATE_parser, 4363); nit_exit(1);}
7961 variable[20] = variable[14] /*nodearraylist2*/;
7962 variable[21] = TAG_Bool(( variable[20] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[20] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
7963 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction74___action, LOCATE_parser, 4365); nit_exit(1);}
7964 variable[21] = variable[13] /*nodearraylist3*/;
7965 variable[22] = TAG_Bool(( variable[21] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[21] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
7966 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction74___action, LOCATE_parser, 4367); nit_exit(1);}
7967 variable[22] = variable[12] /*nodearraylist4*/;
7968 variable[23] = TAG_Bool(( variable[22] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[22] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
7969 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction74___action, LOCATE_parser, 4369); nit_exit(1);}
7970 variable[23] = variable[10] /*nodearraylist6*/;
7971 variable[24] = TAG_Bool(( variable[23] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[23] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
7972 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction74___action, LOCATE_parser, 4371); nit_exit(1);}
7973 variable[24] = variable[9] /*nodearraylist7*/;
7974 variable[25] = TAG_Bool(( variable[24] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[24] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7975 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction74___action, LOCATE_parser, 4373); nit_exit(1);}
7976 variable[25] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[24] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[24] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[24] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[24] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[24] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[24] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7977 if (UNTAG_Bool(variable[25])) { /*if*/
7978 variable[25] = ((array___AbstractArray___is_empty_t)CALL( variable[17] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[17] /*listnode9*/) /*AbstractArray::is_empty*/;
7979 if (UNTAG_Bool(variable[25])) { /*if*/
7980 variable[17] = variable[24] /*listnode8*/ /*listnode9=*/;
7981 } else { /*if*/
7982 ((abstract_collection___IndexedCollection___append_t)CALL( variable[17] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[17] /*listnode9*/, variable[24] /*listnode8*/) /*IndexedCollection::append*/;
7983 }
7984 }
7985 variable[25] = variable[8] /*nodearraylist8*/;
7986 variable[26] = TAG_Bool(( variable[25] /*ppropdefnode10*/==NIT_NULL) || VAL_ISA( variable[25] /*ppropdefnode10*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
7987 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction74___action, LOCATE_parser, 4382); nit_exit(1);}
7988 variable[26] = variable[6] /*nodearraylist10*/;
7989 variable[27] = TAG_Bool(( variable[26] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[26] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7990 if (!UNTAG_Bool(variable[27])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction74___action, LOCATE_parser, 4384); nit_exit(1);}
7991 variable[27] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[25] /*ppropdefnode10*/ == NIT_NULL /*null*/) || (( variable[25] /*ppropdefnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[25] /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[25] /*ppropdefnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[25] /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))( variable[25] /*ppropdefnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7992 if (UNTAG_Bool(variable[27])) { /*if*/
7993 ((array___AbstractArray___add_t)CALL( variable[18] /*listnode12*/,COLOR_abstract_collection___SimpleCollection___add))( variable[18] /*listnode12*/, variable[25] /*ppropdefnode10*/) /*AbstractArray::add*/;
7994 }
7995 variable[27] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[26] /*listnode11*/ == NIT_NULL /*null*/) || (( variable[26] /*listnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[26] /*listnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[26] /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[26] /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable[26] /*listnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7996 if (UNTAG_Bool(variable[27])) { /*if*/
7997 variable[27] = ((array___AbstractArray___is_empty_t)CALL( variable[18] /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable[18] /*listnode12*/) /*AbstractArray::is_empty*/;
7998 if (UNTAG_Bool(variable[27])) { /*if*/
7999 variable[18] = variable[26] /*listnode11*/ /*listnode12=*/;
8000 } else { /*if*/
8001 ((abstract_collection___IndexedCollection___append_t)CALL( variable[18] /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable[18] /*listnode12*/, variable[26] /*listnode11*/) /*IndexedCollection::append*/;
8002 }
8003 }
8004 variable[28] = NEW_AClassdef_parser_prod___AClassdef___init_aclassdef( variable[19] /*pdocnode2*/, variable[20] /*tkwredefnode3*/, variable[21] /*pvisibilitynode4*/, variable[22] /*pclasskindnode5*/, variable[23] /*tclassidnode6*/, variable[16] /*listnode7*/, variable[17] /*listnode9*/, variable[18] /*listnode12*/); /*new AClassdef*/
8005 variable[27] = variable[28];
8006 variable[3] = variable[27] /*pclassdefnode1*/ /*node_list=*/;
8007 variable[28] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
8008 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[28], variable[3] /*node_list*/) /*Parser::push*/;
8009 return_label180: while(false);
8010 tracehead = trace.prev;
8011 return;
8012 }
8013 void parser___ReduceAction74___init(val_t self, int* init_table) {
8014 struct trace_t trace = {NULL, NULL, 4408, LOCATE_parser___ReduceAction74___init};
8015 val_t variable[2];
8016 void **closurevariable = NULL;
8017 trace.prev = tracehead; tracehead = &trace;
8018 trace.file = LOCATE_parser;
8019 variable[0] = self;
8020 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction74].i]) return;
8021 return_label181: while(false);
8022 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction74].i] = 1;
8023 tracehead = trace.prev;
8024 return;
8025 }
8026 void parser___ReduceAction75___action(val_t self, val_t param0) {
8027 struct trace_t trace = {NULL, NULL, 4412, LOCATE_parser___ReduceAction75___action};
8028 val_t variable[27];
8029 void **closurevariable = NULL;
8030 trace.prev = tracehead; tracehead = &trace;
8031 trace.file = LOCATE_parser;
8032 variable[0] = self;
8033 variable[1] = param0;
8034 variable[3] = NIT_NULL /*null*/;
8035 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8036 variable[4] = variable[5];
8037 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8038 variable[5] = variable[6];
8039 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8040 variable[6] = variable[7];
8041 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8042 variable[7] = variable[8];
8043 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8044 variable[8] = variable[9];
8045 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8046 variable[9] = variable[10];
8047 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8048 variable[10] = variable[11];
8049 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8050 variable[11] = variable[12];
8051 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8052 variable[12] = variable[13];
8053 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8054 variable[13] = variable[14];
8055 variable[15] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8056 variable[14] = variable[15];
8057 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
8058 variable[15] = variable[16];
8059 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
8060 variable[16] = variable[17];
8061 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
8062 variable[17] = variable[18];
8063 variable[18] = variable[14] /*nodearraylist1*/;
8064 variable[19] = TAG_Bool(( variable[18] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[18] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
8065 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction75___action, LOCATE_parser, 4430); nit_exit(1);}
8066 variable[19] = variable[13] /*nodearraylist2*/;
8067 variable[20] = TAG_Bool(( variable[19] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[19] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
8068 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction75___action, LOCATE_parser, 4432); nit_exit(1);}
8069 variable[20] = variable[12] /*nodearraylist3*/;
8070 variable[21] = TAG_Bool(( variable[20] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[20] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
8071 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction75___action, LOCATE_parser, 4434); nit_exit(1);}
8072 variable[21] = variable[10] /*nodearraylist5*/;
8073 variable[22] = TAG_Bool(( variable[21] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[21] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
8074 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction75___action, LOCATE_parser, 4436); nit_exit(1);}
8075 variable[22] = variable[9] /*nodearraylist6*/;
8076 variable[23] = TAG_Bool(( variable[22] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[22] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
8077 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction75___action, LOCATE_parser, 4438); nit_exit(1);}
8078 variable[23] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[22] /*listnode7*/ == NIT_NULL /*null*/) || (( variable[22] /*listnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[22] /*listnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[22] /*listnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[22] /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable[22] /*listnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8079 if (UNTAG_Bool(variable[23])) { /*if*/
8080 variable[23] = ((array___AbstractArray___is_empty_t)CALL( variable[15] /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable[15] /*listnode8*/) /*AbstractArray::is_empty*/;
8081 if (UNTAG_Bool(variable[23])) { /*if*/
8082 variable[15] = variable[22] /*listnode7*/ /*listnode8=*/;
8083 } else { /*if*/
8084 ((abstract_collection___IndexedCollection___append_t)CALL( variable[15] /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable[15] /*listnode8*/, variable[22] /*listnode7*/) /*IndexedCollection::append*/;
8085 }
8086 }
8087 variable[23] = variable[8] /*nodearraylist7*/;
8088 variable[24] = TAG_Bool(( variable[23] /*listnode9*/==NIT_NULL) || VAL_ISA( variable[23] /*listnode9*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
8089 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction75___action, LOCATE_parser, 4447); nit_exit(1);}
8090 variable[24] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[23] /*listnode9*/ == NIT_NULL /*null*/) || (( variable[23] /*listnode9*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[23] /*listnode9*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[23] /*listnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[23] /*listnode9*/,COLOR_kernel___Object_____eqeq))( variable[23] /*listnode9*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8091 if (UNTAG_Bool(variable[24])) { /*if*/
8092 variable[24] = ((array___AbstractArray___is_empty_t)CALL( variable[16] /*listnode10*/,COLOR_abstract_collection___Collection___is_empty))( variable[16] /*listnode10*/) /*AbstractArray::is_empty*/;
8093 if (UNTAG_Bool(variable[24])) { /*if*/
8094 variable[16] = variable[23] /*listnode9*/ /*listnode10=*/;
8095 } else { /*if*/
8096 ((abstract_collection___IndexedCollection___append_t)CALL( variable[16] /*listnode10*/,COLOR_abstract_collection___IndexedCollection___append))( variable[16] /*listnode10*/, variable[23] /*listnode9*/) /*IndexedCollection::append*/;
8097 }
8098 }
8099 variable[24] = variable[7] /*nodearraylist8*/;
8100 variable[25] = TAG_Bool(( variable[24] /*ppropdefnode11*/==NIT_NULL) || VAL_ISA( variable[24] /*ppropdefnode11*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
8101 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction75___action, LOCATE_parser, 4456); nit_exit(1);}
8102 variable[25] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[24] /*ppropdefnode11*/ == NIT_NULL /*null*/) || (( variable[24] /*ppropdefnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[24] /*ppropdefnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[24] /*ppropdefnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[24] /*ppropdefnode11*/,COLOR_kernel___Object_____eqeq))( variable[24] /*ppropdefnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8103 if (UNTAG_Bool(variable[25])) { /*if*/
8104 ((array___AbstractArray___add_t)CALL( variable[17] /*listnode12*/,COLOR_abstract_collection___SimpleCollection___add))( variable[17] /*listnode12*/, variable[24] /*ppropdefnode11*/) /*AbstractArray::add*/;
8105 }
8106 variable[26] = NEW_AClassdef_parser_prod___AClassdef___init_aclassdef( variable[18] /*pdocnode2*/, NIT_NULL /*null*/, variable[19] /*pvisibilitynode4*/, variable[20] /*pclasskindnode5*/, variable[21] /*tclassidnode6*/, variable[15] /*listnode8*/, variable[16] /*listnode10*/, variable[17] /*listnode12*/); /*new AClassdef*/
8107 variable[25] = variable[26];
8108 variable[3] = variable[25] /*pclassdefnode1*/ /*node_list=*/;
8109 variable[26] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
8110 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[26], variable[3] /*node_list*/) /*Parser::push*/;
8111 return_label182: while(false);
8112 tracehead = trace.prev;
8113 return;
8114 }
8115 void parser___ReduceAction75___init(val_t self, int* init_table) {
8116 struct trace_t trace = {NULL, NULL, 4473, LOCATE_parser___ReduceAction75___init};
8117 val_t variable[2];
8118 void **closurevariable = NULL;
8119 trace.prev = tracehead; tracehead = &trace;
8120 trace.file = LOCATE_parser;
8121 variable[0] = self;
8122 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction75].i]) return;
8123 return_label183: while(false);
8124 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction75].i] = 1;
8125 tracehead = trace.prev;
8126 return;
8127 }
8128 void parser___ReduceAction76___action(val_t self, val_t param0) {
8129 struct trace_t trace = {NULL, NULL, 4477, LOCATE_parser___ReduceAction76___action};
8130 val_t variable[29];
8131 void **closurevariable = NULL;
8132 trace.prev = tracehead; tracehead = &trace;
8133 trace.file = LOCATE_parser;
8134 variable[0] = self;
8135 variable[1] = param0;
8136 variable[3] = NIT_NULL /*null*/;
8137 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8138 variable[4] = variable[5];
8139 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8140 variable[5] = variable[6];
8141 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8142 variable[6] = variable[7];
8143 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8144 variable[7] = variable[8];
8145 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8146 variable[8] = variable[9];
8147 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8148 variable[9] = variable[10];
8149 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8150 variable[10] = variable[11];
8151 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8152 variable[11] = variable[12];
8153 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8154 variable[12] = variable[13];
8155 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8156 variable[13] = variable[14];
8157 variable[15] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8158 variable[14] = variable[15];
8159 variable[16] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8160 variable[15] = variable[16];
8161 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
8162 variable[16] = variable[17];
8163 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
8164 variable[17] = variable[18];
8165 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
8166 variable[18] = variable[19];
8167 variable[19] = variable[15] /*nodearraylist1*/;
8168 variable[20] = TAG_Bool(( variable[19] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[19] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
8169 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction76___action, LOCATE_parser, 4496); nit_exit(1);}
8170 variable[20] = variable[14] /*nodearraylist2*/;
8171 variable[21] = TAG_Bool(( variable[20] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[20] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
8172 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction76___action, LOCATE_parser, 4498); nit_exit(1);}
8173 variable[21] = variable[13] /*nodearraylist3*/;
8174 variable[22] = TAG_Bool(( variable[21] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[21] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
8175 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction76___action, LOCATE_parser, 4500); nit_exit(1);}
8176 variable[22] = variable[11] /*nodearraylist5*/;
8177 variable[23] = TAG_Bool(( variable[22] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[22] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
8178 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction76___action, LOCATE_parser, 4502); nit_exit(1);}
8179 variable[23] = variable[10] /*nodearraylist6*/;
8180 variable[24] = TAG_Bool(( variable[23] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[23] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
8181 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction76___action, LOCATE_parser, 4504); nit_exit(1);}
8182 variable[24] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[23] /*listnode7*/ == NIT_NULL /*null*/) || (( variable[23] /*listnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[23] /*listnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[23] /*listnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[23] /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable[23] /*listnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8183 if (UNTAG_Bool(variable[24])) { /*if*/
8184 variable[24] = ((array___AbstractArray___is_empty_t)CALL( variable[16] /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable[16] /*listnode8*/) /*AbstractArray::is_empty*/;
8185 if (UNTAG_Bool(variable[24])) { /*if*/
8186 variable[16] = variable[23] /*listnode7*/ /*listnode8=*/;
8187 } else { /*if*/
8188 ((abstract_collection___IndexedCollection___append_t)CALL( variable[16] /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable[16] /*listnode8*/, variable[23] /*listnode7*/) /*IndexedCollection::append*/;
8189 }
8190 }
8191 variable[24] = variable[9] /*nodearraylist7*/;
8192 variable[25] = TAG_Bool(( variable[24] /*listnode9*/==NIT_NULL) || VAL_ISA( variable[24] /*listnode9*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
8193 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction76___action, LOCATE_parser, 4513); nit_exit(1);}
8194 variable[25] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[24] /*listnode9*/ == NIT_NULL /*null*/) || (( variable[24] /*listnode9*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[24] /*listnode9*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[24] /*listnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[24] /*listnode9*/,COLOR_kernel___Object_____eqeq))( variable[24] /*listnode9*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8195 if (UNTAG_Bool(variable[25])) { /*if*/
8196 variable[25] = ((array___AbstractArray___is_empty_t)CALL( variable[17] /*listnode10*/,COLOR_abstract_collection___Collection___is_empty))( variable[17] /*listnode10*/) /*AbstractArray::is_empty*/;
8197 if (UNTAG_Bool(variable[25])) { /*if*/
8198 variable[17] = variable[24] /*listnode9*/ /*listnode10=*/;
8199 } else { /*if*/
8200 ((abstract_collection___IndexedCollection___append_t)CALL( variable[17] /*listnode10*/,COLOR_abstract_collection___IndexedCollection___append))( variable[17] /*listnode10*/, variable[24] /*listnode9*/) /*IndexedCollection::append*/;
8201 }
8202 }
8203 variable[25] = variable[8] /*nodearraylist8*/;
8204 variable[26] = TAG_Bool(( variable[25] /*ppropdefnode11*/==NIT_NULL) || VAL_ISA( variable[25] /*ppropdefnode11*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
8205 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction76___action, LOCATE_parser, 4522); nit_exit(1);}
8206 variable[26] = variable[6] /*nodearraylist10*/;
8207 variable[27] = TAG_Bool(( variable[26] /*listnode12*/==NIT_NULL) || VAL_ISA( variable[26] /*listnode12*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
8208 if (!UNTAG_Bool(variable[27])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction76___action, LOCATE_parser, 4524); nit_exit(1);}
8209 variable[27] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[25] /*ppropdefnode11*/ == NIT_NULL /*null*/) || (( variable[25] /*ppropdefnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[25] /*ppropdefnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[25] /*ppropdefnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[25] /*ppropdefnode11*/,COLOR_kernel___Object_____eqeq))( variable[25] /*ppropdefnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8210 if (UNTAG_Bool(variable[27])) { /*if*/
8211 ((array___AbstractArray___add_t)CALL( variable[18] /*listnode13*/,COLOR_abstract_collection___SimpleCollection___add))( variable[18] /*listnode13*/, variable[25] /*ppropdefnode11*/) /*AbstractArray::add*/;
8212 }
8213 variable[27] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[26] /*listnode12*/ == NIT_NULL /*null*/) || (( variable[26] /*listnode12*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[26] /*listnode12*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[26] /*listnode12*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[26] /*listnode12*/,COLOR_kernel___Object_____eqeq))( variable[26] /*listnode12*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8214 if (UNTAG_Bool(variable[27])) { /*if*/
8215 variable[27] = ((array___AbstractArray___is_empty_t)CALL( variable[18] /*listnode13*/,COLOR_abstract_collection___Collection___is_empty))( variable[18] /*listnode13*/) /*AbstractArray::is_empty*/;
8216 if (UNTAG_Bool(variable[27])) { /*if*/
8217 variable[18] = variable[26] /*listnode12*/ /*listnode13=*/;
8218 } else { /*if*/
8219 ((abstract_collection___IndexedCollection___append_t)CALL( variable[18] /*listnode13*/,COLOR_abstract_collection___IndexedCollection___append))( variable[18] /*listnode13*/, variable[26] /*listnode12*/) /*IndexedCollection::append*/;
8220 }
8221 }
8222 variable[28] = NEW_AClassdef_parser_prod___AClassdef___init_aclassdef( variable[19] /*pdocnode2*/, NIT_NULL /*null*/, variable[20] /*pvisibilitynode4*/, variable[21] /*pclasskindnode5*/, variable[22] /*tclassidnode6*/, variable[16] /*listnode8*/, variable[17] /*listnode10*/, variable[18] /*listnode13*/); /*new AClassdef*/
8223 variable[27] = variable[28];
8224 variable[3] = variable[27] /*pclassdefnode1*/ /*node_list=*/;
8225 variable[28] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
8226 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[28], variable[3] /*node_list*/) /*Parser::push*/;
8227 return_label184: while(false);
8228 tracehead = trace.prev;
8229 return;
8230 }
8231 void parser___ReduceAction76___init(val_t self, int* init_table) {
8232 struct trace_t trace = {NULL, NULL, 4548, LOCATE_parser___ReduceAction76___init};
8233 val_t variable[2];
8234 void **closurevariable = NULL;
8235 trace.prev = tracehead; tracehead = &trace;
8236 trace.file = LOCATE_parser;
8237 variable[0] = self;
8238 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction76].i]) return;
8239 return_label185: while(false);
8240 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction76].i] = 1;
8241 tracehead = trace.prev;
8242 return;
8243 }
8244 void parser___ReduceAction77___action(val_t self, val_t param0) {
8245 struct trace_t trace = {NULL, NULL, 4552, LOCATE_parser___ReduceAction77___action};
8246 val_t variable[29];
8247 void **closurevariable = NULL;
8248 trace.prev = tracehead; tracehead = &trace;
8249 trace.file = LOCATE_parser;
8250 variable[0] = self;
8251 variable[1] = param0;
8252 variable[3] = NIT_NULL /*null*/;
8253 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8254 variable[4] = variable[5];
8255 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8256 variable[5] = variable[6];
8257 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8258 variable[6] = variable[7];
8259 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8260 variable[7] = variable[8];
8261 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8262 variable[8] = variable[9];
8263 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8264 variable[9] = variable[10];
8265 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8266 variable[10] = variable[11];
8267 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8268 variable[11] = variable[12];
8269 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8270 variable[12] = variable[13];
8271 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8272 variable[13] = variable[14];
8273 variable[15] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8274 variable[14] = variable[15];
8275 variable[16] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8276 variable[15] = variable[16];
8277 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
8278 variable[16] = variable[17];
8279 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
8280 variable[17] = variable[18];
8281 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
8282 variable[18] = variable[19];
8283 variable[19] = variable[15] /*nodearraylist1*/;
8284 variable[20] = TAG_Bool(( variable[19] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[19] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
8285 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction77___action, LOCATE_parser, 4571); nit_exit(1);}
8286 variable[20] = variable[14] /*nodearraylist2*/;
8287 variable[21] = TAG_Bool(( variable[20] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[20] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
8288 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction77___action, LOCATE_parser, 4573); nit_exit(1);}
8289 variable[21] = variable[13] /*nodearraylist3*/;
8290 variable[22] = TAG_Bool(( variable[21] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[21] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
8291 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction77___action, LOCATE_parser, 4575); nit_exit(1);}
8292 variable[22] = variable[12] /*nodearraylist4*/;
8293 variable[23] = TAG_Bool(( variable[22] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[22] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
8294 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction77___action, LOCATE_parser, 4577); nit_exit(1);}
8295 variable[23] = variable[10] /*nodearraylist6*/;
8296 variable[24] = TAG_Bool(( variable[23] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[23] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
8297 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction77___action, LOCATE_parser, 4579); nit_exit(1);}
8298 variable[24] = variable[9] /*nodearraylist7*/;
8299 variable[25] = TAG_Bool(( variable[24] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[24] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
8300 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction77___action, LOCATE_parser, 4581); nit_exit(1);}
8301 variable[25] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[24] /*listnode7*/ == NIT_NULL /*null*/) || (( variable[24] /*listnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[24] /*listnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[24] /*listnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[24] /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable[24] /*listnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8302 if (UNTAG_Bool(variable[25])) { /*if*/
8303 variable[25] = ((array___AbstractArray___is_empty_t)CALL( variable[16] /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable[16] /*listnode8*/) /*AbstractArray::is_empty*/;
8304 if (UNTAG_Bool(variable[25])) { /*if*/
8305 variable[16] = variable[24] /*listnode7*/ /*listnode8=*/;
8306 } else { /*if*/
8307 ((abstract_collection___IndexedCollection___append_t)CALL( variable[16] /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable[16] /*listnode8*/, variable[24] /*listnode7*/) /*IndexedCollection::append*/;
8308 }
8309 }
8310 variable[25] = variable[8] /*nodearraylist8*/;
8311 variable[26] = TAG_Bool(( variable[25] /*listnode9*/==NIT_NULL) || VAL_ISA( variable[25] /*listnode9*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
8312 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction77___action, LOCATE_parser, 4590); nit_exit(1);}
8313 variable[26] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[25] /*listnode9*/ == NIT_NULL /*null*/) || (( variable[25] /*listnode9*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[25] /*listnode9*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[25] /*listnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[25] /*listnode9*/,COLOR_kernel___Object_____eqeq))( variable[25] /*listnode9*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8314 if (UNTAG_Bool(variable[26])) { /*if*/
8315 variable[26] = ((array___AbstractArray___is_empty_t)CALL( variable[17] /*listnode10*/,COLOR_abstract_collection___Collection___is_empty))( variable[17] /*listnode10*/) /*AbstractArray::is_empty*/;
8316 if (UNTAG_Bool(variable[26])) { /*if*/
8317 variable[17] = variable[25] /*listnode9*/ /*listnode10=*/;
8318 } else { /*if*/
8319 ((abstract_collection___IndexedCollection___append_t)CALL( variable[17] /*listnode10*/,COLOR_abstract_collection___IndexedCollection___append))( variable[17] /*listnode10*/, variable[25] /*listnode9*/) /*IndexedCollection::append*/;
8320 }
8321 }
8322 variable[26] = variable[7] /*nodearraylist9*/;
8323 variable[27] = TAG_Bool(( variable[26] /*ppropdefnode11*/==NIT_NULL) || VAL_ISA( variable[26] /*ppropdefnode11*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
8324 if (!UNTAG_Bool(variable[27])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction77___action, LOCATE_parser, 4599); nit_exit(1);}
8325 variable[27] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[26] /*ppropdefnode11*/ == NIT_NULL /*null*/) || (( variable[26] /*ppropdefnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[26] /*ppropdefnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[26] /*ppropdefnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[26] /*ppropdefnode11*/,COLOR_kernel___Object_____eqeq))( variable[26] /*ppropdefnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8326 if (UNTAG_Bool(variable[27])) { /*if*/
8327 ((array___AbstractArray___add_t)CALL( variable[18] /*listnode12*/,COLOR_abstract_collection___SimpleCollection___add))( variable[18] /*listnode12*/, variable[26] /*ppropdefnode11*/) /*AbstractArray::add*/;
8328 }
8329 variable[28] = NEW_AClassdef_parser_prod___AClassdef___init_aclassdef( variable[19] /*pdocnode2*/, variable[20] /*tkwredefnode3*/, variable[21] /*pvisibilitynode4*/, variable[22] /*pclasskindnode5*/, variable[23] /*tclassidnode6*/, variable[16] /*listnode8*/, variable[17] /*listnode10*/, variable[18] /*listnode12*/); /*new AClassdef*/
8330 variable[27] = variable[28];
8331 variable[3] = variable[27] /*pclassdefnode1*/ /*node_list=*/;
8332 variable[28] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
8333 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[28], variable[3] /*node_list*/) /*Parser::push*/;
8334 return_label186: while(false);
8335 tracehead = trace.prev;
8336 return;
8337 }
8338 void parser___ReduceAction77___init(val_t self, int* init_table) {
8339 struct trace_t trace = {NULL, NULL, 4616, LOCATE_parser___ReduceAction77___init};
8340 val_t variable[2];
8341 void **closurevariable = NULL;
8342 trace.prev = tracehead; tracehead = &trace;
8343 trace.file = LOCATE_parser;
8344 variable[0] = self;
8345 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction77].i]) return;
8346 return_label187: while(false);
8347 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction77].i] = 1;
8348 tracehead = trace.prev;
8349 return;
8350 }
8351 void parser___ReduceAction78___action(val_t self, val_t param0) {
8352 struct trace_t trace = {NULL, NULL, 4620, LOCATE_parser___ReduceAction78___action};
8353 val_t variable[31];
8354 void **closurevariable = NULL;
8355 trace.prev = tracehead; tracehead = &trace;
8356 trace.file = LOCATE_parser;
8357 variable[0] = self;
8358 variable[1] = param0;
8359 variable[3] = NIT_NULL /*null*/;
8360 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8361 variable[4] = variable[5];
8362 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8363 variable[5] = variable[6];
8364 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8365 variable[6] = variable[7];
8366 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8367 variable[7] = variable[8];
8368 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8369 variable[8] = variable[9];
8370 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8371 variable[9] = variable[10];
8372 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8373 variable[10] = variable[11];
8374 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8375 variable[11] = variable[12];
8376 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8377 variable[12] = variable[13];
8378 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8379 variable[13] = variable[14];
8380 variable[15] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8381 variable[14] = variable[15];
8382 variable[16] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8383 variable[15] = variable[16];
8384 variable[17] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8385 variable[16] = variable[17];
8386 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
8387 variable[17] = variable[18];
8388 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
8389 variable[18] = variable[19];
8390 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
8391 variable[19] = variable[20];
8392 variable[20] = variable[16] /*nodearraylist1*/;
8393 variable[21] = TAG_Bool(( variable[20] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[20] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
8394 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction78___action, LOCATE_parser, 4640); nit_exit(1);}
8395 variable[21] = variable[15] /*nodearraylist2*/;
8396 variable[22] = TAG_Bool(( variable[21] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[21] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
8397 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction78___action, LOCATE_parser, 4642); nit_exit(1);}
8398 variable[22] = variable[14] /*nodearraylist3*/;
8399 variable[23] = TAG_Bool(( variable[22] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[22] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
8400 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction78___action, LOCATE_parser, 4644); nit_exit(1);}
8401 variable[23] = variable[13] /*nodearraylist4*/;
8402 variable[24] = TAG_Bool(( variable[23] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[23] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
8403 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction78___action, LOCATE_parser, 4646); nit_exit(1);}
8404 variable[24] = variable[11] /*nodearraylist6*/;
8405 variable[25] = TAG_Bool(( variable[24] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[24] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
8406 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction78___action, LOCATE_parser, 4648); nit_exit(1);}
8407 variable[25] = variable[10] /*nodearraylist7*/;
8408 variable[26] = TAG_Bool(( variable[25] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[25] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
8409 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction78___action, LOCATE_parser, 4650); nit_exit(1);}
8410 variable[26] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[25] /*listnode7*/ == NIT_NULL /*null*/) || (( variable[25] /*listnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[25] /*listnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[25] /*listnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[25] /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable[25] /*listnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8411 if (UNTAG_Bool(variable[26])) { /*if*/
8412 variable[26] = ((array___AbstractArray___is_empty_t)CALL( variable[17] /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable[17] /*listnode8*/) /*AbstractArray::is_empty*/;
8413 if (UNTAG_Bool(variable[26])) { /*if*/
8414 variable[17] = variable[25] /*listnode7*/ /*listnode8=*/;
8415 } else { /*if*/
8416 ((abstract_collection___IndexedCollection___append_t)CALL( variable[17] /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable[17] /*listnode8*/, variable[25] /*listnode7*/) /*IndexedCollection::append*/;
8417 }
8418 }
8419 variable[26] = variable[9] /*nodearraylist8*/;
8420 variable[27] = TAG_Bool(( variable[26] /*listnode9*/==NIT_NULL) || VAL_ISA( variable[26] /*listnode9*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
8421 if (!UNTAG_Bool(variable[27])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction78___action, LOCATE_parser, 4659); nit_exit(1);}
8422 variable[27] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[26] /*listnode9*/ == NIT_NULL /*null*/) || (( variable[26] /*listnode9*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[26] /*listnode9*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[26] /*listnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[26] /*listnode9*/,COLOR_kernel___Object_____eqeq))( variable[26] /*listnode9*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8423 if (UNTAG_Bool(variable[27])) { /*if*/
8424 variable[27] = ((array___AbstractArray___is_empty_t)CALL( variable[18] /*listnode10*/,COLOR_abstract_collection___Collection___is_empty))( variable[18] /*listnode10*/) /*AbstractArray::is_empty*/;
8425 if (UNTAG_Bool(variable[27])) { /*if*/
8426 variable[18] = variable[26] /*listnode9*/ /*listnode10=*/;
8427 } else { /*if*/
8428 ((abstract_collection___IndexedCollection___append_t)CALL( variable[18] /*listnode10*/,COLOR_abstract_collection___IndexedCollection___append))( variable[18] /*listnode10*/, variable[26] /*listnode9*/) /*IndexedCollection::append*/;
8429 }
8430 }
8431 variable[27] = variable[8] /*nodearraylist9*/;
8432 variable[28] = TAG_Bool(( variable[27] /*ppropdefnode11*/==NIT_NULL) || VAL_ISA( variable[27] /*ppropdefnode11*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
8433 if (!UNTAG_Bool(variable[28])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction78___action, LOCATE_parser, 4668); nit_exit(1);}
8434 variable[28] = variable[6] /*nodearraylist11*/;
8435 variable[29] = TAG_Bool(( variable[28] /*listnode12*/==NIT_NULL) || VAL_ISA( variable[28] /*listnode12*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
8436 if (!UNTAG_Bool(variable[29])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction78___action, LOCATE_parser, 4670); nit_exit(1);}
8437 variable[29] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[27] /*ppropdefnode11*/ == NIT_NULL /*null*/) || (( variable[27] /*ppropdefnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[27] /*ppropdefnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[27] /*ppropdefnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[27] /*ppropdefnode11*/,COLOR_kernel___Object_____eqeq))( variable[27] /*ppropdefnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8438 if (UNTAG_Bool(variable[29])) { /*if*/
8439 ((array___AbstractArray___add_t)CALL( variable[19] /*listnode13*/,COLOR_abstract_collection___SimpleCollection___add))( variable[19] /*listnode13*/, variable[27] /*ppropdefnode11*/) /*AbstractArray::add*/;
8440 }
8441 variable[29] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[28] /*listnode12*/ == NIT_NULL /*null*/) || (( variable[28] /*listnode12*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[28] /*listnode12*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[28] /*listnode12*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[28] /*listnode12*/,COLOR_kernel___Object_____eqeq))( variable[28] /*listnode12*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8442 if (UNTAG_Bool(variable[29])) { /*if*/
8443 variable[29] = ((array___AbstractArray___is_empty_t)CALL( variable[19] /*listnode13*/,COLOR_abstract_collection___Collection___is_empty))( variable[19] /*listnode13*/) /*AbstractArray::is_empty*/;
8444 if (UNTAG_Bool(variable[29])) { /*if*/
8445 variable[19] = variable[28] /*listnode12*/ /*listnode13=*/;
8446 } else { /*if*/
8447 ((abstract_collection___IndexedCollection___append_t)CALL( variable[19] /*listnode13*/,COLOR_abstract_collection___IndexedCollection___append))( variable[19] /*listnode13*/, variable[28] /*listnode12*/) /*IndexedCollection::append*/;
8448 }
8449 }
8450 variable[30] = NEW_AClassdef_parser_prod___AClassdef___init_aclassdef( variable[20] /*pdocnode2*/, variable[21] /*tkwredefnode3*/, variable[22] /*pvisibilitynode4*/, variable[23] /*pclasskindnode5*/, variable[24] /*tclassidnode6*/, variable[17] /*listnode8*/, variable[18] /*listnode10*/, variable[19] /*listnode13*/); /*new AClassdef*/
8451 variable[29] = variable[30];
8452 variable[3] = variable[29] /*pclassdefnode1*/ /*node_list=*/;
8453 variable[30] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
8454 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[30], variable[3] /*node_list*/) /*Parser::push*/;
8455 return_label188: while(false);
8456 tracehead = trace.prev;
8457 return;
8458 }
8459 void parser___ReduceAction78___init(val_t self, int* init_table) {
8460 struct trace_t trace = {NULL, NULL, 4694, LOCATE_parser___ReduceAction78___init};
8461 val_t variable[2];
8462 void **closurevariable = NULL;
8463 trace.prev = tracehead; tracehead = &trace;
8464 trace.file = LOCATE_parser;
8465 variable[0] = self;
8466 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction78].i]) return;
8467 return_label189: while(false);
8468 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction78].i] = 1;
8469 tracehead = trace.prev;
8470 return;
8471 }
8472 void parser___ReduceAction79___action(val_t self, val_t param0) {
8473 struct trace_t trace = {NULL, NULL, 4698, LOCATE_parser___ReduceAction79___action};
8474 val_t variable[8];
8475 void **closurevariable = NULL;
8476 trace.prev = tracehead; tracehead = &trace;
8477 trace.file = LOCATE_parser;
8478 variable[0] = self;
8479 variable[1] = param0;
8480 variable[3] = NIT_NULL /*null*/;
8481 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8482 variable[4] = variable[5];
8483 variable[5] = variable[4] /*nodearraylist1*/;
8484 variable[6] = TAG_Bool(( variable[5] /*tkwclassnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwclassnode2*/, COLOR_TKwclass, ID_TKwclass)) /*cast TKwclass*/;
8485 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction79___action, LOCATE_parser, 4703); nit_exit(1);}
8486 variable[7] = NEW_AConcreteClasskind_parser_prod___AConcreteClasskind___init_aconcreteclasskind( variable[5] /*tkwclassnode2*/); /*new AConcreteClasskind*/
8487 variable[6] = variable[7];
8488 variable[3] = variable[6] /*pclasskindnode1*/ /*node_list=*/;
8489 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(6)) /*Parser::go_to*/;
8490 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
8491 return_label190: while(false);
8492 tracehead = trace.prev;
8493 return;
8494 }
8495 void parser___ReduceAction79___init(val_t self, int* init_table) {
8496 struct trace_t trace = {NULL, NULL, 4710, LOCATE_parser___ReduceAction79___init};
8497 val_t variable[2];
8498 void **closurevariable = NULL;
8499 trace.prev = tracehead; tracehead = &trace;
8500 trace.file = LOCATE_parser;
8501 variable[0] = self;
8502 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction79].i]) return;
8503 return_label191: while(false);
8504 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction79].i] = 1;
8505 tracehead = trace.prev;
8506 return;
8507 }
8508 void parser___ReduceAction80___action(val_t self, val_t param0) {
8509 struct trace_t trace = {NULL, NULL, 4714, LOCATE_parser___ReduceAction80___action};
8510 val_t variable[10];
8511 void **closurevariable = NULL;
8512 trace.prev = tracehead; tracehead = &trace;
8513 trace.file = LOCATE_parser;
8514 variable[0] = self;
8515 variable[1] = param0;
8516 variable[3] = NIT_NULL /*null*/;
8517 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8518 variable[4] = variable[5];
8519 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8520 variable[5] = variable[6];
8521 variable[6] = variable[5] /*nodearraylist1*/;
8522 variable[7] = TAG_Bool(( variable[6] /*tkwabstractnode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tkwabstractnode2*/, COLOR_TKwabstract, ID_TKwabstract)) /*cast TKwabstract*/;
8523 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction80___action, LOCATE_parser, 4720); nit_exit(1);}
8524 variable[7] = variable[4] /*nodearraylist2*/;
8525 variable[8] = TAG_Bool(( variable[7] /*tkwclassnode3*/==NIT_NULL) || VAL_ISA( variable[7] /*tkwclassnode3*/, COLOR_TKwclass, ID_TKwclass)) /*cast TKwclass*/;
8526 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction80___action, LOCATE_parser, 4722); nit_exit(1);}
8527 variable[9] = NEW_AAbstractClasskind_parser_prod___AAbstractClasskind___init_aabstractclasskind( variable[6] /*tkwabstractnode2*/, variable[7] /*tkwclassnode3*/); /*new AAbstractClasskind*/
8528 variable[8] = variable[9];
8529 variable[3] = variable[8] /*pclasskindnode1*/ /*node_list=*/;
8530 variable[9] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(6)) /*Parser::go_to*/;
8531 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
8532 return_label192: while(false);
8533 tracehead = trace.prev;
8534 return;
8535 }
8536 void parser___ReduceAction80___init(val_t self, int* init_table) {
8537 struct trace_t trace = {NULL, NULL, 4730, LOCATE_parser___ReduceAction80___init};
8538 val_t variable[2];
8539 void **closurevariable = NULL;
8540 trace.prev = tracehead; tracehead = &trace;
8541 trace.file = LOCATE_parser;
8542 variable[0] = self;
8543 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction80].i]) return;
8544 return_label193: while(false);
8545 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction80].i] = 1;
8546 tracehead = trace.prev;
8547 return;
8548 }
8549 void parser___ReduceAction81___action(val_t self, val_t param0) {
8550 struct trace_t trace = {NULL, NULL, 4734, LOCATE_parser___ReduceAction81___action};
8551 val_t variable[8];
8552 void **closurevariable = NULL;
8553 trace.prev = tracehead; tracehead = &trace;
8554 trace.file = LOCATE_parser;
8555 variable[0] = self;
8556 variable[1] = param0;
8557 variable[3] = NIT_NULL /*null*/;
8558 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8559 variable[4] = variable[5];
8560 variable[5] = variable[4] /*nodearraylist1*/;
8561 variable[6] = TAG_Bool(( variable[5] /*tkwinterfacenode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwinterfacenode2*/, COLOR_TKwinterface, ID_TKwinterface)) /*cast TKwinterface*/;
8562 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction81___action, LOCATE_parser, 4739); nit_exit(1);}
8563 variable[7] = NEW_AInterfaceClasskind_parser_prod___AInterfaceClasskind___init_ainterfaceclasskind( variable[5] /*tkwinterfacenode2*/); /*new AInterfaceClasskind*/
8564 variable[6] = variable[7];
8565 variable[3] = variable[6] /*pclasskindnode1*/ /*node_list=*/;
8566 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(6)) /*Parser::go_to*/;
8567 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
8568 return_label194: while(false);
8569 tracehead = trace.prev;
8570 return;
8571 }
8572 void parser___ReduceAction81___init(val_t self, int* init_table) {
8573 struct trace_t trace = {NULL, NULL, 4746, LOCATE_parser___ReduceAction81___init};
8574 val_t variable[2];
8575 void **closurevariable = NULL;
8576 trace.prev = tracehead; tracehead = &trace;
8577 trace.file = LOCATE_parser;
8578 variable[0] = self;
8579 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction81].i]) return;
8580 return_label195: while(false);
8581 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction81].i] = 1;
8582 tracehead = trace.prev;
8583 return;
8584 }
8585 void parser___ReduceAction82___action(val_t self, val_t param0) {
8586 struct trace_t trace = {NULL, NULL, 4750, LOCATE_parser___ReduceAction82___action};
8587 val_t variable[8];
8588 void **closurevariable = NULL;
8589 trace.prev = tracehead; tracehead = &trace;
8590 trace.file = LOCATE_parser;
8591 variable[0] = self;
8592 variable[1] = param0;
8593 variable[3] = NIT_NULL /*null*/;
8594 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8595 variable[4] = variable[5];
8596 variable[5] = variable[4] /*nodearraylist1*/;
8597 variable[6] = TAG_Bool(( variable[5] /*tkwuniversalnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwuniversalnode2*/, COLOR_TKwuniversal, ID_TKwuniversal)) /*cast TKwuniversal*/;
8598 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction82___action, LOCATE_parser, 4755); nit_exit(1);}
8599 variable[7] = NEW_AUniversalClasskind_parser_prod___AUniversalClasskind___init_auniversalclasskind( variable[5] /*tkwuniversalnode2*/); /*new AUniversalClasskind*/
8600 variable[6] = variable[7];
8601 variable[3] = variable[6] /*pclasskindnode1*/ /*node_list=*/;
8602 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(6)) /*Parser::go_to*/;
8603 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
8604 return_label196: while(false);
8605 tracehead = trace.prev;
8606 return;
8607 }
8608 void parser___ReduceAction82___init(val_t self, int* init_table) {
8609 struct trace_t trace = {NULL, NULL, 4762, LOCATE_parser___ReduceAction82___init};
8610 val_t variable[2];
8611 void **closurevariable = NULL;
8612 trace.prev = tracehead; tracehead = &trace;
8613 trace.file = LOCATE_parser;
8614 variable[0] = self;
8615 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction82].i]) return;
8616 return_label197: while(false);
8617 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction82].i] = 1;
8618 tracehead = trace.prev;
8619 return;
8620 }
8621 void parser___ReduceAction83___action(val_t self, val_t param0) {
8622 struct trace_t trace = {NULL, NULL, 4766, LOCATE_parser___ReduceAction83___action};
8623 val_t variable[12];
8624 void **closurevariable = NULL;
8625 trace.prev = tracehead; tracehead = &trace;
8626 trace.file = LOCATE_parser;
8627 variable[0] = self;
8628 variable[1] = param0;
8629 variable[3] = NIT_NULL /*null*/;
8630 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8631 variable[4] = variable[5];
8632 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8633 variable[5] = variable[6];
8634 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8635 variable[6] = variable[7];
8636 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8637 variable[7] = variable[8];
8638 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8639 variable[8] = variable[9];
8640 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
8641 variable[9] = variable[10];
8642 variable[10] = variable[6] /*nodearraylist3*/;
8643 variable[11] = TAG_Bool(( variable[10] /*pformaldefnode1*/==NIT_NULL) || VAL_ISA( variable[10] /*pformaldefnode1*/, COLOR_PFormaldef, ID_PFormaldef)) /*cast PFormaldef*/;
8644 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction83___action, LOCATE_parser, 4776); nit_exit(1);}
8645 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*pformaldefnode1*/ == NIT_NULL /*null*/) || (( variable[10] /*pformaldefnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[10] /*pformaldefnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*pformaldefnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[10] /*pformaldefnode1*/,COLOR_kernel___Object_____eqeq))( variable[10] /*pformaldefnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8646 if (UNTAG_Bool(variable[11])) { /*if*/
8647 ((array___AbstractArray___add_t)CALL( variable[9] /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable[9] /*listnode2*/, variable[10] /*pformaldefnode1*/) /*AbstractArray::add*/;
8648 }
8649 variable[3] = variable[9] /*listnode2*/ /*node_list=*/;
8650 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(7)) /*Parser::go_to*/;
8651 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
8652 return_label198: while(false);
8653 tracehead = trace.prev;
8654 return;
8655 }
8656 void parser___ReduceAction83___init(val_t self, int* init_table) {
8657 struct trace_t trace = {NULL, NULL, 4783, LOCATE_parser___ReduceAction83___init};
8658 val_t variable[2];
8659 void **closurevariable = NULL;
8660 trace.prev = tracehead; tracehead = &trace;
8661 trace.file = LOCATE_parser;
8662 variable[0] = self;
8663 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction83].i]) return;
8664 return_label199: while(false);
8665 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction83].i] = 1;
8666 tracehead = trace.prev;
8667 return;
8668 }
8669 void parser___ReduceAction84___action(val_t self, val_t param0) {
8670 struct trace_t trace = {NULL, NULL, 4787, LOCATE_parser___ReduceAction84___action};
8671 val_t variable[14];
8672 void **closurevariable = NULL;
8673 trace.prev = tracehead; tracehead = &trace;
8674 trace.file = LOCATE_parser;
8675 variable[0] = self;
8676 variable[1] = param0;
8677 variable[3] = NIT_NULL /*null*/;
8678 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8679 variable[4] = variable[5];
8680 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8681 variable[5] = variable[6];
8682 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8683 variable[6] = variable[7];
8684 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8685 variable[7] = variable[8];
8686 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8687 variable[8] = variable[9];
8688 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8689 variable[9] = variable[10];
8690 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
8691 variable[10] = variable[11];
8692 variable[11] = variable[7] /*nodearraylist3*/;
8693 variable[12] = TAG_Bool(( variable[11] /*pformaldefnode1*/==NIT_NULL) || VAL_ISA( variable[11] /*pformaldefnode1*/, COLOR_PFormaldef, ID_PFormaldef)) /*cast PFormaldef*/;
8694 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction84___action, LOCATE_parser, 4798); nit_exit(1);}
8695 variable[12] = variable[6] /*nodearraylist4*/;
8696 variable[13] = TAG_Bool(( variable[12] /*listnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
8697 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction84___action, LOCATE_parser, 4800); nit_exit(1);}
8698 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*pformaldefnode1*/ == NIT_NULL /*null*/) || (( variable[11] /*pformaldefnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[11] /*pformaldefnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*pformaldefnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[11] /*pformaldefnode1*/,COLOR_kernel___Object_____eqeq))( variable[11] /*pformaldefnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8699 if (UNTAG_Bool(variable[13])) { /*if*/
8700 ((array___AbstractArray___add_t)CALL( variable[10] /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable[10] /*listnode3*/, variable[11] /*pformaldefnode1*/) /*AbstractArray::add*/;
8701 }
8702 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode2*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable[12] /*listnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8703 if (UNTAG_Bool(variable[13])) { /*if*/
8704 variable[13] = ((array___AbstractArray___is_empty_t)CALL( variable[10] /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable[10] /*listnode3*/) /*AbstractArray::is_empty*/;
8705 if (UNTAG_Bool(variable[13])) { /*if*/
8706 variable[10] = variable[12] /*listnode2*/ /*listnode3=*/;
8707 } else { /*if*/
8708 ((abstract_collection___IndexedCollection___append_t)CALL( variable[10] /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable[10] /*listnode3*/, variable[12] /*listnode2*/) /*IndexedCollection::append*/;
8709 }
8710 }
8711 variable[3] = variable[10] /*listnode3*/ /*node_list=*/;
8712 variable[13] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(7)) /*Parser::go_to*/;
8713 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
8714 return_label200: while(false);
8715 tracehead = trace.prev;
8716 return;
8717 }
8718 void parser___ReduceAction84___init(val_t self, int* init_table) {
8719 struct trace_t trace = {NULL, NULL, 4814, LOCATE_parser___ReduceAction84___init};
8720 val_t variable[2];
8721 void **closurevariable = NULL;
8722 trace.prev = tracehead; tracehead = &trace;
8723 trace.file = LOCATE_parser;
8724 variable[0] = self;
8725 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction84].i]) return;
8726 return_label201: while(false);
8727 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction84].i] = 1;
8728 tracehead = trace.prev;
8729 return;
8730 }
8731 void parser___ReduceAction85___action(val_t self, val_t param0) {
8732 struct trace_t trace = {NULL, NULL, 4818, LOCATE_parser___ReduceAction85___action};
8733 val_t variable[9];
8734 void **closurevariable = NULL;
8735 trace.prev = tracehead; tracehead = &trace;
8736 trace.file = LOCATE_parser;
8737 variable[0] = self;
8738 variable[1] = param0;
8739 variable[3] = NIT_NULL /*null*/;
8740 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8741 variable[4] = variable[5];
8742 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8743 variable[5] = variable[6];
8744 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8745 variable[6] = variable[7];
8746 variable[7] = variable[4] /*nodearraylist3*/;
8747 variable[8] = TAG_Bool(( variable[7] /*pformaldefnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*pformaldefnode1*/, COLOR_PFormaldef, ID_PFormaldef)) /*cast PFormaldef*/;
8748 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction85___action, LOCATE_parser, 4825); nit_exit(1);}
8749 variable[3] = variable[7] /*pformaldefnode1*/ /*node_list=*/;
8750 variable[8] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(8)) /*Parser::go_to*/;
8751 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
8752 return_label202: while(false);
8753 tracehead = trace.prev;
8754 return;
8755 }
8756 void parser___ReduceAction85___init(val_t self, int* init_table) {
8757 struct trace_t trace = {NULL, NULL, 4829, LOCATE_parser___ReduceAction85___init};
8758 val_t variable[2];
8759 void **closurevariable = NULL;
8760 trace.prev = tracehead; tracehead = &trace;
8761 trace.file = LOCATE_parser;
8762 variable[0] = self;
8763 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction85].i]) return;
8764 return_label203: while(false);
8765 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction85].i] = 1;
8766 tracehead = trace.prev;
8767 return;
8768 }
8769 void parser___ReduceAction86___action(val_t self, val_t param0) {
8770 struct trace_t trace = {NULL, NULL, 4833, LOCATE_parser___ReduceAction86___action};
8771 val_t variable[8];
8772 void **closurevariable = NULL;
8773 trace.prev = tracehead; tracehead = &trace;
8774 trace.file = LOCATE_parser;
8775 variable[0] = self;
8776 variable[1] = param0;
8777 variable[3] = NIT_NULL /*null*/;
8778 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8779 variable[4] = variable[5];
8780 variable[5] = variable[4] /*nodearraylist1*/;
8781 variable[6] = TAG_Bool(( variable[5] /*tclassidnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tclassidnode2*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
8782 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction86___action, LOCATE_parser, 4838); nit_exit(1);}
8783 variable[7] = NEW_AFormaldef_parser_prod___AFormaldef___init_aformaldef( variable[5] /*tclassidnode2*/, NIT_NULL /*null*/); /*new AFormaldef*/
8784 variable[6] = variable[7];
8785 variable[3] = variable[6] /*pformaldefnode1*/ /*node_list=*/;
8786 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(9)) /*Parser::go_to*/;
8787 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
8788 return_label204: while(false);
8789 tracehead = trace.prev;
8790 return;
8791 }
8792 void parser___ReduceAction86___init(val_t self, int* init_table) {
8793 struct trace_t trace = {NULL, NULL, 4846, LOCATE_parser___ReduceAction86___init};
8794 val_t variable[2];
8795 void **closurevariable = NULL;
8796 trace.prev = tracehead; tracehead = &trace;
8797 trace.file = LOCATE_parser;
8798 variable[0] = self;
8799 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction86].i]) return;
8800 return_label205: while(false);
8801 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction86].i] = 1;
8802 tracehead = trace.prev;
8803 return;
8804 }
8805 void parser___ReduceAction87___action(val_t self, val_t param0) {
8806 struct trace_t trace = {NULL, NULL, 4850, LOCATE_parser___ReduceAction87___action};
8807 val_t variable[10];
8808 void **closurevariable = NULL;
8809 trace.prev = tracehead; tracehead = &trace;
8810 trace.file = LOCATE_parser;
8811 variable[0] = self;
8812 variable[1] = param0;
8813 variable[3] = NIT_NULL /*null*/;
8814 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8815 variable[4] = variable[5];
8816 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8817 variable[5] = variable[6];
8818 variable[6] = variable[5] /*nodearraylist1*/;
8819 variable[7] = TAG_Bool(( variable[6] /*tclassidnode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tclassidnode2*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
8820 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction87___action, LOCATE_parser, 4856); nit_exit(1);}
8821 variable[7] = variable[4] /*nodearraylist2*/;
8822 variable[8] = TAG_Bool(( variable[7] /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable[7] /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
8823 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction87___action, LOCATE_parser, 4858); nit_exit(1);}
8824 variable[9] = NEW_AFormaldef_parser_prod___AFormaldef___init_aformaldef( variable[6] /*tclassidnode2*/, variable[7] /*ptypenode3*/); /*new AFormaldef*/
8825 variable[8] = variable[9];
8826 variable[3] = variable[8] /*pformaldefnode1*/ /*node_list=*/;
8827 variable[9] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(9)) /*Parser::go_to*/;
8828 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
8829 return_label206: while(false);
8830 tracehead = trace.prev;
8831 return;
8832 }
8833 void parser___ReduceAction87___init(val_t self, int* init_table) {
8834 struct trace_t trace = {NULL, NULL, 4866, LOCATE_parser___ReduceAction87___init};
8835 val_t variable[2];
8836 void **closurevariable = NULL;
8837 trace.prev = tracehead; tracehead = &trace;
8838 trace.file = LOCATE_parser;
8839 variable[0] = self;
8840 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction87].i]) return;
8841 return_label207: while(false);
8842 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction87].i] = 1;
8843 tracehead = trace.prev;
8844 return;
8845 }
8846 void parser___ReduceAction88___action(val_t self, val_t param0) {
8847 struct trace_t trace = {NULL, NULL, 4870, LOCATE_parser___ReduceAction88___action};
8848 val_t variable[12];
8849 void **closurevariable = NULL;
8850 trace.prev = tracehead; tracehead = &trace;
8851 trace.file = LOCATE_parser;
8852 variable[0] = self;
8853 variable[1] = param0;
8854 variable[3] = NIT_NULL /*null*/;
8855 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8856 variable[4] = variable[5];
8857 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8858 variable[5] = variable[6];
8859 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8860 variable[6] = variable[7];
8861 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8862 variable[7] = variable[8];
8863 variable[8] = variable[6] /*nodearraylist2*/;
8864 variable[9] = TAG_Bool(( variable[8] /*tkwspecialnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*tkwspecialnode2*/, COLOR_TKwspecial, ID_TKwspecial)) /*cast TKwspecial*/;
8865 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction88___action, LOCATE_parser, 4878); nit_exit(1);}
8866 variable[9] = variable[4] /*nodearraylist4*/;
8867 variable[10] = TAG_Bool(( variable[9] /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable[9] /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
8868 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction88___action, LOCATE_parser, 4880); nit_exit(1);}
8869 variable[11] = NEW_ASuperclass_parser_prod___ASuperclass___init_asuperclass( variable[8] /*tkwspecialnode2*/, variable[9] /*ptypenode3*/); /*new ASuperclass*/
8870 variable[10] = variable[11];
8871 variable[3] = variable[10] /*psuperclassnode1*/ /*node_list=*/;
8872 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(10)) /*Parser::go_to*/;
8873 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
8874 return_label208: while(false);
8875 tracehead = trace.prev;
8876 return;
8877 }
8878 void parser___ReduceAction88___init(val_t self, int* init_table) {
8879 struct trace_t trace = {NULL, NULL, 4888, LOCATE_parser___ReduceAction88___init};
8880 val_t variable[2];
8881 void **closurevariable = NULL;
8882 trace.prev = tracehead; tracehead = &trace;
8883 trace.file = LOCATE_parser;
8884 variable[0] = self;
8885 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction88].i]) return;
8886 return_label209: while(false);
8887 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction88].i] = 1;
8888 tracehead = trace.prev;
8889 return;
8890 }
8891 void parser___ReduceAction89___action(val_t self, val_t param0) {
8892 struct trace_t trace = {NULL, NULL, 4892, LOCATE_parser___ReduceAction89___action};
8893 val_t variable[8];
8894 void **closurevariable = NULL;
8895 trace.prev = tracehead; tracehead = &trace;
8896 trace.file = LOCATE_parser;
8897 variable[0] = self;
8898 variable[1] = param0;
8899 variable[3] = NIT_NULL /*null*/;
8900 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8901 variable[4] = variable[5];
8902 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8903 variable[5] = variable[6];
8904 variable[6] = variable[5] /*nodearraylist1*/;
8905 variable[7] = TAG_Bool(( variable[6] /*ppropdefnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*ppropdefnode1*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
8906 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction89___action, LOCATE_parser, 4898); nit_exit(1);}
8907 variable[3] = variable[6] /*ppropdefnode1*/ /*node_list=*/;
8908 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(11)) /*Parser::go_to*/;
8909 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
8910 return_label210: while(false);
8911 tracehead = trace.prev;
8912 return;
8913 }
8914 void parser___ReduceAction89___init(val_t self, int* init_table) {
8915 struct trace_t trace = {NULL, NULL, 4902, LOCATE_parser___ReduceAction89___init};
8916 val_t variable[2];
8917 void **closurevariable = NULL;
8918 trace.prev = tracehead; tracehead = &trace;
8919 trace.file = LOCATE_parser;
8920 variable[0] = self;
8921 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction89].i]) return;
8922 return_label211: while(false);
8923 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction89].i] = 1;
8924 tracehead = trace.prev;
8925 return;
8926 }
8927 void parser___ReduceAction90___action(val_t self, val_t param0) {
8928 struct trace_t trace = {NULL, NULL, 4906, LOCATE_parser___ReduceAction90___action};
8929 val_t variable[20];
8930 void **closurevariable = NULL;
8931 trace.prev = tracehead; tracehead = &trace;
8932 trace.file = LOCATE_parser;
8933 variable[0] = self;
8934 variable[1] = param0;
8935 variable[3] = NIT_NULL /*null*/;
8936 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8937 variable[4] = variable[5];
8938 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8939 variable[5] = variable[6];
8940 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8941 variable[6] = variable[7];
8942 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8943 variable[7] = variable[8];
8944 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8945 variable[8] = variable[9];
8946 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
8947 variable[9] = variable[10];
8948 variable[10] = variable[9] /*nodearraylist1*/;
8949 variable[11] = TAG_Bool(( variable[10] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
8950 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction90___action, LOCATE_parser, 4916); nit_exit(1);}
8951 variable[11] = variable[8] /*nodearraylist2*/;
8952 variable[12] = TAG_Bool(( variable[11] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
8953 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction90___action, LOCATE_parser, 4918); nit_exit(1);}
8954 variable[13] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[11] /*tkwreadablenode5*/); /*new AReadAble*/
8955 variable[12] = variable[13];
8956 variable[13] = variable[7] /*nodearraylist3*/;
8957 variable[14] = TAG_Bool(( variable[13] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
8958 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction90___action, LOCATE_parser, 4924); nit_exit(1);}
8959 variable[15] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[13] /*tkwwritablenode8*/); /*new AWriteAble*/
8960 variable[14] = variable[15];
8961 variable[15] = variable[6] /*nodearraylist4*/;
8962 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
8963 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction90___action, LOCATE_parser, 4930); nit_exit(1);}
8964 variable[16] = variable[5] /*nodearraylist5*/;
8965 variable[17] = TAG_Bool(( variable[16] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
8966 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction90___action, LOCATE_parser, 4932); nit_exit(1);}
8967 variable[17] = variable[4] /*nodearraylist6*/;
8968 variable[18] = TAG_Bool(( variable[17] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[17] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
8969 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction90___action, LOCATE_parser, 4934); nit_exit(1);}
8970 variable[19] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[10] /*pdocnode2*/, variable[12] /*pablenode3*/, variable[14] /*pablenode6*/, NIT_NULL /*null*/, variable[15] /*pvisibilitynode10*/, variable[16] /*tkwattrnode11*/, variable[17] /*tattridnode12*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
8971 variable[18] = variable[19];
8972 variable[3] = variable[18] /*ppropdefnode1*/ /*node_list=*/;
8973 variable[19] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
8974 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[19], variable[3] /*node_list*/) /*Parser::push*/;
8975 return_label212: while(false);
8976 tracehead = trace.prev;
8977 return;
8978 }
8979 void parser___ReduceAction90___init(val_t self, int* init_table) {
8980 struct trace_t trace = {NULL, NULL, 4949, LOCATE_parser___ReduceAction90___init};
8981 val_t variable[2];
8982 void **closurevariable = NULL;
8983 trace.prev = tracehead; tracehead = &trace;
8984 trace.file = LOCATE_parser;
8985 variable[0] = self;
8986 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction90].i]) return;
8987 return_label213: while(false);
8988 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction90].i] = 1;
8989 tracehead = trace.prev;
8990 return;
8991 }
8992 void parser___ReduceAction91___action(val_t self, val_t param0) {
8993 struct trace_t trace = {NULL, NULL, 4953, LOCATE_parser___ReduceAction91___action};
8994 val_t variable[22];
8995 void **closurevariable = NULL;
8996 trace.prev = tracehead; tracehead = &trace;
8997 trace.file = LOCATE_parser;
8998 variable[0] = self;
8999 variable[1] = param0;
9000 variable[3] = NIT_NULL /*null*/;
9001 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9002 variable[4] = variable[5];
9003 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9004 variable[5] = variable[6];
9005 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9006 variable[6] = variable[7];
9007 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9008 variable[7] = variable[8];
9009 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9010 variable[8] = variable[9];
9011 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9012 variable[9] = variable[10];
9013 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9014 variable[10] = variable[11];
9015 variable[11] = variable[10] /*nodearraylist1*/;
9016 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
9017 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction91___action, LOCATE_parser, 4964); nit_exit(1);}
9018 variable[12] = variable[9] /*nodearraylist2*/;
9019 variable[13] = TAG_Bool(( variable[12] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
9020 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction91___action, LOCATE_parser, 4966); nit_exit(1);}
9021 variable[14] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[12] /*tkwreadablenode5*/); /*new AReadAble*/
9022 variable[13] = variable[14];
9023 variable[14] = variable[8] /*nodearraylist3*/;
9024 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
9025 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction91___action, LOCATE_parser, 4972); nit_exit(1);}
9026 variable[15] = variable[7] /*nodearraylist4*/;
9027 variable[16] = TAG_Bool(( variable[15] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
9028 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction91___action, LOCATE_parser, 4974); nit_exit(1);}
9029 variable[17] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[14] /*tkwredefnode7*/, variable[15] /*tkwwritablenode8*/); /*new AWriteAble*/
9030 variable[16] = variable[17];
9031 variable[17] = variable[6] /*nodearraylist5*/;
9032 variable[18] = TAG_Bool(( variable[17] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[17] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
9033 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction91___action, LOCATE_parser, 4980); nit_exit(1);}
9034 variable[18] = variable[5] /*nodearraylist6*/;
9035 variable[19] = TAG_Bool(( variable[18] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
9036 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction91___action, LOCATE_parser, 4982); nit_exit(1);}
9037 variable[19] = variable[4] /*nodearraylist7*/;
9038 variable[20] = TAG_Bool(( variable[19] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[19] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
9039 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction91___action, LOCATE_parser, 4984); nit_exit(1);}
9040 variable[21] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[11] /*pdocnode2*/, variable[13] /*pablenode3*/, variable[16] /*pablenode6*/, NIT_NULL /*null*/, variable[17] /*pvisibilitynode10*/, variable[18] /*tkwattrnode11*/, variable[19] /*tattridnode12*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
9041 variable[20] = variable[21];
9042 variable[3] = variable[20] /*ppropdefnode1*/ /*node_list=*/;
9043 variable[21] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
9044 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[21], variable[3] /*node_list*/) /*Parser::push*/;
9045 return_label214: while(false);
9046 tracehead = trace.prev;
9047 return;
9048 }
9049 void parser___ReduceAction91___init(val_t self, int* init_table) {
9050 struct trace_t trace = {NULL, NULL, 4999, LOCATE_parser___ReduceAction91___init};
9051 val_t variable[2];
9052 void **closurevariable = NULL;
9053 trace.prev = tracehead; tracehead = &trace;
9054 trace.file = LOCATE_parser;
9055 variable[0] = self;
9056 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction91].i]) return;
9057 return_label215: while(false);
9058 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction91].i] = 1;
9059 tracehead = trace.prev;
9060 return;
9061 }
9062 void parser___ReduceAction92___action(val_t self, val_t param0) {
9063 struct trace_t trace = {NULL, NULL, 5003, LOCATE_parser___ReduceAction92___action};
9064 val_t variable[17];
9065 void **closurevariable = NULL;
9066 trace.prev = tracehead; tracehead = &trace;
9067 trace.file = LOCATE_parser;
9068 variable[0] = self;
9069 variable[1] = param0;
9070 variable[3] = NIT_NULL /*null*/;
9071 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9072 variable[4] = variable[5];
9073 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9074 variable[5] = variable[6];
9075 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9076 variable[6] = variable[7];
9077 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9078 variable[7] = variable[8];
9079 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9080 variable[8] = variable[9];
9081 variable[9] = variable[8] /*nodearraylist1*/;
9082 variable[10] = TAG_Bool(( variable[9] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
9083 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction92___action, LOCATE_parser, 5012); nit_exit(1);}
9084 variable[10] = variable[7] /*nodearraylist2*/;
9085 variable[11] = TAG_Bool(( variable[10] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[10] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
9086 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction92___action, LOCATE_parser, 5014); nit_exit(1);}
9087 variable[12] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[10] /*tkwreadablenode5*/); /*new AReadAble*/
9088 variable[11] = variable[12];
9089 variable[12] = variable[6] /*nodearraylist3*/;
9090 variable[13] = TAG_Bool(( variable[12] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[12] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
9091 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction92___action, LOCATE_parser, 5020); nit_exit(1);}
9092 variable[13] = variable[5] /*nodearraylist4*/;
9093 variable[14] = TAG_Bool(( variable[13] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
9094 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction92___action, LOCATE_parser, 5022); nit_exit(1);}
9095 variable[14] = variable[4] /*nodearraylist5*/;
9096 variable[15] = TAG_Bool(( variable[14] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[14] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
9097 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction92___action, LOCATE_parser, 5024); nit_exit(1);}
9098 variable[16] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[9] /*pdocnode2*/, variable[11] /*pablenode3*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable[12] /*pvisibilitynode8*/, variable[13] /*tkwattrnode9*/, variable[14] /*tattridnode10*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
9099 variable[15] = variable[16];
9100 variable[3] = variable[15] /*ppropdefnode1*/ /*node_list=*/;
9101 variable[16] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
9102 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[16], variable[3] /*node_list*/) /*Parser::push*/;
9103 return_label216: while(false);
9104 tracehead = trace.prev;
9105 return;
9106 }
9107 void parser___ReduceAction92___init(val_t self, int* init_table) {
9108 struct trace_t trace = {NULL, NULL, 5039, LOCATE_parser___ReduceAction92___init};
9109 val_t variable[2];
9110 void **closurevariable = NULL;
9111 trace.prev = tracehead; tracehead = &trace;
9112 trace.file = LOCATE_parser;
9113 variable[0] = self;
9114 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction92].i]) return;
9115 return_label217: while(false);
9116 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction92].i] = 1;
9117 tracehead = trace.prev;
9118 return;
9119 }
9120 void parser___ReduceAction93___action(val_t self, val_t param0) {
9121 struct trace_t trace = {NULL, NULL, 5043, LOCATE_parser___ReduceAction93___action};
9122 val_t variable[22];
9123 void **closurevariable = NULL;
9124 trace.prev = tracehead; tracehead = &trace;
9125 trace.file = LOCATE_parser;
9126 variable[0] = self;
9127 variable[1] = param0;
9128 variable[3] = NIT_NULL /*null*/;
9129 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9130 variable[4] = variable[5];
9131 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9132 variable[5] = variable[6];
9133 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9134 variable[6] = variable[7];
9135 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9136 variable[7] = variable[8];
9137 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9138 variable[8] = variable[9];
9139 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9140 variable[9] = variable[10];
9141 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9142 variable[10] = variable[11];
9143 variable[11] = variable[10] /*nodearraylist1*/;
9144 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
9145 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction93___action, LOCATE_parser, 5054); nit_exit(1);}
9146 variable[12] = variable[9] /*nodearraylist2*/;
9147 variable[13] = TAG_Bool(( variable[12] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
9148 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction93___action, LOCATE_parser, 5056); nit_exit(1);}
9149 variable[13] = variable[8] /*nodearraylist3*/;
9150 variable[14] = TAG_Bool(( variable[13] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
9151 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction93___action, LOCATE_parser, 5058); nit_exit(1);}
9152 variable[15] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[12] /*tkwredefnode4*/, variable[13] /*tkwreadablenode5*/); /*new AReadAble*/
9153 variable[14] = variable[15];
9154 variable[15] = variable[7] /*nodearraylist4*/;
9155 variable[16] = TAG_Bool(( variable[15] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
9156 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction93___action, LOCATE_parser, 5064); nit_exit(1);}
9157 variable[17] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[15] /*tkwwritablenode8*/); /*new AWriteAble*/
9158 variable[16] = variable[17];
9159 variable[17] = variable[6] /*nodearraylist5*/;
9160 variable[18] = TAG_Bool(( variable[17] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[17] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
9161 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction93___action, LOCATE_parser, 5070); nit_exit(1);}
9162 variable[18] = variable[5] /*nodearraylist6*/;
9163 variable[19] = TAG_Bool(( variable[18] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
9164 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction93___action, LOCATE_parser, 5072); nit_exit(1);}
9165 variable[19] = variable[4] /*nodearraylist7*/;
9166 variable[20] = TAG_Bool(( variable[19] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[19] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
9167 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction93___action, LOCATE_parser, 5074); nit_exit(1);}
9168 variable[21] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[11] /*pdocnode2*/, variable[14] /*pablenode3*/, variable[16] /*pablenode6*/, NIT_NULL /*null*/, variable[17] /*pvisibilitynode10*/, variable[18] /*tkwattrnode11*/, variable[19] /*tattridnode12*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
9169 variable[20] = variable[21];
9170 variable[3] = variable[20] /*ppropdefnode1*/ /*node_list=*/;
9171 variable[21] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
9172 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[21], variable[3] /*node_list*/) /*Parser::push*/;
9173 return_label218: while(false);
9174 tracehead = trace.prev;
9175 return;
9176 }
9177 void parser___ReduceAction93___init(val_t self, int* init_table) {
9178 struct trace_t trace = {NULL, NULL, 5089, LOCATE_parser___ReduceAction93___init};
9179 val_t variable[2];
9180 void **closurevariable = NULL;
9181 trace.prev = tracehead; tracehead = &trace;
9182 trace.file = LOCATE_parser;
9183 variable[0] = self;
9184 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction93].i]) return;
9185 return_label219: while(false);
9186 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction93].i] = 1;
9187 tracehead = trace.prev;
9188 return;
9189 }
9190 void parser___ReduceAction94___action(val_t self, val_t param0) {
9191 struct trace_t trace = {NULL, NULL, 5093, LOCATE_parser___ReduceAction94___action};
9192 val_t variable[24];
9193 void **closurevariable = NULL;
9194 trace.prev = tracehead; tracehead = &trace;
9195 trace.file = LOCATE_parser;
9196 variable[0] = self;
9197 variable[1] = param0;
9198 variable[3] = NIT_NULL /*null*/;
9199 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9200 variable[4] = variable[5];
9201 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9202 variable[5] = variable[6];
9203 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9204 variable[6] = variable[7];
9205 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9206 variable[7] = variable[8];
9207 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9208 variable[8] = variable[9];
9209 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9210 variable[9] = variable[10];
9211 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9212 variable[10] = variable[11];
9213 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9214 variable[11] = variable[12];
9215 variable[12] = variable[11] /*nodearraylist1*/;
9216 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
9217 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction94___action, LOCATE_parser, 5105); nit_exit(1);}
9218 variable[13] = variable[10] /*nodearraylist2*/;
9219 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
9220 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction94___action, LOCATE_parser, 5107); nit_exit(1);}
9221 variable[14] = variable[9] /*nodearraylist3*/;
9222 variable[15] = TAG_Bool(( variable[14] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
9223 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction94___action, LOCATE_parser, 5109); nit_exit(1);}
9224 variable[16] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[13] /*tkwredefnode4*/, variable[14] /*tkwreadablenode5*/); /*new AReadAble*/
9225 variable[15] = variable[16];
9226 variable[16] = variable[8] /*nodearraylist4*/;
9227 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
9228 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction94___action, LOCATE_parser, 5115); nit_exit(1);}
9229 variable[17] = variable[7] /*nodearraylist5*/;
9230 variable[18] = TAG_Bool(( variable[17] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
9231 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction94___action, LOCATE_parser, 5117); nit_exit(1);}
9232 variable[19] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[16] /*tkwredefnode7*/, variable[17] /*tkwwritablenode8*/); /*new AWriteAble*/
9233 variable[18] = variable[19];
9234 variable[19] = variable[6] /*nodearraylist6*/;
9235 variable[20] = TAG_Bool(( variable[19] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[19] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
9236 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction94___action, LOCATE_parser, 5123); nit_exit(1);}
9237 variable[20] = variable[5] /*nodearraylist7*/;
9238 variable[21] = TAG_Bool(( variable[20] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[20] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
9239 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction94___action, LOCATE_parser, 5125); nit_exit(1);}
9240 variable[21] = variable[4] /*nodearraylist8*/;
9241 variable[22] = TAG_Bool(( variable[21] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[21] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
9242 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction94___action, LOCATE_parser, 5127); nit_exit(1);}
9243 variable[23] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[12] /*pdocnode2*/, variable[15] /*pablenode3*/, variable[18] /*pablenode6*/, NIT_NULL /*null*/, variable[19] /*pvisibilitynode10*/, variable[20] /*tkwattrnode11*/, variable[21] /*tattridnode12*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
9244 variable[22] = variable[23];
9245 variable[3] = variable[22] /*ppropdefnode1*/ /*node_list=*/;
9246 variable[23] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
9247 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[23], variable[3] /*node_list*/) /*Parser::push*/;
9248 return_label220: while(false);
9249 tracehead = trace.prev;
9250 return;
9251 }
9252 void parser___ReduceAction94___init(val_t self, int* init_table) {
9253 struct trace_t trace = {NULL, NULL, 5142, LOCATE_parser___ReduceAction94___init};
9254 val_t variable[2];
9255 void **closurevariable = NULL;
9256 trace.prev = tracehead; tracehead = &trace;
9257 trace.file = LOCATE_parser;
9258 variable[0] = self;
9259 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction94].i]) return;
9260 return_label221: while(false);
9261 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction94].i] = 1;
9262 tracehead = trace.prev;
9263 return;
9264 }
9265 void parser___ReduceAction95___action(val_t self, val_t param0) {
9266 struct trace_t trace = {NULL, NULL, 5146, LOCATE_parser___ReduceAction95___action};
9267 val_t variable[19];
9268 void **closurevariable = NULL;
9269 trace.prev = tracehead; tracehead = &trace;
9270 trace.file = LOCATE_parser;
9271 variable[0] = self;
9272 variable[1] = param0;
9273 variable[3] = NIT_NULL /*null*/;
9274 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9275 variable[4] = variable[5];
9276 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9277 variable[5] = variable[6];
9278 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9279 variable[6] = variable[7];
9280 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9281 variable[7] = variable[8];
9282 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9283 variable[8] = variable[9];
9284 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9285 variable[9] = variable[10];
9286 variable[10] = variable[9] /*nodearraylist1*/;
9287 variable[11] = TAG_Bool(( variable[10] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
9288 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction95___action, LOCATE_parser, 5156); nit_exit(1);}
9289 variable[11] = variable[8] /*nodearraylist2*/;
9290 variable[12] = TAG_Bool(( variable[11] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
9291 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction95___action, LOCATE_parser, 5158); nit_exit(1);}
9292 variable[12] = variable[7] /*nodearraylist3*/;
9293 variable[13] = TAG_Bool(( variable[12] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
9294 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction95___action, LOCATE_parser, 5160); nit_exit(1);}
9295 variable[14] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[11] /*tkwredefnode4*/, variable[12] /*tkwreadablenode5*/); /*new AReadAble*/
9296 variable[13] = variable[14];
9297 variable[14] = variable[6] /*nodearraylist4*/;
9298 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
9299 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction95___action, LOCATE_parser, 5166); nit_exit(1);}
9300 variable[15] = variable[5] /*nodearraylist5*/;
9301 variable[16] = TAG_Bool(( variable[15] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
9302 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction95___action, LOCATE_parser, 5168); nit_exit(1);}
9303 variable[16] = variable[4] /*nodearraylist6*/;
9304 variable[17] = TAG_Bool(( variable[16] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[16] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
9305 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction95___action, LOCATE_parser, 5170); nit_exit(1);}
9306 variable[18] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[10] /*pdocnode2*/, variable[13] /*pablenode3*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable[14] /*pvisibilitynode8*/, variable[15] /*tkwattrnode9*/, variable[16] /*tattridnode10*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
9307 variable[17] = variable[18];
9308 variable[3] = variable[17] /*ppropdefnode1*/ /*node_list=*/;
9309 variable[18] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
9310 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
9311 return_label222: while(false);
9312 tracehead = trace.prev;
9313 return;
9314 }
9315 void parser___ReduceAction95___init(val_t self, int* init_table) {
9316 struct trace_t trace = {NULL, NULL, 5185, LOCATE_parser___ReduceAction95___init};
9317 val_t variable[2];
9318 void **closurevariable = NULL;
9319 trace.prev = tracehead; tracehead = &trace;
9320 trace.file = LOCATE_parser;
9321 variable[0] = self;
9322 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction95].i]) return;
9323 return_label223: while(false);
9324 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction95].i] = 1;
9325 tracehead = trace.prev;
9326 return;
9327 }
9328 void parser___ReduceAction96___action(val_t self, val_t param0) {
9329 struct trace_t trace = {NULL, NULL, 5189, LOCATE_parser___ReduceAction96___action};
9330 val_t variable[17];
9331 void **closurevariable = NULL;
9332 trace.prev = tracehead; tracehead = &trace;
9333 trace.file = LOCATE_parser;
9334 variable[0] = self;
9335 variable[1] = param0;
9336 variable[3] = NIT_NULL /*null*/;
9337 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9338 variable[4] = variable[5];
9339 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9340 variable[5] = variable[6];
9341 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9342 variable[6] = variable[7];
9343 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9344 variable[7] = variable[8];
9345 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9346 variable[8] = variable[9];
9347 variable[9] = variable[8] /*nodearraylist1*/;
9348 variable[10] = TAG_Bool(( variable[9] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
9349 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction96___action, LOCATE_parser, 5198); nit_exit(1);}
9350 variable[10] = variable[7] /*nodearraylist2*/;
9351 variable[11] = TAG_Bool(( variable[10] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[10] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
9352 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction96___action, LOCATE_parser, 5200); nit_exit(1);}
9353 variable[12] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[10] /*tkwwritablenode6*/); /*new AWriteAble*/
9354 variable[11] = variable[12];
9355 variable[12] = variable[6] /*nodearraylist3*/;
9356 variable[13] = TAG_Bool(( variable[12] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[12] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
9357 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction96___action, LOCATE_parser, 5206); nit_exit(1);}
9358 variable[13] = variable[5] /*nodearraylist4*/;
9359 variable[14] = TAG_Bool(( variable[13] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
9360 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction96___action, LOCATE_parser, 5208); nit_exit(1);}
9361 variable[14] = variable[4] /*nodearraylist5*/;
9362 variable[15] = TAG_Bool(( variable[14] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[14] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
9363 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction96___action, LOCATE_parser, 5210); nit_exit(1);}
9364 variable[16] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[9] /*pdocnode2*/, NIT_NULL /*null*/, variable[11] /*pablenode4*/, NIT_NULL /*null*/, variable[12] /*pvisibilitynode8*/, variable[13] /*tkwattrnode9*/, variable[14] /*tattridnode10*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
9365 variable[15] = variable[16];
9366 variable[3] = variable[15] /*ppropdefnode1*/ /*node_list=*/;
9367 variable[16] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
9368 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[16], variable[3] /*node_list*/) /*Parser::push*/;
9369 return_label224: while(false);
9370 tracehead = trace.prev;
9371 return;
9372 }
9373 void parser___ReduceAction96___init(val_t self, int* init_table) {
9374 struct trace_t trace = {NULL, NULL, 5225, LOCATE_parser___ReduceAction96___init};
9375 val_t variable[2];
9376 void **closurevariable = NULL;
9377 trace.prev = tracehead; tracehead = &trace;
9378 trace.file = LOCATE_parser;
9379 variable[0] = self;
9380 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction96].i]) return;
9381 return_label225: while(false);
9382 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction96].i] = 1;
9383 tracehead = trace.prev;
9384 return;
9385 }
9386 void parser___ReduceAction97___action(val_t self, val_t param0) {
9387 struct trace_t trace = {NULL, NULL, 5229, LOCATE_parser___ReduceAction97___action};
9388 val_t variable[19];
9389 void **closurevariable = NULL;
9390 trace.prev = tracehead; tracehead = &trace;
9391 trace.file = LOCATE_parser;
9392 variable[0] = self;
9393 variable[1] = param0;
9394 variable[3] = NIT_NULL /*null*/;
9395 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9396 variable[4] = variable[5];
9397 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9398 variable[5] = variable[6];
9399 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9400 variable[6] = variable[7];
9401 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9402 variable[7] = variable[8];
9403 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9404 variable[8] = variable[9];
9405 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9406 variable[9] = variable[10];
9407 variable[10] = variable[9] /*nodearraylist1*/;
9408 variable[11] = TAG_Bool(( variable[10] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
9409 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction97___action, LOCATE_parser, 5239); nit_exit(1);}
9410 variable[11] = variable[8] /*nodearraylist2*/;
9411 variable[12] = TAG_Bool(( variable[11] /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
9412 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction97___action, LOCATE_parser, 5241); nit_exit(1);}
9413 variable[12] = variable[7] /*nodearraylist3*/;
9414 variable[13] = TAG_Bool(( variable[12] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
9415 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction97___action, LOCATE_parser, 5243); nit_exit(1);}
9416 variable[14] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[11] /*tkwredefnode5*/, variable[12] /*tkwwritablenode6*/); /*new AWriteAble*/
9417 variable[13] = variable[14];
9418 variable[14] = variable[6] /*nodearraylist4*/;
9419 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
9420 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction97___action, LOCATE_parser, 5249); nit_exit(1);}
9421 variable[15] = variable[5] /*nodearraylist5*/;
9422 variable[16] = TAG_Bool(( variable[15] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
9423 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction97___action, LOCATE_parser, 5251); nit_exit(1);}
9424 variable[16] = variable[4] /*nodearraylist6*/;
9425 variable[17] = TAG_Bool(( variable[16] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[16] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
9426 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction97___action, LOCATE_parser, 5253); nit_exit(1);}
9427 variable[18] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[10] /*pdocnode2*/, NIT_NULL /*null*/, variable[13] /*pablenode4*/, NIT_NULL /*null*/, variable[14] /*pvisibilitynode8*/, variable[15] /*tkwattrnode9*/, variable[16] /*tattridnode10*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
9428 variable[17] = variable[18];
9429 variable[3] = variable[17] /*ppropdefnode1*/ /*node_list=*/;
9430 variable[18] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
9431 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
9432 return_label226: while(false);
9433 tracehead = trace.prev;
9434 return;
9435 }
9436 void parser___ReduceAction97___init(val_t self, int* init_table) {
9437 struct trace_t trace = {NULL, NULL, 5268, LOCATE_parser___ReduceAction97___init};
9438 val_t variable[2];
9439 void **closurevariable = NULL;
9440 trace.prev = tracehead; tracehead = &trace;
9441 trace.file = LOCATE_parser;
9442 variable[0] = self;
9443 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction97].i]) return;
9444 return_label227: while(false);
9445 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction97].i] = 1;
9446 tracehead = trace.prev;
9447 return;
9448 }
9449 void parser___ReduceAction98___action(val_t self, val_t param0) {
9450 struct trace_t trace = {NULL, NULL, 5272, LOCATE_parser___ReduceAction98___action};
9451 val_t variable[14];
9452 void **closurevariable = NULL;
9453 trace.prev = tracehead; tracehead = &trace;
9454 trace.file = LOCATE_parser;
9455 variable[0] = self;
9456 variable[1] = param0;
9457 variable[3] = NIT_NULL /*null*/;
9458 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9459 variable[4] = variable[5];
9460 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9461 variable[5] = variable[6];
9462 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9463 variable[6] = variable[7];
9464 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9465 variable[7] = variable[8];
9466 variable[8] = variable[7] /*nodearraylist1*/;
9467 variable[9] = TAG_Bool(( variable[8] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
9468 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction98___action, LOCATE_parser, 5280); nit_exit(1);}
9469 variable[9] = variable[6] /*nodearraylist2*/;
9470 variable[10] = TAG_Bool(( variable[9] /*pvisibilitynode6*/==NIT_NULL) || VAL_ISA( variable[9] /*pvisibilitynode6*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
9471 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction98___action, LOCATE_parser, 5282); nit_exit(1);}
9472 variable[10] = variable[5] /*nodearraylist3*/;
9473 variable[11] = TAG_Bool(( variable[10] /*tkwattrnode7*/==NIT_NULL) || VAL_ISA( variable[10] /*tkwattrnode7*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
9474 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction98___action, LOCATE_parser, 5284); nit_exit(1);}
9475 variable[11] = variable[4] /*nodearraylist4*/;
9476 variable[12] = TAG_Bool(( variable[11] /*tattridnode8*/==NIT_NULL) || VAL_ISA( variable[11] /*tattridnode8*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
9477 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction98___action, LOCATE_parser, 5286); nit_exit(1);}
9478 variable[13] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[8] /*pdocnode2*/, NIT_NULL /*null*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable[9] /*pvisibilitynode6*/, variable[10] /*tkwattrnode7*/, variable[11] /*tattridnode8*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
9479 variable[12] = variable[13];
9480 variable[3] = variable[12] /*ppropdefnode1*/ /*node_list=*/;
9481 variable[13] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
9482 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
9483 return_label228: while(false);
9484 tracehead = trace.prev;
9485 return;
9486 }
9487 void parser___ReduceAction98___init(val_t self, int* init_table) {
9488 struct trace_t trace = {NULL, NULL, 5301, LOCATE_parser___ReduceAction98___init};
9489 val_t variable[2];
9490 void **closurevariable = NULL;
9491 trace.prev = tracehead; tracehead = &trace;
9492 trace.file = LOCATE_parser;
9493 variable[0] = self;
9494 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction98].i]) return;
9495 return_label229: while(false);
9496 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction98].i] = 1;
9497 tracehead = trace.prev;
9498 return;
9499 }
9500 void parser___ReduceAction99___action(val_t self, val_t param0) {
9501 struct trace_t trace = {NULL, NULL, 5305, LOCATE_parser___ReduceAction99___action};
9502 val_t variable[22];
9503 void **closurevariable = NULL;
9504 trace.prev = tracehead; tracehead = &trace;
9505 trace.file = LOCATE_parser;
9506 variable[0] = self;
9507 variable[1] = param0;
9508 variable[3] = NIT_NULL /*null*/;
9509 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9510 variable[4] = variable[5];
9511 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9512 variable[5] = variable[6];
9513 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9514 variable[6] = variable[7];
9515 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9516 variable[7] = variable[8];
9517 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9518 variable[8] = variable[9];
9519 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9520 variable[9] = variable[10];
9521 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9522 variable[10] = variable[11];
9523 variable[11] = variable[10] /*nodearraylist1*/;
9524 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
9525 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction99___action, LOCATE_parser, 5316); nit_exit(1);}
9526 variable[12] = variable[9] /*nodearraylist2*/;
9527 variable[13] = TAG_Bool(( variable[12] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
9528 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction99___action, LOCATE_parser, 5318); nit_exit(1);}
9529 variable[14] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[12] /*tkwreadablenode5*/); /*new AReadAble*/
9530 variable[13] = variable[14];
9531 variable[14] = variable[8] /*nodearraylist3*/;
9532 variable[15] = TAG_Bool(( variable[14] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
9533 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction99___action, LOCATE_parser, 5324); nit_exit(1);}
9534 variable[16] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[14] /*tkwwritablenode8*/); /*new AWriteAble*/
9535 variable[15] = variable[16];
9536 variable[16] = variable[7] /*nodearraylist4*/;
9537 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
9538 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction99___action, LOCATE_parser, 5330); nit_exit(1);}
9539 variable[17] = variable[6] /*nodearraylist5*/;
9540 variable[18] = TAG_Bool(( variable[17] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[17] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
9541 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction99___action, LOCATE_parser, 5332); nit_exit(1);}
9542 variable[18] = variable[5] /*nodearraylist6*/;
9543 variable[19] = TAG_Bool(( variable[18] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
9544 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction99___action, LOCATE_parser, 5334); nit_exit(1);}
9545 variable[19] = variable[4] /*nodearraylist7*/;
9546 variable[20] = TAG_Bool(( variable[19] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[19] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
9547 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction99___action, LOCATE_parser, 5336); nit_exit(1);}
9548 variable[21] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[11] /*pdocnode2*/, variable[13] /*pablenode3*/, variable[15] /*pablenode6*/, variable[16] /*tkwredefnode9*/, variable[17] /*pvisibilitynode10*/, variable[18] /*tkwattrnode11*/, variable[19] /*tattridnode12*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
9549 variable[20] = variable[21];
9550 variable[3] = variable[20] /*ppropdefnode1*/ /*node_list=*/;
9551 variable[21] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
9552 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[21], variable[3] /*node_list*/) /*Parser::push*/;
9553 return_label230: while(false);
9554 tracehead = trace.prev;
9555 return;
9556 }
9557 void parser___ReduceAction99___init(val_t self, int* init_table) {
9558 struct trace_t trace = {NULL, NULL, 5351, LOCATE_parser___ReduceAction99___init};
9559 val_t variable[2];
9560 void **closurevariable = NULL;
9561 trace.prev = tracehead; tracehead = &trace;
9562 trace.file = LOCATE_parser;
9563 variable[0] = self;
9564 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction99].i]) return;
9565 return_label231: while(false);
9566 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction99].i] = 1;
9567 tracehead = trace.prev;
9568 return;
9569 }
9570 void parser___ReduceAction100___action(val_t self, val_t param0) {
9571 struct trace_t trace = {NULL, NULL, 5355, LOCATE_parser___ReduceAction100___action};
9572 val_t variable[24];
9573 void **closurevariable = NULL;
9574 trace.prev = tracehead; tracehead = &trace;
9575 trace.file = LOCATE_parser;
9576 variable[0] = self;
9577 variable[1] = param0;
9578 variable[3] = NIT_NULL /*null*/;
9579 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9580 variable[4] = variable[5];
9581 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9582 variable[5] = variable[6];
9583 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9584 variable[6] = variable[7];
9585 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9586 variable[7] = variable[8];
9587 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9588 variable[8] = variable[9];
9589 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9590 variable[9] = variable[10];
9591 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9592 variable[10] = variable[11];
9593 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9594 variable[11] = variable[12];
9595 variable[12] = variable[11] /*nodearraylist1*/;
9596 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
9597 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction100___action, LOCATE_parser, 5367); nit_exit(1);}
9598 variable[13] = variable[10] /*nodearraylist2*/;
9599 variable[14] = TAG_Bool(( variable[13] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
9600 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction100___action, LOCATE_parser, 5369); nit_exit(1);}
9601 variable[15] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[13] /*tkwreadablenode5*/); /*new AReadAble*/
9602 variable[14] = variable[15];
9603 variable[15] = variable[9] /*nodearraylist3*/;
9604 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
9605 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction100___action, LOCATE_parser, 5375); nit_exit(1);}
9606 variable[16] = variable[8] /*nodearraylist4*/;
9607 variable[17] = TAG_Bool(( variable[16] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
9608 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction100___action, LOCATE_parser, 5377); nit_exit(1);}
9609 variable[18] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[15] /*tkwredefnode7*/, variable[16] /*tkwwritablenode8*/); /*new AWriteAble*/
9610 variable[17] = variable[18];
9611 variable[18] = variable[7] /*nodearraylist5*/;
9612 variable[19] = TAG_Bool(( variable[18] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
9613 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction100___action, LOCATE_parser, 5383); nit_exit(1);}
9614 variable[19] = variable[6] /*nodearraylist6*/;
9615 variable[20] = TAG_Bool(( variable[19] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[19] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
9616 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction100___action, LOCATE_parser, 5385); nit_exit(1);}
9617 variable[20] = variable[5] /*nodearraylist7*/;
9618 variable[21] = TAG_Bool(( variable[20] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[20] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
9619 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction100___action, LOCATE_parser, 5387); nit_exit(1);}
9620 variable[21] = variable[4] /*nodearraylist8*/;
9621 variable[22] = TAG_Bool(( variable[21] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[21] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
9622 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction100___action, LOCATE_parser, 5389); nit_exit(1);}
9623 variable[23] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[12] /*pdocnode2*/, variable[14] /*pablenode3*/, variable[17] /*pablenode6*/, variable[18] /*tkwredefnode9*/, variable[19] /*pvisibilitynode10*/, variable[20] /*tkwattrnode11*/, variable[21] /*tattridnode12*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
9624 variable[22] = variable[23];
9625 variable[3] = variable[22] /*ppropdefnode1*/ /*node_list=*/;
9626 variable[23] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
9627 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[23], variable[3] /*node_list*/) /*Parser::push*/;
9628 return_label232: while(false);
9629 tracehead = trace.prev;
9630 return;
9631 }
9632 void parser___ReduceAction100___init(val_t self, int* init_table) {
9633 struct trace_t trace = {NULL, NULL, 5404, LOCATE_parser___ReduceAction100___init};
9634 val_t variable[2];
9635 void **closurevariable = NULL;
9636 trace.prev = tracehead; tracehead = &trace;
9637 trace.file = LOCATE_parser;
9638 variable[0] = self;
9639 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction100].i]) return;
9640 return_label233: while(false);
9641 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction100].i] = 1;
9642 tracehead = trace.prev;
9643 return;
9644 }
9645 void parser___ReduceAction101___action(val_t self, val_t param0) {
9646 struct trace_t trace = {NULL, NULL, 5408, LOCATE_parser___ReduceAction101___action};
9647 val_t variable[19];
9648 void **closurevariable = NULL;
9649 trace.prev = tracehead; tracehead = &trace;
9650 trace.file = LOCATE_parser;
9651 variable[0] = self;
9652 variable[1] = param0;
9653 variable[3] = NIT_NULL /*null*/;
9654 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9655 variable[4] = variable[5];
9656 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9657 variable[5] = variable[6];
9658 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9659 variable[6] = variable[7];
9660 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9661 variable[7] = variable[8];
9662 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9663 variable[8] = variable[9];
9664 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9665 variable[9] = variable[10];
9666 variable[10] = variable[9] /*nodearraylist1*/;
9667 variable[11] = TAG_Bool(( variable[10] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
9668 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction101___action, LOCATE_parser, 5418); nit_exit(1);}
9669 variable[11] = variable[8] /*nodearraylist2*/;
9670 variable[12] = TAG_Bool(( variable[11] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
9671 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction101___action, LOCATE_parser, 5420); nit_exit(1);}
9672 variable[13] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[11] /*tkwreadablenode5*/); /*new AReadAble*/
9673 variable[12] = variable[13];
9674 variable[13] = variable[7] /*nodearraylist3*/;
9675 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
9676 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction101___action, LOCATE_parser, 5426); nit_exit(1);}
9677 variable[14] = variable[6] /*nodearraylist4*/;
9678 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
9679 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction101___action, LOCATE_parser, 5428); nit_exit(1);}
9680 variable[15] = variable[5] /*nodearraylist5*/;
9681 variable[16] = TAG_Bool(( variable[15] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
9682 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction101___action, LOCATE_parser, 5430); nit_exit(1);}
9683 variable[16] = variable[4] /*nodearraylist6*/;
9684 variable[17] = TAG_Bool(( variable[16] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[16] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
9685 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction101___action, LOCATE_parser, 5432); nit_exit(1);}
9686 variable[18] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[10] /*pdocnode2*/, variable[12] /*pablenode3*/, NIT_NULL /*null*/, variable[13] /*tkwredefnode7*/, variable[14] /*pvisibilitynode8*/, variable[15] /*tkwattrnode9*/, variable[16] /*tattridnode10*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
9687 variable[17] = variable[18];
9688 variable[3] = variable[17] /*ppropdefnode1*/ /*node_list=*/;
9689 variable[18] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
9690 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
9691 return_label234: while(false);
9692 tracehead = trace.prev;
9693 return;
9694 }
9695 void parser___ReduceAction101___init(val_t self, int* init_table) {
9696 struct trace_t trace = {NULL, NULL, 5447, LOCATE_parser___ReduceAction101___init};
9697 val_t variable[2];
9698 void **closurevariable = NULL;
9699 trace.prev = tracehead; tracehead = &trace;
9700 trace.file = LOCATE_parser;
9701 variable[0] = self;
9702 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction101].i]) return;
9703 return_label235: while(false);
9704 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction101].i] = 1;
9705 tracehead = trace.prev;
9706 return;
9707 }
9708 void parser___ReduceAction102___action(val_t self, val_t param0) {
9709 struct trace_t trace = {NULL, NULL, 5451, LOCATE_parser___ReduceAction102___action};
9710 val_t variable[24];
9711 void **closurevariable = NULL;
9712 trace.prev = tracehead; tracehead = &trace;
9713 trace.file = LOCATE_parser;
9714 variable[0] = self;
9715 variable[1] = param0;
9716 variable[3] = NIT_NULL /*null*/;
9717 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9718 variable[4] = variable[5];
9719 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9720 variable[5] = variable[6];
9721 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9722 variable[6] = variable[7];
9723 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9724 variable[7] = variable[8];
9725 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9726 variable[8] = variable[9];
9727 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9728 variable[9] = variable[10];
9729 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9730 variable[10] = variable[11];
9731 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9732 variable[11] = variable[12];
9733 variable[12] = variable[11] /*nodearraylist1*/;
9734 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
9735 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction102___action, LOCATE_parser, 5463); nit_exit(1);}
9736 variable[13] = variable[10] /*nodearraylist2*/;
9737 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
9738 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction102___action, LOCATE_parser, 5465); nit_exit(1);}
9739 variable[14] = variable[9] /*nodearraylist3*/;
9740 variable[15] = TAG_Bool(( variable[14] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
9741 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction102___action, LOCATE_parser, 5467); nit_exit(1);}
9742 variable[16] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[13] /*tkwredefnode4*/, variable[14] /*tkwreadablenode5*/); /*new AReadAble*/
9743 variable[15] = variable[16];
9744 variable[16] = variable[8] /*nodearraylist4*/;
9745 variable[17] = TAG_Bool(( variable[16] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
9746 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction102___action, LOCATE_parser, 5473); nit_exit(1);}
9747 variable[18] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[16] /*tkwwritablenode8*/); /*new AWriteAble*/
9748 variable[17] = variable[18];
9749 variable[18] = variable[7] /*nodearraylist5*/;
9750 variable[19] = TAG_Bool(( variable[18] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
9751 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction102___action, LOCATE_parser, 5479); nit_exit(1);}
9752 variable[19] = variable[6] /*nodearraylist6*/;
9753 variable[20] = TAG_Bool(( variable[19] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[19] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
9754 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction102___action, LOCATE_parser, 5481); nit_exit(1);}
9755 variable[20] = variable[5] /*nodearraylist7*/;
9756 variable[21] = TAG_Bool(( variable[20] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[20] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
9757 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction102___action, LOCATE_parser, 5483); nit_exit(1);}
9758 variable[21] = variable[4] /*nodearraylist8*/;
9759 variable[22] = TAG_Bool(( variable[21] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[21] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
9760 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction102___action, LOCATE_parser, 5485); nit_exit(1);}
9761 variable[23] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[12] /*pdocnode2*/, variable[15] /*pablenode3*/, variable[17] /*pablenode6*/, variable[18] /*tkwredefnode9*/, variable[19] /*pvisibilitynode10*/, variable[20] /*tkwattrnode11*/, variable[21] /*tattridnode12*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
9762 variable[22] = variable[23];
9763 variable[3] = variable[22] /*ppropdefnode1*/ /*node_list=*/;
9764 variable[23] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
9765 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[23], variable[3] /*node_list*/) /*Parser::push*/;
9766 return_label236: while(false);
9767 tracehead = trace.prev;
9768 return;
9769 }
9770 void parser___ReduceAction102___init(val_t self, int* init_table) {
9771 struct trace_t trace = {NULL, NULL, 5500, LOCATE_parser___ReduceAction102___init};
9772 val_t variable[2];
9773 void **closurevariable = NULL;
9774 trace.prev = tracehead; tracehead = &trace;
9775 trace.file = LOCATE_parser;
9776 variable[0] = self;
9777 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction102].i]) return;
9778 return_label237: while(false);
9779 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction102].i] = 1;
9780 tracehead = trace.prev;
9781 return;
9782 }
9783 void parser___ReduceAction103___action(val_t self, val_t param0) {
9784 struct trace_t trace = {NULL, NULL, 5504, LOCATE_parser___ReduceAction103___action};
9785 val_t variable[26];
9786 void **closurevariable = NULL;
9787 trace.prev = tracehead; tracehead = &trace;
9788 trace.file = LOCATE_parser;
9789 variable[0] = self;
9790 variable[1] = param0;
9791 variable[3] = NIT_NULL /*null*/;
9792 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9793 variable[4] = variable[5];
9794 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9795 variable[5] = variable[6];
9796 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9797 variable[6] = variable[7];
9798 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9799 variable[7] = variable[8];
9800 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9801 variable[8] = variable[9];
9802 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9803 variable[9] = variable[10];
9804 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9805 variable[10] = variable[11];
9806 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9807 variable[11] = variable[12];
9808 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9809 variable[12] = variable[13];
9810 variable[13] = variable[12] /*nodearraylist1*/;
9811 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
9812 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction103___action, LOCATE_parser, 5517); nit_exit(1);}
9813 variable[14] = variable[11] /*nodearraylist2*/;
9814 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
9815 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction103___action, LOCATE_parser, 5519); nit_exit(1);}
9816 variable[15] = variable[10] /*nodearraylist3*/;
9817 variable[16] = TAG_Bool(( variable[15] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
9818 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction103___action, LOCATE_parser, 5521); nit_exit(1);}
9819 variable[17] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[14] /*tkwredefnode4*/, variable[15] /*tkwreadablenode5*/); /*new AReadAble*/
9820 variable[16] = variable[17];
9821 variable[17] = variable[9] /*nodearraylist4*/;
9822 variable[18] = TAG_Bool(( variable[17] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
9823 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction103___action, LOCATE_parser, 5527); nit_exit(1);}
9824 variable[18] = variable[8] /*nodearraylist5*/;
9825 variable[19] = TAG_Bool(( variable[18] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
9826 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction103___action, LOCATE_parser, 5529); nit_exit(1);}
9827 variable[20] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[17] /*tkwredefnode7*/, variable[18] /*tkwwritablenode8*/); /*new AWriteAble*/
9828 variable[19] = variable[20];
9829 variable[20] = variable[7] /*nodearraylist6*/;
9830 variable[21] = TAG_Bool(( variable[20] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[20] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
9831 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction103___action, LOCATE_parser, 5535); nit_exit(1);}
9832 variable[21] = variable[6] /*nodearraylist7*/;
9833 variable[22] = TAG_Bool(( variable[21] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[21] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
9834 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction103___action, LOCATE_parser, 5537); nit_exit(1);}
9835 variable[22] = variable[5] /*nodearraylist8*/;
9836 variable[23] = TAG_Bool(( variable[22] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[22] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
9837 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction103___action, LOCATE_parser, 5539); nit_exit(1);}
9838 variable[23] = variable[4] /*nodearraylist9*/;
9839 variable[24] = TAG_Bool(( variable[23] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[23] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
9840 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction103___action, LOCATE_parser, 5541); nit_exit(1);}
9841 variable[25] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[13] /*pdocnode2*/, variable[16] /*pablenode3*/, variable[19] /*pablenode6*/, variable[20] /*tkwredefnode9*/, variable[21] /*pvisibilitynode10*/, variable[22] /*tkwattrnode11*/, variable[23] /*tattridnode12*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
9842 variable[24] = variable[25];
9843 variable[3] = variable[24] /*ppropdefnode1*/ /*node_list=*/;
9844 variable[25] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
9845 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[25], variable[3] /*node_list*/) /*Parser::push*/;
9846 return_label238: while(false);
9847 tracehead = trace.prev;
9848 return;
9849 }
9850 void parser___ReduceAction103___init(val_t self, int* init_table) {
9851 struct trace_t trace = {NULL, NULL, 5556, LOCATE_parser___ReduceAction103___init};
9852 val_t variable[2];
9853 void **closurevariable = NULL;
9854 trace.prev = tracehead; tracehead = &trace;
9855 trace.file = LOCATE_parser;
9856 variable[0] = self;
9857 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction103].i]) return;
9858 return_label239: while(false);
9859 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction103].i] = 1;
9860 tracehead = trace.prev;
9861 return;
9862 }
9863 void parser___ReduceAction104___action(val_t self, val_t param0) {
9864 struct trace_t trace = {NULL, NULL, 5560, LOCATE_parser___ReduceAction104___action};
9865 val_t variable[21];
9866 void **closurevariable = NULL;
9867 trace.prev = tracehead; tracehead = &trace;
9868 trace.file = LOCATE_parser;
9869 variable[0] = self;
9870 variable[1] = param0;
9871 variable[3] = NIT_NULL /*null*/;
9872 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9873 variable[4] = variable[5];
9874 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9875 variable[5] = variable[6];
9876 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9877 variable[6] = variable[7];
9878 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9879 variable[7] = variable[8];
9880 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9881 variable[8] = variable[9];
9882 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9883 variable[9] = variable[10];
9884 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9885 variable[10] = variable[11];
9886 variable[11] = variable[10] /*nodearraylist1*/;
9887 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
9888 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction104___action, LOCATE_parser, 5571); nit_exit(1);}
9889 variable[12] = variable[9] /*nodearraylist2*/;
9890 variable[13] = TAG_Bool(( variable[12] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
9891 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction104___action, LOCATE_parser, 5573); nit_exit(1);}
9892 variable[13] = variable[8] /*nodearraylist3*/;
9893 variable[14] = TAG_Bool(( variable[13] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
9894 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction104___action, LOCATE_parser, 5575); nit_exit(1);}
9895 variable[15] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[12] /*tkwredefnode4*/, variable[13] /*tkwreadablenode5*/); /*new AReadAble*/
9896 variable[14] = variable[15];
9897 variable[15] = variable[7] /*nodearraylist4*/;
9898 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
9899 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction104___action, LOCATE_parser, 5581); nit_exit(1);}
9900 variable[16] = variable[6] /*nodearraylist5*/;
9901 variable[17] = TAG_Bool(( variable[16] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[16] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
9902 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction104___action, LOCATE_parser, 5583); nit_exit(1);}
9903 variable[17] = variable[5] /*nodearraylist6*/;
9904 variable[18] = TAG_Bool(( variable[17] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
9905 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction104___action, LOCATE_parser, 5585); nit_exit(1);}
9906 variable[18] = variable[4] /*nodearraylist7*/;
9907 variable[19] = TAG_Bool(( variable[18] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[18] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
9908 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction104___action, LOCATE_parser, 5587); nit_exit(1);}
9909 variable[20] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[11] /*pdocnode2*/, variable[14] /*pablenode3*/, NIT_NULL /*null*/, variable[15] /*tkwredefnode7*/, variable[16] /*pvisibilitynode8*/, variable[17] /*tkwattrnode9*/, variable[18] /*tattridnode10*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
9910 variable[19] = variable[20];
9911 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
9912 variable[20] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
9913 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
9914 return_label240: while(false);
9915 tracehead = trace.prev;
9916 return;
9917 }
9918 void parser___ReduceAction104___init(val_t self, int* init_table) {
9919 struct trace_t trace = {NULL, NULL, 5602, LOCATE_parser___ReduceAction104___init};
9920 val_t variable[2];
9921 void **closurevariable = NULL;
9922 trace.prev = tracehead; tracehead = &trace;
9923 trace.file = LOCATE_parser;
9924 variable[0] = self;
9925 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction104].i]) return;
9926 return_label241: while(false);
9927 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction104].i] = 1;
9928 tracehead = trace.prev;
9929 return;
9930 }
9931 void parser___ReduceAction105___action(val_t self, val_t param0) {
9932 struct trace_t trace = {NULL, NULL, 5606, LOCATE_parser___ReduceAction105___action};
9933 val_t variable[19];
9934 void **closurevariable = NULL;
9935 trace.prev = tracehead; tracehead = &trace;
9936 trace.file = LOCATE_parser;
9937 variable[0] = self;
9938 variable[1] = param0;
9939 variable[3] = NIT_NULL /*null*/;
9940 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9941 variable[4] = variable[5];
9942 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9943 variable[5] = variable[6];
9944 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9945 variable[6] = variable[7];
9946 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9947 variable[7] = variable[8];
9948 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9949 variable[8] = variable[9];
9950 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
9951 variable[9] = variable[10];
9952 variable[10] = variable[9] /*nodearraylist1*/;
9953 variable[11] = TAG_Bool(( variable[10] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
9954 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction105___action, LOCATE_parser, 5616); nit_exit(1);}
9955 variable[11] = variable[8] /*nodearraylist2*/;
9956 variable[12] = TAG_Bool(( variable[11] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
9957 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction105___action, LOCATE_parser, 5618); nit_exit(1);}
9958 variable[13] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[11] /*tkwwritablenode6*/); /*new AWriteAble*/
9959 variable[12] = variable[13];
9960 variable[13] = variable[7] /*nodearraylist3*/;
9961 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
9962 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction105___action, LOCATE_parser, 5624); nit_exit(1);}
9963 variable[14] = variable[6] /*nodearraylist4*/;
9964 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
9965 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction105___action, LOCATE_parser, 5626); nit_exit(1);}
9966 variable[15] = variable[5] /*nodearraylist5*/;
9967 variable[16] = TAG_Bool(( variable[15] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
9968 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction105___action, LOCATE_parser, 5628); nit_exit(1);}
9969 variable[16] = variable[4] /*nodearraylist6*/;
9970 variable[17] = TAG_Bool(( variable[16] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[16] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
9971 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction105___action, LOCATE_parser, 5630); nit_exit(1);}
9972 variable[18] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[10] /*pdocnode2*/, NIT_NULL /*null*/, variable[12] /*pablenode4*/, variable[13] /*tkwredefnode7*/, variable[14] /*pvisibilitynode8*/, variable[15] /*tkwattrnode9*/, variable[16] /*tattridnode10*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
9973 variable[17] = variable[18];
9974 variable[3] = variable[17] /*ppropdefnode1*/ /*node_list=*/;
9975 variable[18] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
9976 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
9977 return_label242: while(false);
9978 tracehead = trace.prev;
9979 return;
9980 }
9981 void parser___ReduceAction105___init(val_t self, int* init_table) {
9982 struct trace_t trace = {NULL, NULL, 5645, LOCATE_parser___ReduceAction105___init};
9983 val_t variable[2];
9984 void **closurevariable = NULL;
9985 trace.prev = tracehead; tracehead = &trace;
9986 trace.file = LOCATE_parser;
9987 variable[0] = self;
9988 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction105].i]) return;
9989 return_label243: while(false);
9990 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction105].i] = 1;
9991 tracehead = trace.prev;
9992 return;
9993 }
9994 void parser___ReduceAction106___action(val_t self, val_t param0) {
9995 struct trace_t trace = {NULL, NULL, 5649, LOCATE_parser___ReduceAction106___action};
9996 val_t variable[21];
9997 void **closurevariable = NULL;
9998 trace.prev = tracehead; tracehead = &trace;
9999 trace.file = LOCATE_parser;
10000 variable[0] = self;
10001 variable[1] = param0;
10002 variable[3] = NIT_NULL /*null*/;
10003 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10004 variable[4] = variable[5];
10005 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10006 variable[5] = variable[6];
10007 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10008 variable[6] = variable[7];
10009 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10010 variable[7] = variable[8];
10011 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10012 variable[8] = variable[9];
10013 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10014 variable[9] = variable[10];
10015 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10016 variable[10] = variable[11];
10017 variable[11] = variable[10] /*nodearraylist1*/;
10018 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
10019 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction106___action, LOCATE_parser, 5660); nit_exit(1);}
10020 variable[12] = variable[9] /*nodearraylist2*/;
10021 variable[13] = TAG_Bool(( variable[12] /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
10022 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction106___action, LOCATE_parser, 5662); nit_exit(1);}
10023 variable[13] = variable[8] /*nodearraylist3*/;
10024 variable[14] = TAG_Bool(( variable[13] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
10025 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction106___action, LOCATE_parser, 5664); nit_exit(1);}
10026 variable[15] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[12] /*tkwredefnode5*/, variable[13] /*tkwwritablenode6*/); /*new AWriteAble*/
10027 variable[14] = variable[15];
10028 variable[15] = variable[7] /*nodearraylist4*/;
10029 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
10030 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction106___action, LOCATE_parser, 5670); nit_exit(1);}
10031 variable[16] = variable[6] /*nodearraylist5*/;
10032 variable[17] = TAG_Bool(( variable[16] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[16] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
10033 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction106___action, LOCATE_parser, 5672); nit_exit(1);}
10034 variable[17] = variable[5] /*nodearraylist6*/;
10035 variable[18] = TAG_Bool(( variable[17] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
10036 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction106___action, LOCATE_parser, 5674); nit_exit(1);}
10037 variable[18] = variable[4] /*nodearraylist7*/;
10038 variable[19] = TAG_Bool(( variable[18] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[18] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
10039 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction106___action, LOCATE_parser, 5676); nit_exit(1);}
10040 variable[20] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[11] /*pdocnode2*/, NIT_NULL /*null*/, variable[14] /*pablenode4*/, variable[15] /*tkwredefnode7*/, variable[16] /*pvisibilitynode8*/, variable[17] /*tkwattrnode9*/, variable[18] /*tattridnode10*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
10041 variable[19] = variable[20];
10042 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
10043 variable[20] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
10044 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
10045 return_label244: while(false);
10046 tracehead = trace.prev;
10047 return;
10048 }
10049 void parser___ReduceAction106___init(val_t self, int* init_table) {
10050 struct trace_t trace = {NULL, NULL, 5691, LOCATE_parser___ReduceAction106___init};
10051 val_t variable[2];
10052 void **closurevariable = NULL;
10053 trace.prev = tracehead; tracehead = &trace;
10054 trace.file = LOCATE_parser;
10055 variable[0] = self;
10056 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction106].i]) return;
10057 return_label245: while(false);
10058 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction106].i] = 1;
10059 tracehead = trace.prev;
10060 return;
10061 }
10062 void parser___ReduceAction107___action(val_t self, val_t param0) {
10063 struct trace_t trace = {NULL, NULL, 5695, LOCATE_parser___ReduceAction107___action};
10064 val_t variable[16];
10065 void **closurevariable = NULL;
10066 trace.prev = tracehead; tracehead = &trace;
10067 trace.file = LOCATE_parser;
10068 variable[0] = self;
10069 variable[1] = param0;
10070 variable[3] = NIT_NULL /*null*/;
10071 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10072 variable[4] = variable[5];
10073 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10074 variable[5] = variable[6];
10075 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10076 variable[6] = variable[7];
10077 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10078 variable[7] = variable[8];
10079 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10080 variable[8] = variable[9];
10081 variable[9] = variable[8] /*nodearraylist1*/;
10082 variable[10] = TAG_Bool(( variable[9] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
10083 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction107___action, LOCATE_parser, 5704); nit_exit(1);}
10084 variable[10] = variable[7] /*nodearraylist2*/;
10085 variable[11] = TAG_Bool(( variable[10] /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable[10] /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
10086 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction107___action, LOCATE_parser, 5706); nit_exit(1);}
10087 variable[11] = variable[6] /*nodearraylist3*/;
10088 variable[12] = TAG_Bool(( variable[11] /*pvisibilitynode6*/==NIT_NULL) || VAL_ISA( variable[11] /*pvisibilitynode6*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
10089 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction107___action, LOCATE_parser, 5708); nit_exit(1);}
10090 variable[12] = variable[5] /*nodearraylist4*/;
10091 variable[13] = TAG_Bool(( variable[12] /*tkwattrnode7*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwattrnode7*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
10092 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction107___action, LOCATE_parser, 5710); nit_exit(1);}
10093 variable[13] = variable[4] /*nodearraylist5*/;
10094 variable[14] = TAG_Bool(( variable[13] /*tattridnode8*/==NIT_NULL) || VAL_ISA( variable[13] /*tattridnode8*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
10095 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction107___action, LOCATE_parser, 5712); nit_exit(1);}
10096 variable[15] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[9] /*pdocnode2*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable[10] /*tkwredefnode5*/, variable[11] /*pvisibilitynode6*/, variable[12] /*tkwattrnode7*/, variable[13] /*tattridnode8*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
10097 variable[14] = variable[15];
10098 variable[3] = variable[14] /*ppropdefnode1*/ /*node_list=*/;
10099 variable[15] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
10100 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
10101 return_label246: while(false);
10102 tracehead = trace.prev;
10103 return;
10104 }
10105 void parser___ReduceAction107___init(val_t self, int* init_table) {
10106 struct trace_t trace = {NULL, NULL, 5727, LOCATE_parser___ReduceAction107___init};
10107 val_t variable[2];
10108 void **closurevariable = NULL;
10109 trace.prev = tracehead; tracehead = &trace;
10110 trace.file = LOCATE_parser;
10111 variable[0] = self;
10112 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction107].i]) return;
10113 return_label247: while(false);
10114 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction107].i] = 1;
10115 tracehead = trace.prev;
10116 return;
10117 }
10118 void parser___ReduceAction108___action(val_t self, val_t param0) {
10119 struct trace_t trace = {NULL, NULL, 5731, LOCATE_parser___ReduceAction108___action};
10120 val_t variable[22];
10121 void **closurevariable = NULL;
10122 trace.prev = tracehead; tracehead = &trace;
10123 trace.file = LOCATE_parser;
10124 variable[0] = self;
10125 variable[1] = param0;
10126 variable[3] = NIT_NULL /*null*/;
10127 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10128 variable[4] = variable[5];
10129 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10130 variable[5] = variable[6];
10131 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10132 variable[6] = variable[7];
10133 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10134 variable[7] = variable[8];
10135 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10136 variable[8] = variable[9];
10137 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10138 variable[9] = variable[10];
10139 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10140 variable[10] = variable[11];
10141 variable[11] = variable[10] /*nodearraylist1*/;
10142 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
10143 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction108___action, LOCATE_parser, 5742); nit_exit(1);}
10144 variable[12] = variable[9] /*nodearraylist2*/;
10145 variable[13] = TAG_Bool(( variable[12] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
10146 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction108___action, LOCATE_parser, 5744); nit_exit(1);}
10147 variable[14] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[12] /*tkwreadablenode5*/); /*new AReadAble*/
10148 variable[13] = variable[14];
10149 variable[14] = variable[8] /*nodearraylist3*/;
10150 variable[15] = TAG_Bool(( variable[14] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
10151 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction108___action, LOCATE_parser, 5750); nit_exit(1);}
10152 variable[16] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[14] /*tkwwritablenode8*/); /*new AWriteAble*/
10153 variable[15] = variable[16];
10154 variable[16] = variable[7] /*nodearraylist4*/;
10155 variable[17] = TAG_Bool(( variable[16] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[16] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
10156 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction108___action, LOCATE_parser, 5756); nit_exit(1);}
10157 variable[17] = variable[6] /*nodearraylist5*/;
10158 variable[18] = TAG_Bool(( variable[17] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
10159 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction108___action, LOCATE_parser, 5758); nit_exit(1);}
10160 variable[18] = variable[5] /*nodearraylist6*/;
10161 variable[19] = TAG_Bool(( variable[18] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[18] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
10162 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction108___action, LOCATE_parser, 5760); nit_exit(1);}
10163 variable[19] = variable[4] /*nodearraylist7*/;
10164 variable[20] = TAG_Bool(( variable[19] /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable[19] /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
10165 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction108___action, LOCATE_parser, 5762); nit_exit(1);}
10166 variable[21] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[11] /*pdocnode2*/, variable[13] /*pablenode3*/, variable[15] /*pablenode6*/, NIT_NULL /*null*/, variable[16] /*pvisibilitynode10*/, variable[17] /*tkwattrnode11*/, variable[18] /*tattridnode12*/, variable[19] /*ptypenode13*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
10167 variable[20] = variable[21];
10168 variable[3] = variable[20] /*ppropdefnode1*/ /*node_list=*/;
10169 variable[21] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
10170 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[21], variable[3] /*node_list*/) /*Parser::push*/;
10171 return_label248: while(false);
10172 tracehead = trace.prev;
10173 return;
10174 }
10175 void parser___ReduceAction108___init(val_t self, int* init_table) {
10176 struct trace_t trace = {NULL, NULL, 5777, LOCATE_parser___ReduceAction108___init};
10177 val_t variable[2];
10178 void **closurevariable = NULL;
10179 trace.prev = tracehead; tracehead = &trace;
10180 trace.file = LOCATE_parser;
10181 variable[0] = self;
10182 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction108].i]) return;
10183 return_label249: while(false);
10184 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction108].i] = 1;
10185 tracehead = trace.prev;
10186 return;
10187 }
10188 void parser___ReduceAction109___action(val_t self, val_t param0) {
10189 struct trace_t trace = {NULL, NULL, 5781, LOCATE_parser___ReduceAction109___action};
10190 val_t variable[24];
10191 void **closurevariable = NULL;
10192 trace.prev = tracehead; tracehead = &trace;
10193 trace.file = LOCATE_parser;
10194 variable[0] = self;
10195 variable[1] = param0;
10196 variable[3] = NIT_NULL /*null*/;
10197 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10198 variable[4] = variable[5];
10199 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10200 variable[5] = variable[6];
10201 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10202 variable[6] = variable[7];
10203 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10204 variable[7] = variable[8];
10205 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10206 variable[8] = variable[9];
10207 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10208 variable[9] = variable[10];
10209 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10210 variable[10] = variable[11];
10211 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10212 variable[11] = variable[12];
10213 variable[12] = variable[11] /*nodearraylist1*/;
10214 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
10215 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction109___action, LOCATE_parser, 5793); nit_exit(1);}
10216 variable[13] = variable[10] /*nodearraylist2*/;
10217 variable[14] = TAG_Bool(( variable[13] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
10218 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction109___action, LOCATE_parser, 5795); nit_exit(1);}
10219 variable[15] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[13] /*tkwreadablenode5*/); /*new AReadAble*/
10220 variable[14] = variable[15];
10221 variable[15] = variable[9] /*nodearraylist3*/;
10222 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
10223 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction109___action, LOCATE_parser, 5801); nit_exit(1);}
10224 variable[16] = variable[8] /*nodearraylist4*/;
10225 variable[17] = TAG_Bool(( variable[16] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
10226 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction109___action, LOCATE_parser, 5803); nit_exit(1);}
10227 variable[18] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[15] /*tkwredefnode7*/, variable[16] /*tkwwritablenode8*/); /*new AWriteAble*/
10228 variable[17] = variable[18];
10229 variable[18] = variable[7] /*nodearraylist5*/;
10230 variable[19] = TAG_Bool(( variable[18] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[18] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
10231 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction109___action, LOCATE_parser, 5809); nit_exit(1);}
10232 variable[19] = variable[6] /*nodearraylist6*/;
10233 variable[20] = TAG_Bool(( variable[19] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
10234 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction109___action, LOCATE_parser, 5811); nit_exit(1);}
10235 variable[20] = variable[5] /*nodearraylist7*/;
10236 variable[21] = TAG_Bool(( variable[20] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[20] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
10237 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction109___action, LOCATE_parser, 5813); nit_exit(1);}
10238 variable[21] = variable[4] /*nodearraylist8*/;
10239 variable[22] = TAG_Bool(( variable[21] /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable[21] /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
10240 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction109___action, LOCATE_parser, 5815); nit_exit(1);}
10241 variable[23] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[12] /*pdocnode2*/, variable[14] /*pablenode3*/, variable[17] /*pablenode6*/, NIT_NULL /*null*/, variable[18] /*pvisibilitynode10*/, variable[19] /*tkwattrnode11*/, variable[20] /*tattridnode12*/, variable[21] /*ptypenode13*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
10242 variable[22] = variable[23];
10243 variable[3] = variable[22] /*ppropdefnode1*/ /*node_list=*/;
10244 variable[23] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
10245 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[23], variable[3] /*node_list*/) /*Parser::push*/;
10246 return_label250: while(false);
10247 tracehead = trace.prev;
10248 return;
10249 }
10250 void parser___ReduceAction109___init(val_t self, int* init_table) {
10251 struct trace_t trace = {NULL, NULL, 5830, LOCATE_parser___ReduceAction109___init};
10252 val_t variable[2];
10253 void **closurevariable = NULL;
10254 trace.prev = tracehead; tracehead = &trace;
10255 trace.file = LOCATE_parser;
10256 variable[0] = self;
10257 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction109].i]) return;
10258 return_label251: while(false);
10259 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction109].i] = 1;
10260 tracehead = trace.prev;
10261 return;
10262 }
10263 void parser___ReduceAction110___action(val_t self, val_t param0) {
10264 struct trace_t trace = {NULL, NULL, 5834, LOCATE_parser___ReduceAction110___action};
10265 val_t variable[19];
10266 void **closurevariable = NULL;
10267 trace.prev = tracehead; tracehead = &trace;
10268 trace.file = LOCATE_parser;
10269 variable[0] = self;
10270 variable[1] = param0;
10271 variable[3] = NIT_NULL /*null*/;
10272 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10273 variable[4] = variable[5];
10274 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10275 variable[5] = variable[6];
10276 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10277 variable[6] = variable[7];
10278 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10279 variable[7] = variable[8];
10280 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10281 variable[8] = variable[9];
10282 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10283 variable[9] = variable[10];
10284 variable[10] = variable[9] /*nodearraylist1*/;
10285 variable[11] = TAG_Bool(( variable[10] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
10286 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction110___action, LOCATE_parser, 5844); nit_exit(1);}
10287 variable[11] = variable[8] /*nodearraylist2*/;
10288 variable[12] = TAG_Bool(( variable[11] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
10289 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction110___action, LOCATE_parser, 5846); nit_exit(1);}
10290 variable[13] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[11] /*tkwreadablenode5*/); /*new AReadAble*/
10291 variable[12] = variable[13];
10292 variable[13] = variable[7] /*nodearraylist3*/;
10293 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
10294 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction110___action, LOCATE_parser, 5852); nit_exit(1);}
10295 variable[14] = variable[6] /*nodearraylist4*/;
10296 variable[15] = TAG_Bool(( variable[14] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
10297 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction110___action, LOCATE_parser, 5854); nit_exit(1);}
10298 variable[15] = variable[5] /*nodearraylist5*/;
10299 variable[16] = TAG_Bool(( variable[15] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[15] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
10300 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction110___action, LOCATE_parser, 5856); nit_exit(1);}
10301 variable[16] = variable[4] /*nodearraylist6*/;
10302 variable[17] = TAG_Bool(( variable[16] /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable[16] /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
10303 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction110___action, LOCATE_parser, 5858); nit_exit(1);}
10304 variable[18] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[10] /*pdocnode2*/, variable[12] /*pablenode3*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable[13] /*pvisibilitynode8*/, variable[14] /*tkwattrnode9*/, variable[15] /*tattridnode10*/, variable[16] /*ptypenode11*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
10305 variable[17] = variable[18];
10306 variable[3] = variable[17] /*ppropdefnode1*/ /*node_list=*/;
10307 variable[18] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
10308 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
10309 return_label252: while(false);
10310 tracehead = trace.prev;
10311 return;
10312 }
10313 void parser___ReduceAction110___init(val_t self, int* init_table) {
10314 struct trace_t trace = {NULL, NULL, 5873, LOCATE_parser___ReduceAction110___init};
10315 val_t variable[2];
10316 void **closurevariable = NULL;
10317 trace.prev = tracehead; tracehead = &trace;
10318 trace.file = LOCATE_parser;
10319 variable[0] = self;
10320 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction110].i]) return;
10321 return_label253: while(false);
10322 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction110].i] = 1;
10323 tracehead = trace.prev;
10324 return;
10325 }
10326 void parser___ReduceAction111___action(val_t self, val_t param0) {
10327 struct trace_t trace = {NULL, NULL, 5877, LOCATE_parser___ReduceAction111___action};
10328 val_t variable[24];
10329 void **closurevariable = NULL;
10330 trace.prev = tracehead; tracehead = &trace;
10331 trace.file = LOCATE_parser;
10332 variable[0] = self;
10333 variable[1] = param0;
10334 variable[3] = NIT_NULL /*null*/;
10335 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10336 variable[4] = variable[5];
10337 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10338 variable[5] = variable[6];
10339 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10340 variable[6] = variable[7];
10341 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10342 variable[7] = variable[8];
10343 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10344 variable[8] = variable[9];
10345 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10346 variable[9] = variable[10];
10347 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10348 variable[10] = variable[11];
10349 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10350 variable[11] = variable[12];
10351 variable[12] = variable[11] /*nodearraylist1*/;
10352 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
10353 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction111___action, LOCATE_parser, 5889); nit_exit(1);}
10354 variable[13] = variable[10] /*nodearraylist2*/;
10355 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
10356 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction111___action, LOCATE_parser, 5891); nit_exit(1);}
10357 variable[14] = variable[9] /*nodearraylist3*/;
10358 variable[15] = TAG_Bool(( variable[14] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
10359 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction111___action, LOCATE_parser, 5893); nit_exit(1);}
10360 variable[16] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[13] /*tkwredefnode4*/, variable[14] /*tkwreadablenode5*/); /*new AReadAble*/
10361 variable[15] = variable[16];
10362 variable[16] = variable[8] /*nodearraylist4*/;
10363 variable[17] = TAG_Bool(( variable[16] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
10364 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction111___action, LOCATE_parser, 5899); nit_exit(1);}
10365 variable[18] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[16] /*tkwwritablenode8*/); /*new AWriteAble*/
10366 variable[17] = variable[18];
10367 variable[18] = variable[7] /*nodearraylist5*/;
10368 variable[19] = TAG_Bool(( variable[18] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[18] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
10369 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction111___action, LOCATE_parser, 5905); nit_exit(1);}
10370 variable[19] = variable[6] /*nodearraylist6*/;
10371 variable[20] = TAG_Bool(( variable[19] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
10372 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction111___action, LOCATE_parser, 5907); nit_exit(1);}
10373 variable[20] = variable[5] /*nodearraylist7*/;
10374 variable[21] = TAG_Bool(( variable[20] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[20] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
10375 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction111___action, LOCATE_parser, 5909); nit_exit(1);}
10376 variable[21] = variable[4] /*nodearraylist8*/;
10377 variable[22] = TAG_Bool(( variable[21] /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable[21] /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
10378 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction111___action, LOCATE_parser, 5911); nit_exit(1);}
10379 variable[23] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[12] /*pdocnode2*/, variable[15] /*pablenode3*/, variable[17] /*pablenode6*/, NIT_NULL /*null*/, variable[18] /*pvisibilitynode10*/, variable[19] /*tkwattrnode11*/, variable[20] /*tattridnode12*/, variable[21] /*ptypenode13*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
10380 variable[22] = variable[23];
10381 variable[3] = variable[22] /*ppropdefnode1*/ /*node_list=*/;
10382 variable[23] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
10383 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[23], variable[3] /*node_list*/) /*Parser::push*/;
10384 return_label254: while(false);
10385 tracehead = trace.prev;
10386 return;
10387 }
10388 void parser___ReduceAction111___init(val_t self, int* init_table) {
10389 struct trace_t trace = {NULL, NULL, 5926, LOCATE_parser___ReduceAction111___init};
10390 val_t variable[2];
10391 void **closurevariable = NULL;
10392 trace.prev = tracehead; tracehead = &trace;
10393 trace.file = LOCATE_parser;
10394 variable[0] = self;
10395 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction111].i]) return;
10396 return_label255: while(false);
10397 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction111].i] = 1;
10398 tracehead = trace.prev;
10399 return;
10400 }
10401 void parser___ReduceAction112___action(val_t self, val_t param0) {
10402 struct trace_t trace = {NULL, NULL, 5930, LOCATE_parser___ReduceAction112___action};
10403 val_t variable[26];
10404 void **closurevariable = NULL;
10405 trace.prev = tracehead; tracehead = &trace;
10406 trace.file = LOCATE_parser;
10407 variable[0] = self;
10408 variable[1] = param0;
10409 variable[3] = NIT_NULL /*null*/;
10410 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10411 variable[4] = variable[5];
10412 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10413 variable[5] = variable[6];
10414 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10415 variable[6] = variable[7];
10416 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10417 variable[7] = variable[8];
10418 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10419 variable[8] = variable[9];
10420 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10421 variable[9] = variable[10];
10422 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10423 variable[10] = variable[11];
10424 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10425 variable[11] = variable[12];
10426 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10427 variable[12] = variable[13];
10428 variable[13] = variable[12] /*nodearraylist1*/;
10429 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
10430 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction112___action, LOCATE_parser, 5943); nit_exit(1);}
10431 variable[14] = variable[11] /*nodearraylist2*/;
10432 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
10433 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction112___action, LOCATE_parser, 5945); nit_exit(1);}
10434 variable[15] = variable[10] /*nodearraylist3*/;
10435 variable[16] = TAG_Bool(( variable[15] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
10436 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction112___action, LOCATE_parser, 5947); nit_exit(1);}
10437 variable[17] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[14] /*tkwredefnode4*/, variable[15] /*tkwreadablenode5*/); /*new AReadAble*/
10438 variable[16] = variable[17];
10439 variable[17] = variable[9] /*nodearraylist4*/;
10440 variable[18] = TAG_Bool(( variable[17] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
10441 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction112___action, LOCATE_parser, 5953); nit_exit(1);}
10442 variable[18] = variable[8] /*nodearraylist5*/;
10443 variable[19] = TAG_Bool(( variable[18] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
10444 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction112___action, LOCATE_parser, 5955); nit_exit(1);}
10445 variable[20] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[17] /*tkwredefnode7*/, variable[18] /*tkwwritablenode8*/); /*new AWriteAble*/
10446 variable[19] = variable[20];
10447 variable[20] = variable[7] /*nodearraylist6*/;
10448 variable[21] = TAG_Bool(( variable[20] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[20] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
10449 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction112___action, LOCATE_parser, 5961); nit_exit(1);}
10450 variable[21] = variable[6] /*nodearraylist7*/;
10451 variable[22] = TAG_Bool(( variable[21] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[21] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
10452 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction112___action, LOCATE_parser, 5963); nit_exit(1);}
10453 variable[22] = variable[5] /*nodearraylist8*/;
10454 variable[23] = TAG_Bool(( variable[22] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[22] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
10455 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction112___action, LOCATE_parser, 5965); nit_exit(1);}
10456 variable[23] = variable[4] /*nodearraylist9*/;
10457 variable[24] = TAG_Bool(( variable[23] /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable[23] /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
10458 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction112___action, LOCATE_parser, 5967); nit_exit(1);}
10459 variable[25] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[13] /*pdocnode2*/, variable[16] /*pablenode3*/, variable[19] /*pablenode6*/, NIT_NULL /*null*/, variable[20] /*pvisibilitynode10*/, variable[21] /*tkwattrnode11*/, variable[22] /*tattridnode12*/, variable[23] /*ptypenode13*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
10460 variable[24] = variable[25];
10461 variable[3] = variable[24] /*ppropdefnode1*/ /*node_list=*/;
10462 variable[25] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
10463 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[25], variable[3] /*node_list*/) /*Parser::push*/;
10464 return_label256: while(false);
10465 tracehead = trace.prev;
10466 return;
10467 }
10468 void parser___ReduceAction112___init(val_t self, int* init_table) {
10469 struct trace_t trace = {NULL, NULL, 5982, LOCATE_parser___ReduceAction112___init};
10470 val_t variable[2];
10471 void **closurevariable = NULL;
10472 trace.prev = tracehead; tracehead = &trace;
10473 trace.file = LOCATE_parser;
10474 variable[0] = self;
10475 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction112].i]) return;
10476 return_label257: while(false);
10477 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction112].i] = 1;
10478 tracehead = trace.prev;
10479 return;
10480 }
10481 void parser___ReduceAction113___action(val_t self, val_t param0) {
10482 struct trace_t trace = {NULL, NULL, 5986, LOCATE_parser___ReduceAction113___action};
10483 val_t variable[21];
10484 void **closurevariable = NULL;
10485 trace.prev = tracehead; tracehead = &trace;
10486 trace.file = LOCATE_parser;
10487 variable[0] = self;
10488 variable[1] = param0;
10489 variable[3] = NIT_NULL /*null*/;
10490 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10491 variable[4] = variable[5];
10492 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10493 variable[5] = variable[6];
10494 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10495 variable[6] = variable[7];
10496 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10497 variable[7] = variable[8];
10498 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10499 variable[8] = variable[9];
10500 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10501 variable[9] = variable[10];
10502 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10503 variable[10] = variable[11];
10504 variable[11] = variable[10] /*nodearraylist1*/;
10505 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
10506 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction113___action, LOCATE_parser, 5997); nit_exit(1);}
10507 variable[12] = variable[9] /*nodearraylist2*/;
10508 variable[13] = TAG_Bool(( variable[12] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
10509 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction113___action, LOCATE_parser, 5999); nit_exit(1);}
10510 variable[13] = variable[8] /*nodearraylist3*/;
10511 variable[14] = TAG_Bool(( variable[13] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
10512 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction113___action, LOCATE_parser, 6001); nit_exit(1);}
10513 variable[15] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[12] /*tkwredefnode4*/, variable[13] /*tkwreadablenode5*/); /*new AReadAble*/
10514 variable[14] = variable[15];
10515 variable[15] = variable[7] /*nodearraylist4*/;
10516 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
10517 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction113___action, LOCATE_parser, 6007); nit_exit(1);}
10518 variable[16] = variable[6] /*nodearraylist5*/;
10519 variable[17] = TAG_Bool(( variable[16] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
10520 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction113___action, LOCATE_parser, 6009); nit_exit(1);}
10521 variable[17] = variable[5] /*nodearraylist6*/;
10522 variable[18] = TAG_Bool(( variable[17] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[17] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
10523 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction113___action, LOCATE_parser, 6011); nit_exit(1);}
10524 variable[18] = variable[4] /*nodearraylist7*/;
10525 variable[19] = TAG_Bool(( variable[18] /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable[18] /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
10526 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction113___action, LOCATE_parser, 6013); nit_exit(1);}
10527 variable[20] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[11] /*pdocnode2*/, variable[14] /*pablenode3*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable[15] /*pvisibilitynode8*/, variable[16] /*tkwattrnode9*/, variable[17] /*tattridnode10*/, variable[18] /*ptypenode11*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
10528 variable[19] = variable[20];
10529 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
10530 variable[20] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
10531 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
10532 return_label258: while(false);
10533 tracehead = trace.prev;
10534 return;
10535 }
10536 void parser___ReduceAction113___init(val_t self, int* init_table) {
10537 struct trace_t trace = {NULL, NULL, 6028, LOCATE_parser___ReduceAction113___init};
10538 val_t variable[2];
10539 void **closurevariable = NULL;
10540 trace.prev = tracehead; tracehead = &trace;
10541 trace.file = LOCATE_parser;
10542 variable[0] = self;
10543 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction113].i]) return;
10544 return_label259: while(false);
10545 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction113].i] = 1;
10546 tracehead = trace.prev;
10547 return;
10548 }
10549 void parser___ReduceAction114___action(val_t self, val_t param0) {
10550 struct trace_t trace = {NULL, NULL, 6032, LOCATE_parser___ReduceAction114___action};
10551 val_t variable[19];
10552 void **closurevariable = NULL;
10553 trace.prev = tracehead; tracehead = &trace;
10554 trace.file = LOCATE_parser;
10555 variable[0] = self;
10556 variable[1] = param0;
10557 variable[3] = NIT_NULL /*null*/;
10558 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10559 variable[4] = variable[5];
10560 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10561 variable[5] = variable[6];
10562 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10563 variable[6] = variable[7];
10564 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10565 variable[7] = variable[8];
10566 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10567 variable[8] = variable[9];
10568 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10569 variable[9] = variable[10];
10570 variable[10] = variable[9] /*nodearraylist1*/;
10571 variable[11] = TAG_Bool(( variable[10] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
10572 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction114___action, LOCATE_parser, 6042); nit_exit(1);}
10573 variable[11] = variable[8] /*nodearraylist2*/;
10574 variable[12] = TAG_Bool(( variable[11] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
10575 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction114___action, LOCATE_parser, 6044); nit_exit(1);}
10576 variable[13] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[11] /*tkwwritablenode6*/); /*new AWriteAble*/
10577 variable[12] = variable[13];
10578 variable[13] = variable[7] /*nodearraylist3*/;
10579 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
10580 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction114___action, LOCATE_parser, 6050); nit_exit(1);}
10581 variable[14] = variable[6] /*nodearraylist4*/;
10582 variable[15] = TAG_Bool(( variable[14] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
10583 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction114___action, LOCATE_parser, 6052); nit_exit(1);}
10584 variable[15] = variable[5] /*nodearraylist5*/;
10585 variable[16] = TAG_Bool(( variable[15] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[15] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
10586 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction114___action, LOCATE_parser, 6054); nit_exit(1);}
10587 variable[16] = variable[4] /*nodearraylist6*/;
10588 variable[17] = TAG_Bool(( variable[16] /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable[16] /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
10589 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction114___action, LOCATE_parser, 6056); nit_exit(1);}
10590 variable[18] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[10] /*pdocnode2*/, NIT_NULL /*null*/, variable[12] /*pablenode4*/, NIT_NULL /*null*/, variable[13] /*pvisibilitynode8*/, variable[14] /*tkwattrnode9*/, variable[15] /*tattridnode10*/, variable[16] /*ptypenode11*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
10591 variable[17] = variable[18];
10592 variable[3] = variable[17] /*ppropdefnode1*/ /*node_list=*/;
10593 variable[18] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
10594 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
10595 return_label260: while(false);
10596 tracehead = trace.prev;
10597 return;
10598 }
10599 void parser___ReduceAction114___init(val_t self, int* init_table) {
10600 struct trace_t trace = {NULL, NULL, 6071, LOCATE_parser___ReduceAction114___init};
10601 val_t variable[2];
10602 void **closurevariable = NULL;
10603 trace.prev = tracehead; tracehead = &trace;
10604 trace.file = LOCATE_parser;
10605 variable[0] = self;
10606 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction114].i]) return;
10607 return_label261: while(false);
10608 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction114].i] = 1;
10609 tracehead = trace.prev;
10610 return;
10611 }
10612 void parser___ReduceAction115___action(val_t self, val_t param0) {
10613 struct trace_t trace = {NULL, NULL, 6075, LOCATE_parser___ReduceAction115___action};
10614 val_t variable[21];
10615 void **closurevariable = NULL;
10616 trace.prev = tracehead; tracehead = &trace;
10617 trace.file = LOCATE_parser;
10618 variable[0] = self;
10619 variable[1] = param0;
10620 variable[3] = NIT_NULL /*null*/;
10621 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10622 variable[4] = variable[5];
10623 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10624 variable[5] = variable[6];
10625 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10626 variable[6] = variable[7];
10627 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10628 variable[7] = variable[8];
10629 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10630 variable[8] = variable[9];
10631 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10632 variable[9] = variable[10];
10633 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10634 variable[10] = variable[11];
10635 variable[11] = variable[10] /*nodearraylist1*/;
10636 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
10637 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction115___action, LOCATE_parser, 6086); nit_exit(1);}
10638 variable[12] = variable[9] /*nodearraylist2*/;
10639 variable[13] = TAG_Bool(( variable[12] /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
10640 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction115___action, LOCATE_parser, 6088); nit_exit(1);}
10641 variable[13] = variable[8] /*nodearraylist3*/;
10642 variable[14] = TAG_Bool(( variable[13] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
10643 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction115___action, LOCATE_parser, 6090); nit_exit(1);}
10644 variable[15] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[12] /*tkwredefnode5*/, variable[13] /*tkwwritablenode6*/); /*new AWriteAble*/
10645 variable[14] = variable[15];
10646 variable[15] = variable[7] /*nodearraylist4*/;
10647 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
10648 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction115___action, LOCATE_parser, 6096); nit_exit(1);}
10649 variable[16] = variable[6] /*nodearraylist5*/;
10650 variable[17] = TAG_Bool(( variable[16] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
10651 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction115___action, LOCATE_parser, 6098); nit_exit(1);}
10652 variable[17] = variable[5] /*nodearraylist6*/;
10653 variable[18] = TAG_Bool(( variable[17] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[17] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
10654 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction115___action, LOCATE_parser, 6100); nit_exit(1);}
10655 variable[18] = variable[4] /*nodearraylist7*/;
10656 variable[19] = TAG_Bool(( variable[18] /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable[18] /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
10657 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction115___action, LOCATE_parser, 6102); nit_exit(1);}
10658 variable[20] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[11] /*pdocnode2*/, NIT_NULL /*null*/, variable[14] /*pablenode4*/, NIT_NULL /*null*/, variable[15] /*pvisibilitynode8*/, variable[16] /*tkwattrnode9*/, variable[17] /*tattridnode10*/, variable[18] /*ptypenode11*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
10659 variable[19] = variable[20];
10660 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
10661 variable[20] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
10662 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
10663 return_label262: while(false);
10664 tracehead = trace.prev;
10665 return;
10666 }
10667 void parser___ReduceAction115___init(val_t self, int* init_table) {
10668 struct trace_t trace = {NULL, NULL, 6117, LOCATE_parser___ReduceAction115___init};
10669 val_t variable[2];
10670 void **closurevariable = NULL;
10671 trace.prev = tracehead; tracehead = &trace;
10672 trace.file = LOCATE_parser;
10673 variable[0] = self;
10674 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction115].i]) return;
10675 return_label263: while(false);
10676 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction115].i] = 1;
10677 tracehead = trace.prev;
10678 return;
10679 }
10680 void parser___ReduceAction116___action(val_t self, val_t param0) {
10681 struct trace_t trace = {NULL, NULL, 6121, LOCATE_parser___ReduceAction116___action};
10682 val_t variable[16];
10683 void **closurevariable = NULL;
10684 trace.prev = tracehead; tracehead = &trace;
10685 trace.file = LOCATE_parser;
10686 variable[0] = self;
10687 variable[1] = param0;
10688 variable[3] = NIT_NULL /*null*/;
10689 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10690 variable[4] = variable[5];
10691 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10692 variable[5] = variable[6];
10693 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10694 variable[6] = variable[7];
10695 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10696 variable[7] = variable[8];
10697 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10698 variable[8] = variable[9];
10699 variable[9] = variable[8] /*nodearraylist1*/;
10700 variable[10] = TAG_Bool(( variable[9] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
10701 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction116___action, LOCATE_parser, 6130); nit_exit(1);}
10702 variable[10] = variable[7] /*nodearraylist2*/;
10703 variable[11] = TAG_Bool(( variable[10] /*pvisibilitynode6*/==NIT_NULL) || VAL_ISA( variable[10] /*pvisibilitynode6*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
10704 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction116___action, LOCATE_parser, 6132); nit_exit(1);}
10705 variable[11] = variable[6] /*nodearraylist3*/;
10706 variable[12] = TAG_Bool(( variable[11] /*tkwattrnode7*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwattrnode7*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
10707 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction116___action, LOCATE_parser, 6134); nit_exit(1);}
10708 variable[12] = variable[5] /*nodearraylist4*/;
10709 variable[13] = TAG_Bool(( variable[12] /*tattridnode8*/==NIT_NULL) || VAL_ISA( variable[12] /*tattridnode8*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
10710 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction116___action, LOCATE_parser, 6136); nit_exit(1);}
10711 variable[13] = variable[4] /*nodearraylist5*/;
10712 variable[14] = TAG_Bool(( variable[13] /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable[13] /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
10713 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction116___action, LOCATE_parser, 6138); nit_exit(1);}
10714 variable[15] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[9] /*pdocnode2*/, NIT_NULL /*null*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable[10] /*pvisibilitynode6*/, variable[11] /*tkwattrnode7*/, variable[12] /*tattridnode8*/, variable[13] /*ptypenode9*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
10715 variable[14] = variable[15];
10716 variable[3] = variable[14] /*ppropdefnode1*/ /*node_list=*/;
10717 variable[15] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
10718 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
10719 return_label264: while(false);
10720 tracehead = trace.prev;
10721 return;
10722 }
10723 void parser___ReduceAction116___init(val_t self, int* init_table) {
10724 struct trace_t trace = {NULL, NULL, 6153, LOCATE_parser___ReduceAction116___init};
10725 val_t variable[2];
10726 void **closurevariable = NULL;
10727 trace.prev = tracehead; tracehead = &trace;
10728 trace.file = LOCATE_parser;
10729 variable[0] = self;
10730 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction116].i]) return;
10731 return_label265: while(false);
10732 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction116].i] = 1;
10733 tracehead = trace.prev;
10734 return;
10735 }
10736 void parser___ReduceAction117___action(val_t self, val_t param0) {
10737 struct trace_t trace = {NULL, NULL, 6157, LOCATE_parser___ReduceAction117___action};
10738 val_t variable[24];
10739 void **closurevariable = NULL;
10740 trace.prev = tracehead; tracehead = &trace;
10741 trace.file = LOCATE_parser;
10742 variable[0] = self;
10743 variable[1] = param0;
10744 variable[3] = NIT_NULL /*null*/;
10745 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10746 variable[4] = variable[5];
10747 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10748 variable[5] = variable[6];
10749 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10750 variable[6] = variable[7];
10751 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10752 variable[7] = variable[8];
10753 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10754 variable[8] = variable[9];
10755 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10756 variable[9] = variable[10];
10757 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10758 variable[10] = variable[11];
10759 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10760 variable[11] = variable[12];
10761 variable[12] = variable[11] /*nodearraylist1*/;
10762 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
10763 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction117___action, LOCATE_parser, 6169); nit_exit(1);}
10764 variable[13] = variable[10] /*nodearraylist2*/;
10765 variable[14] = TAG_Bool(( variable[13] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
10766 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction117___action, LOCATE_parser, 6171); nit_exit(1);}
10767 variable[15] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[13] /*tkwreadablenode5*/); /*new AReadAble*/
10768 variable[14] = variable[15];
10769 variable[15] = variable[9] /*nodearraylist3*/;
10770 variable[16] = TAG_Bool(( variable[15] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
10771 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction117___action, LOCATE_parser, 6177); nit_exit(1);}
10772 variable[17] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[15] /*tkwwritablenode8*/); /*new AWriteAble*/
10773 variable[16] = variable[17];
10774 variable[17] = variable[8] /*nodearraylist4*/;
10775 variable[18] = TAG_Bool(( variable[17] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
10776 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction117___action, LOCATE_parser, 6183); nit_exit(1);}
10777 variable[18] = variable[7] /*nodearraylist5*/;
10778 variable[19] = TAG_Bool(( variable[18] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[18] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
10779 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction117___action, LOCATE_parser, 6185); nit_exit(1);}
10780 variable[19] = variable[6] /*nodearraylist6*/;
10781 variable[20] = TAG_Bool(( variable[19] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
10782 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction117___action, LOCATE_parser, 6187); nit_exit(1);}
10783 variable[20] = variable[5] /*nodearraylist7*/;
10784 variable[21] = TAG_Bool(( variable[20] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[20] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
10785 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction117___action, LOCATE_parser, 6189); nit_exit(1);}
10786 variable[21] = variable[4] /*nodearraylist8*/;
10787 variable[22] = TAG_Bool(( variable[21] /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable[21] /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
10788 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction117___action, LOCATE_parser, 6191); nit_exit(1);}
10789 variable[23] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[12] /*pdocnode2*/, variable[14] /*pablenode3*/, variable[16] /*pablenode6*/, variable[17] /*tkwredefnode9*/, variable[18] /*pvisibilitynode10*/, variable[19] /*tkwattrnode11*/, variable[20] /*tattridnode12*/, variable[21] /*ptypenode13*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
10790 variable[22] = variable[23];
10791 variable[3] = variable[22] /*ppropdefnode1*/ /*node_list=*/;
10792 variable[23] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
10793 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[23], variable[3] /*node_list*/) /*Parser::push*/;
10794 return_label266: while(false);
10795 tracehead = trace.prev;
10796 return;
10797 }
10798 void parser___ReduceAction117___init(val_t self, int* init_table) {
10799 struct trace_t trace = {NULL, NULL, 6206, LOCATE_parser___ReduceAction117___init};
10800 val_t variable[2];
10801 void **closurevariable = NULL;
10802 trace.prev = tracehead; tracehead = &trace;
10803 trace.file = LOCATE_parser;
10804 variable[0] = self;
10805 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction117].i]) return;
10806 return_label267: while(false);
10807 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction117].i] = 1;
10808 tracehead = trace.prev;
10809 return;
10810 }
10811 void parser___ReduceAction118___action(val_t self, val_t param0) {
10812 struct trace_t trace = {NULL, NULL, 6210, LOCATE_parser___ReduceAction118___action};
10813 val_t variable[26];
10814 void **closurevariable = NULL;
10815 trace.prev = tracehead; tracehead = &trace;
10816 trace.file = LOCATE_parser;
10817 variable[0] = self;
10818 variable[1] = param0;
10819 variable[3] = NIT_NULL /*null*/;
10820 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10821 variable[4] = variable[5];
10822 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10823 variable[5] = variable[6];
10824 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10825 variable[6] = variable[7];
10826 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10827 variable[7] = variable[8];
10828 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10829 variable[8] = variable[9];
10830 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10831 variable[9] = variable[10];
10832 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10833 variable[10] = variable[11];
10834 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10835 variable[11] = variable[12];
10836 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10837 variable[12] = variable[13];
10838 variable[13] = variable[12] /*nodearraylist1*/;
10839 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
10840 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction118___action, LOCATE_parser, 6223); nit_exit(1);}
10841 variable[14] = variable[11] /*nodearraylist2*/;
10842 variable[15] = TAG_Bool(( variable[14] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
10843 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction118___action, LOCATE_parser, 6225); nit_exit(1);}
10844 variable[16] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[14] /*tkwreadablenode5*/); /*new AReadAble*/
10845 variable[15] = variable[16];
10846 variable[16] = variable[10] /*nodearraylist3*/;
10847 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
10848 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction118___action, LOCATE_parser, 6231); nit_exit(1);}
10849 variable[17] = variable[9] /*nodearraylist4*/;
10850 variable[18] = TAG_Bool(( variable[17] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
10851 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction118___action, LOCATE_parser, 6233); nit_exit(1);}
10852 variable[19] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[16] /*tkwredefnode7*/, variable[17] /*tkwwritablenode8*/); /*new AWriteAble*/
10853 variable[18] = variable[19];
10854 variable[19] = variable[8] /*nodearraylist5*/;
10855 variable[20] = TAG_Bool(( variable[19] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
10856 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction118___action, LOCATE_parser, 6239); nit_exit(1);}
10857 variable[20] = variable[7] /*nodearraylist6*/;
10858 variable[21] = TAG_Bool(( variable[20] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[20] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
10859 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction118___action, LOCATE_parser, 6241); nit_exit(1);}
10860 variable[21] = variable[6] /*nodearraylist7*/;
10861 variable[22] = TAG_Bool(( variable[21] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[21] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
10862 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction118___action, LOCATE_parser, 6243); nit_exit(1);}
10863 variable[22] = variable[5] /*nodearraylist8*/;
10864 variable[23] = TAG_Bool(( variable[22] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[22] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
10865 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction118___action, LOCATE_parser, 6245); nit_exit(1);}
10866 variable[23] = variable[4] /*nodearraylist9*/;
10867 variable[24] = TAG_Bool(( variable[23] /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable[23] /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
10868 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction118___action, LOCATE_parser, 6247); nit_exit(1);}
10869 variable[25] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[13] /*pdocnode2*/, variable[15] /*pablenode3*/, variable[18] /*pablenode6*/, variable[19] /*tkwredefnode9*/, variable[20] /*pvisibilitynode10*/, variable[21] /*tkwattrnode11*/, variable[22] /*tattridnode12*/, variable[23] /*ptypenode13*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
10870 variable[24] = variable[25];
10871 variable[3] = variable[24] /*ppropdefnode1*/ /*node_list=*/;
10872 variable[25] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
10873 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[25], variable[3] /*node_list*/) /*Parser::push*/;
10874 return_label268: while(false);
10875 tracehead = trace.prev;
10876 return;
10877 }
10878 void parser___ReduceAction118___init(val_t self, int* init_table) {
10879 struct trace_t trace = {NULL, NULL, 6262, LOCATE_parser___ReduceAction118___init};
10880 val_t variable[2];
10881 void **closurevariable = NULL;
10882 trace.prev = tracehead; tracehead = &trace;
10883 trace.file = LOCATE_parser;
10884 variable[0] = self;
10885 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction118].i]) return;
10886 return_label269: while(false);
10887 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction118].i] = 1;
10888 tracehead = trace.prev;
10889 return;
10890 }
10891 void parser___ReduceAction119___action(val_t self, val_t param0) {
10892 struct trace_t trace = {NULL, NULL, 6266, LOCATE_parser___ReduceAction119___action};
10893 val_t variable[21];
10894 void **closurevariable = NULL;
10895 trace.prev = tracehead; tracehead = &trace;
10896 trace.file = LOCATE_parser;
10897 variable[0] = self;
10898 variable[1] = param0;
10899 variable[3] = NIT_NULL /*null*/;
10900 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10901 variable[4] = variable[5];
10902 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10903 variable[5] = variable[6];
10904 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10905 variable[6] = variable[7];
10906 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10907 variable[7] = variable[8];
10908 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10909 variable[8] = variable[9];
10910 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10911 variable[9] = variable[10];
10912 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10913 variable[10] = variable[11];
10914 variable[11] = variable[10] /*nodearraylist1*/;
10915 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
10916 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction119___action, LOCATE_parser, 6277); nit_exit(1);}
10917 variable[12] = variable[9] /*nodearraylist2*/;
10918 variable[13] = TAG_Bool(( variable[12] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
10919 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction119___action, LOCATE_parser, 6279); nit_exit(1);}
10920 variable[14] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[12] /*tkwreadablenode5*/); /*new AReadAble*/
10921 variable[13] = variable[14];
10922 variable[14] = variable[8] /*nodearraylist3*/;
10923 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
10924 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction119___action, LOCATE_parser, 6285); nit_exit(1);}
10925 variable[15] = variable[7] /*nodearraylist4*/;
10926 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
10927 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction119___action, LOCATE_parser, 6287); nit_exit(1);}
10928 variable[16] = variable[6] /*nodearraylist5*/;
10929 variable[17] = TAG_Bool(( variable[16] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
10930 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction119___action, LOCATE_parser, 6289); nit_exit(1);}
10931 variable[17] = variable[5] /*nodearraylist6*/;
10932 variable[18] = TAG_Bool(( variable[17] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[17] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
10933 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction119___action, LOCATE_parser, 6291); nit_exit(1);}
10934 variable[18] = variable[4] /*nodearraylist7*/;
10935 variable[19] = TAG_Bool(( variable[18] /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable[18] /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
10936 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction119___action, LOCATE_parser, 6293); nit_exit(1);}
10937 variable[20] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[11] /*pdocnode2*/, variable[13] /*pablenode3*/, NIT_NULL /*null*/, variable[14] /*tkwredefnode7*/, variable[15] /*pvisibilitynode8*/, variable[16] /*tkwattrnode9*/, variable[17] /*tattridnode10*/, variable[18] /*ptypenode11*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
10938 variable[19] = variable[20];
10939 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
10940 variable[20] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
10941 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
10942 return_label270: while(false);
10943 tracehead = trace.prev;
10944 return;
10945 }
10946 void parser___ReduceAction119___init(val_t self, int* init_table) {
10947 struct trace_t trace = {NULL, NULL, 6308, LOCATE_parser___ReduceAction119___init};
10948 val_t variable[2];
10949 void **closurevariable = NULL;
10950 trace.prev = tracehead; tracehead = &trace;
10951 trace.file = LOCATE_parser;
10952 variable[0] = self;
10953 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction119].i]) return;
10954 return_label271: while(false);
10955 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction119].i] = 1;
10956 tracehead = trace.prev;
10957 return;
10958 }
10959 void parser___ReduceAction120___action(val_t self, val_t param0) {
10960 struct trace_t trace = {NULL, NULL, 6312, LOCATE_parser___ReduceAction120___action};
10961 val_t variable[26];
10962 void **closurevariable = NULL;
10963 trace.prev = tracehead; tracehead = &trace;
10964 trace.file = LOCATE_parser;
10965 variable[0] = self;
10966 variable[1] = param0;
10967 variable[3] = NIT_NULL /*null*/;
10968 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10969 variable[4] = variable[5];
10970 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10971 variable[5] = variable[6];
10972 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10973 variable[6] = variable[7];
10974 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10975 variable[7] = variable[8];
10976 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10977 variable[8] = variable[9];
10978 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10979 variable[9] = variable[10];
10980 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10981 variable[10] = variable[11];
10982 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10983 variable[11] = variable[12];
10984 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
10985 variable[12] = variable[13];
10986 variable[13] = variable[12] /*nodearraylist1*/;
10987 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
10988 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction120___action, LOCATE_parser, 6325); nit_exit(1);}
10989 variable[14] = variable[11] /*nodearraylist2*/;
10990 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
10991 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction120___action, LOCATE_parser, 6327); nit_exit(1);}
10992 variable[15] = variable[10] /*nodearraylist3*/;
10993 variable[16] = TAG_Bool(( variable[15] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
10994 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction120___action, LOCATE_parser, 6329); nit_exit(1);}
10995 variable[17] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[14] /*tkwredefnode4*/, variable[15] /*tkwreadablenode5*/); /*new AReadAble*/
10996 variable[16] = variable[17];
10997 variable[17] = variable[9] /*nodearraylist4*/;
10998 variable[18] = TAG_Bool(( variable[17] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
10999 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction120___action, LOCATE_parser, 6335); nit_exit(1);}
11000 variable[19] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[17] /*tkwwritablenode8*/); /*new AWriteAble*/
11001 variable[18] = variable[19];
11002 variable[19] = variable[8] /*nodearraylist5*/;
11003 variable[20] = TAG_Bool(( variable[19] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
11004 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction120___action, LOCATE_parser, 6341); nit_exit(1);}
11005 variable[20] = variable[7] /*nodearraylist6*/;
11006 variable[21] = TAG_Bool(( variable[20] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[20] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
11007 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction120___action, LOCATE_parser, 6343); nit_exit(1);}
11008 variable[21] = variable[6] /*nodearraylist7*/;
11009 variable[22] = TAG_Bool(( variable[21] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[21] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
11010 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction120___action, LOCATE_parser, 6345); nit_exit(1);}
11011 variable[22] = variable[5] /*nodearraylist8*/;
11012 variable[23] = TAG_Bool(( variable[22] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[22] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
11013 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction120___action, LOCATE_parser, 6347); nit_exit(1);}
11014 variable[23] = variable[4] /*nodearraylist9*/;
11015 variable[24] = TAG_Bool(( variable[23] /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable[23] /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
11016 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction120___action, LOCATE_parser, 6349); nit_exit(1);}
11017 variable[25] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[13] /*pdocnode2*/, variable[16] /*pablenode3*/, variable[18] /*pablenode6*/, variable[19] /*tkwredefnode9*/, variable[20] /*pvisibilitynode10*/, variable[21] /*tkwattrnode11*/, variable[22] /*tattridnode12*/, variable[23] /*ptypenode13*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
11018 variable[24] = variable[25];
11019 variable[3] = variable[24] /*ppropdefnode1*/ /*node_list=*/;
11020 variable[25] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
11021 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[25], variable[3] /*node_list*/) /*Parser::push*/;
11022 return_label272: while(false);
11023 tracehead = trace.prev;
11024 return;
11025 }
11026 void parser___ReduceAction120___init(val_t self, int* init_table) {
11027 struct trace_t trace = {NULL, NULL, 6364, LOCATE_parser___ReduceAction120___init};
11028 val_t variable[2];
11029 void **closurevariable = NULL;
11030 trace.prev = tracehead; tracehead = &trace;
11031 trace.file = LOCATE_parser;
11032 variable[0] = self;
11033 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction120].i]) return;
11034 return_label273: while(false);
11035 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction120].i] = 1;
11036 tracehead = trace.prev;
11037 return;
11038 }
11039 void parser___ReduceAction121___action(val_t self, val_t param0) {
11040 struct trace_t trace = {NULL, NULL, 6368, LOCATE_parser___ReduceAction121___action};
11041 val_t variable[28];
11042 void **closurevariable = NULL;
11043 trace.prev = tracehead; tracehead = &trace;
11044 trace.file = LOCATE_parser;
11045 variable[0] = self;
11046 variable[1] = param0;
11047 variable[3] = NIT_NULL /*null*/;
11048 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11049 variable[4] = variable[5];
11050 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11051 variable[5] = variable[6];
11052 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11053 variable[6] = variable[7];
11054 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11055 variable[7] = variable[8];
11056 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11057 variable[8] = variable[9];
11058 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11059 variable[9] = variable[10];
11060 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11061 variable[10] = variable[11];
11062 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11063 variable[11] = variable[12];
11064 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11065 variable[12] = variable[13];
11066 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11067 variable[13] = variable[14];
11068 variable[14] = variable[13] /*nodearraylist1*/;
11069 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
11070 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction121___action, LOCATE_parser, 6382); nit_exit(1);}
11071 variable[15] = variable[12] /*nodearraylist2*/;
11072 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
11073 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction121___action, LOCATE_parser, 6384); nit_exit(1);}
11074 variable[16] = variable[11] /*nodearraylist3*/;
11075 variable[17] = TAG_Bool(( variable[16] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
11076 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction121___action, LOCATE_parser, 6386); nit_exit(1);}
11077 variable[18] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[15] /*tkwredefnode4*/, variable[16] /*tkwreadablenode5*/); /*new AReadAble*/
11078 variable[17] = variable[18];
11079 variable[18] = variable[10] /*nodearraylist4*/;
11080 variable[19] = TAG_Bool(( variable[18] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
11081 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction121___action, LOCATE_parser, 6392); nit_exit(1);}
11082 variable[19] = variable[9] /*nodearraylist5*/;
11083 variable[20] = TAG_Bool(( variable[19] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
11084 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction121___action, LOCATE_parser, 6394); nit_exit(1);}
11085 variable[21] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[18] /*tkwredefnode7*/, variable[19] /*tkwwritablenode8*/); /*new AWriteAble*/
11086 variable[20] = variable[21];
11087 variable[21] = variable[8] /*nodearraylist6*/;
11088 variable[22] = TAG_Bool(( variable[21] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[21] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
11089 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction121___action, LOCATE_parser, 6400); nit_exit(1);}
11090 variable[22] = variable[7] /*nodearraylist7*/;
11091 variable[23] = TAG_Bool(( variable[22] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[22] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
11092 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction121___action, LOCATE_parser, 6402); nit_exit(1);}
11093 variable[23] = variable[6] /*nodearraylist8*/;
11094 variable[24] = TAG_Bool(( variable[23] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[23] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
11095 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction121___action, LOCATE_parser, 6404); nit_exit(1);}
11096 variable[24] = variable[5] /*nodearraylist9*/;
11097 variable[25] = TAG_Bool(( variable[24] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[24] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
11098 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction121___action, LOCATE_parser, 6406); nit_exit(1);}
11099 variable[25] = variable[4] /*nodearraylist10*/;
11100 variable[26] = TAG_Bool(( variable[25] /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable[25] /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
11101 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction121___action, LOCATE_parser, 6408); nit_exit(1);}
11102 variable[27] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[14] /*pdocnode2*/, variable[17] /*pablenode3*/, variable[20] /*pablenode6*/, variable[21] /*tkwredefnode9*/, variable[22] /*pvisibilitynode10*/, variable[23] /*tkwattrnode11*/, variable[24] /*tattridnode12*/, variable[25] /*ptypenode13*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
11103 variable[26] = variable[27];
11104 variable[3] = variable[26] /*ppropdefnode1*/ /*node_list=*/;
11105 variable[27] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
11106 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[27], variable[3] /*node_list*/) /*Parser::push*/;
11107 return_label274: while(false);
11108 tracehead = trace.prev;
11109 return;
11110 }
11111 void parser___ReduceAction121___init(val_t self, int* init_table) {
11112 struct trace_t trace = {NULL, NULL, 6423, LOCATE_parser___ReduceAction121___init};
11113 val_t variable[2];
11114 void **closurevariable = NULL;
11115 trace.prev = tracehead; tracehead = &trace;
11116 trace.file = LOCATE_parser;
11117 variable[0] = self;
11118 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction121].i]) return;
11119 return_label275: while(false);
11120 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction121].i] = 1;
11121 tracehead = trace.prev;
11122 return;
11123 }
11124 void parser___ReduceAction122___action(val_t self, val_t param0) {
11125 struct trace_t trace = {NULL, NULL, 6427, LOCATE_parser___ReduceAction122___action};
11126 val_t variable[23];
11127 void **closurevariable = NULL;
11128 trace.prev = tracehead; tracehead = &trace;
11129 trace.file = LOCATE_parser;
11130 variable[0] = self;
11131 variable[1] = param0;
11132 variable[3] = NIT_NULL /*null*/;
11133 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11134 variable[4] = variable[5];
11135 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11136 variable[5] = variable[6];
11137 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11138 variable[6] = variable[7];
11139 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11140 variable[7] = variable[8];
11141 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11142 variable[8] = variable[9];
11143 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11144 variable[9] = variable[10];
11145 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11146 variable[10] = variable[11];
11147 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11148 variable[11] = variable[12];
11149 variable[12] = variable[11] /*nodearraylist1*/;
11150 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
11151 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction122___action, LOCATE_parser, 6439); nit_exit(1);}
11152 variable[13] = variable[10] /*nodearraylist2*/;
11153 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
11154 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction122___action, LOCATE_parser, 6441); nit_exit(1);}
11155 variable[14] = variable[9] /*nodearraylist3*/;
11156 variable[15] = TAG_Bool(( variable[14] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
11157 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction122___action, LOCATE_parser, 6443); nit_exit(1);}
11158 variable[16] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[13] /*tkwredefnode4*/, variable[14] /*tkwreadablenode5*/); /*new AReadAble*/
11159 variable[15] = variable[16];
11160 variable[16] = variable[8] /*nodearraylist4*/;
11161 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
11162 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction122___action, LOCATE_parser, 6449); nit_exit(1);}
11163 variable[17] = variable[7] /*nodearraylist5*/;
11164 variable[18] = TAG_Bool(( variable[17] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[17] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
11165 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction122___action, LOCATE_parser, 6451); nit_exit(1);}
11166 variable[18] = variable[6] /*nodearraylist6*/;
11167 variable[19] = TAG_Bool(( variable[18] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
11168 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction122___action, LOCATE_parser, 6453); nit_exit(1);}
11169 variable[19] = variable[5] /*nodearraylist7*/;
11170 variable[20] = TAG_Bool(( variable[19] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[19] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
11171 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction122___action, LOCATE_parser, 6455); nit_exit(1);}
11172 variable[20] = variable[4] /*nodearraylist8*/;
11173 variable[21] = TAG_Bool(( variable[20] /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable[20] /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
11174 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction122___action, LOCATE_parser, 6457); nit_exit(1);}
11175 variable[22] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[12] /*pdocnode2*/, variable[15] /*pablenode3*/, NIT_NULL /*null*/, variable[16] /*tkwredefnode7*/, variable[17] /*pvisibilitynode8*/, variable[18] /*tkwattrnode9*/, variable[19] /*tattridnode10*/, variable[20] /*ptypenode11*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
11176 variable[21] = variable[22];
11177 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
11178 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
11179 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
11180 return_label276: while(false);
11181 tracehead = trace.prev;
11182 return;
11183 }
11184 void parser___ReduceAction122___init(val_t self, int* init_table) {
11185 struct trace_t trace = {NULL, NULL, 6472, LOCATE_parser___ReduceAction122___init};
11186 val_t variable[2];
11187 void **closurevariable = NULL;
11188 trace.prev = tracehead; tracehead = &trace;
11189 trace.file = LOCATE_parser;
11190 variable[0] = self;
11191 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction122].i]) return;
11192 return_label277: while(false);
11193 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction122].i] = 1;
11194 tracehead = trace.prev;
11195 return;
11196 }
11197 void parser___ReduceAction123___action(val_t self, val_t param0) {
11198 struct trace_t trace = {NULL, NULL, 6476, LOCATE_parser___ReduceAction123___action};
11199 val_t variable[21];
11200 void **closurevariable = NULL;
11201 trace.prev = tracehead; tracehead = &trace;
11202 trace.file = LOCATE_parser;
11203 variable[0] = self;
11204 variable[1] = param0;
11205 variable[3] = NIT_NULL /*null*/;
11206 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11207 variable[4] = variable[5];
11208 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11209 variable[5] = variable[6];
11210 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11211 variable[6] = variable[7];
11212 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11213 variable[7] = variable[8];
11214 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11215 variable[8] = variable[9];
11216 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11217 variable[9] = variable[10];
11218 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11219 variable[10] = variable[11];
11220 variable[11] = variable[10] /*nodearraylist1*/;
11221 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
11222 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction123___action, LOCATE_parser, 6487); nit_exit(1);}
11223 variable[12] = variable[9] /*nodearraylist2*/;
11224 variable[13] = TAG_Bool(( variable[12] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
11225 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction123___action, LOCATE_parser, 6489); nit_exit(1);}
11226 variable[14] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[12] /*tkwwritablenode6*/); /*new AWriteAble*/
11227 variable[13] = variable[14];
11228 variable[14] = variable[8] /*nodearraylist3*/;
11229 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
11230 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction123___action, LOCATE_parser, 6495); nit_exit(1);}
11231 variable[15] = variable[7] /*nodearraylist4*/;
11232 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
11233 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction123___action, LOCATE_parser, 6497); nit_exit(1);}
11234 variable[16] = variable[6] /*nodearraylist5*/;
11235 variable[17] = TAG_Bool(( variable[16] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
11236 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction123___action, LOCATE_parser, 6499); nit_exit(1);}
11237 variable[17] = variable[5] /*nodearraylist6*/;
11238 variable[18] = TAG_Bool(( variable[17] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[17] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
11239 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction123___action, LOCATE_parser, 6501); nit_exit(1);}
11240 variable[18] = variable[4] /*nodearraylist7*/;
11241 variable[19] = TAG_Bool(( variable[18] /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable[18] /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
11242 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction123___action, LOCATE_parser, 6503); nit_exit(1);}
11243 variable[20] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[11] /*pdocnode2*/, NIT_NULL /*null*/, variable[13] /*pablenode4*/, variable[14] /*tkwredefnode7*/, variable[15] /*pvisibilitynode8*/, variable[16] /*tkwattrnode9*/, variable[17] /*tattridnode10*/, variable[18] /*ptypenode11*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
11244 variable[19] = variable[20];
11245 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
11246 variable[20] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
11247 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
11248 return_label278: while(false);
11249 tracehead = trace.prev;
11250 return;
11251 }
11252 void parser___ReduceAction123___init(val_t self, int* init_table) {
11253 struct trace_t trace = {NULL, NULL, 6518, LOCATE_parser___ReduceAction123___init};
11254 val_t variable[2];
11255 void **closurevariable = NULL;
11256 trace.prev = tracehead; tracehead = &trace;
11257 trace.file = LOCATE_parser;
11258 variable[0] = self;
11259 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction123].i]) return;
11260 return_label279: while(false);
11261 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction123].i] = 1;
11262 tracehead = trace.prev;
11263 return;
11264 }
11265 void parser___ReduceAction124___action(val_t self, val_t param0) {
11266 struct trace_t trace = {NULL, NULL, 6522, LOCATE_parser___ReduceAction124___action};
11267 val_t variable[23];
11268 void **closurevariable = NULL;
11269 trace.prev = tracehead; tracehead = &trace;
11270 trace.file = LOCATE_parser;
11271 variable[0] = self;
11272 variable[1] = param0;
11273 variable[3] = NIT_NULL /*null*/;
11274 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11275 variable[4] = variable[5];
11276 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11277 variable[5] = variable[6];
11278 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11279 variable[6] = variable[7];
11280 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11281 variable[7] = variable[8];
11282 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11283 variable[8] = variable[9];
11284 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11285 variable[9] = variable[10];
11286 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11287 variable[10] = variable[11];
11288 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11289 variable[11] = variable[12];
11290 variable[12] = variable[11] /*nodearraylist1*/;
11291 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
11292 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction124___action, LOCATE_parser, 6534); nit_exit(1);}
11293 variable[13] = variable[10] /*nodearraylist2*/;
11294 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
11295 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction124___action, LOCATE_parser, 6536); nit_exit(1);}
11296 variable[14] = variable[9] /*nodearraylist3*/;
11297 variable[15] = TAG_Bool(( variable[14] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
11298 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction124___action, LOCATE_parser, 6538); nit_exit(1);}
11299 variable[16] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[13] /*tkwredefnode5*/, variable[14] /*tkwwritablenode6*/); /*new AWriteAble*/
11300 variable[15] = variable[16];
11301 variable[16] = variable[8] /*nodearraylist4*/;
11302 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
11303 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction124___action, LOCATE_parser, 6544); nit_exit(1);}
11304 variable[17] = variable[7] /*nodearraylist5*/;
11305 variable[18] = TAG_Bool(( variable[17] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[17] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
11306 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction124___action, LOCATE_parser, 6546); nit_exit(1);}
11307 variable[18] = variable[6] /*nodearraylist6*/;
11308 variable[19] = TAG_Bool(( variable[18] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
11309 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction124___action, LOCATE_parser, 6548); nit_exit(1);}
11310 variable[19] = variable[5] /*nodearraylist7*/;
11311 variable[20] = TAG_Bool(( variable[19] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[19] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
11312 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction124___action, LOCATE_parser, 6550); nit_exit(1);}
11313 variable[20] = variable[4] /*nodearraylist8*/;
11314 variable[21] = TAG_Bool(( variable[20] /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable[20] /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
11315 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction124___action, LOCATE_parser, 6552); nit_exit(1);}
11316 variable[22] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[12] /*pdocnode2*/, NIT_NULL /*null*/, variable[15] /*pablenode4*/, variable[16] /*tkwredefnode7*/, variable[17] /*pvisibilitynode8*/, variable[18] /*tkwattrnode9*/, variable[19] /*tattridnode10*/, variable[20] /*ptypenode11*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
11317 variable[21] = variable[22];
11318 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
11319 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
11320 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
11321 return_label280: while(false);
11322 tracehead = trace.prev;
11323 return;
11324 }
11325 void parser___ReduceAction124___init(val_t self, int* init_table) {
11326 struct trace_t trace = {NULL, NULL, 6567, LOCATE_parser___ReduceAction124___init};
11327 val_t variable[2];
11328 void **closurevariable = NULL;
11329 trace.prev = tracehead; tracehead = &trace;
11330 trace.file = LOCATE_parser;
11331 variable[0] = self;
11332 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction124].i]) return;
11333 return_label281: while(false);
11334 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction124].i] = 1;
11335 tracehead = trace.prev;
11336 return;
11337 }
11338 void parser___ReduceAction125___action(val_t self, val_t param0) {
11339 struct trace_t trace = {NULL, NULL, 6571, LOCATE_parser___ReduceAction125___action};
11340 val_t variable[18];
11341 void **closurevariable = NULL;
11342 trace.prev = tracehead; tracehead = &trace;
11343 trace.file = LOCATE_parser;
11344 variable[0] = self;
11345 variable[1] = param0;
11346 variable[3] = NIT_NULL /*null*/;
11347 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11348 variable[4] = variable[5];
11349 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11350 variable[5] = variable[6];
11351 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11352 variable[6] = variable[7];
11353 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11354 variable[7] = variable[8];
11355 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11356 variable[8] = variable[9];
11357 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11358 variable[9] = variable[10];
11359 variable[10] = variable[9] /*nodearraylist1*/;
11360 variable[11] = TAG_Bool(( variable[10] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
11361 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction125___action, LOCATE_parser, 6581); nit_exit(1);}
11362 variable[11] = variable[8] /*nodearraylist2*/;
11363 variable[12] = TAG_Bool(( variable[11] /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
11364 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction125___action, LOCATE_parser, 6583); nit_exit(1);}
11365 variable[12] = variable[7] /*nodearraylist3*/;
11366 variable[13] = TAG_Bool(( variable[12] /*pvisibilitynode6*/==NIT_NULL) || VAL_ISA( variable[12] /*pvisibilitynode6*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
11367 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction125___action, LOCATE_parser, 6585); nit_exit(1);}
11368 variable[13] = variable[6] /*nodearraylist4*/;
11369 variable[14] = TAG_Bool(( variable[13] /*tkwattrnode7*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwattrnode7*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
11370 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction125___action, LOCATE_parser, 6587); nit_exit(1);}
11371 variable[14] = variable[5] /*nodearraylist5*/;
11372 variable[15] = TAG_Bool(( variable[14] /*tattridnode8*/==NIT_NULL) || VAL_ISA( variable[14] /*tattridnode8*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
11373 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction125___action, LOCATE_parser, 6589); nit_exit(1);}
11374 variable[15] = variable[4] /*nodearraylist6*/;
11375 variable[16] = TAG_Bool(( variable[15] /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable[15] /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
11376 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction125___action, LOCATE_parser, 6591); nit_exit(1);}
11377 variable[17] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[10] /*pdocnode2*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable[11] /*tkwredefnode5*/, variable[12] /*pvisibilitynode6*/, variable[13] /*tkwattrnode7*/, variable[14] /*tattridnode8*/, variable[15] /*ptypenode9*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
11378 variable[16] = variable[17];
11379 variable[3] = variable[16] /*ppropdefnode1*/ /*node_list=*/;
11380 variable[17] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
11381 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
11382 return_label282: while(false);
11383 tracehead = trace.prev;
11384 return;
11385 }
11386 void parser___ReduceAction125___init(val_t self, int* init_table) {
11387 struct trace_t trace = {NULL, NULL, 6606, LOCATE_parser___ReduceAction125___init};
11388 val_t variable[2];
11389 void **closurevariable = NULL;
11390 trace.prev = tracehead; tracehead = &trace;
11391 trace.file = LOCATE_parser;
11392 variable[0] = self;
11393 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction125].i]) return;
11394 return_label283: while(false);
11395 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction125].i] = 1;
11396 tracehead = trace.prev;
11397 return;
11398 }
11399 void parser___ReduceAction126___action(val_t self, val_t param0) {
11400 struct trace_t trace = {NULL, NULL, 6610, LOCATE_parser___ReduceAction126___action};
11401 val_t variable[24];
11402 void **closurevariable = NULL;
11403 trace.prev = tracehead; tracehead = &trace;
11404 trace.file = LOCATE_parser;
11405 variable[0] = self;
11406 variable[1] = param0;
11407 variable[3] = NIT_NULL /*null*/;
11408 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11409 variable[4] = variable[5];
11410 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11411 variable[5] = variable[6];
11412 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11413 variable[6] = variable[7];
11414 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11415 variable[7] = variable[8];
11416 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11417 variable[8] = variable[9];
11418 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11419 variable[9] = variable[10];
11420 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11421 variable[10] = variable[11];
11422 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11423 variable[11] = variable[12];
11424 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11425 variable[12] = variable[13];
11426 variable[13] = variable[12] /*nodearraylist1*/;
11427 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
11428 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction126___action, LOCATE_parser, 6623); nit_exit(1);}
11429 variable[14] = variable[11] /*nodearraylist2*/;
11430 variable[15] = TAG_Bool(( variable[14] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
11431 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction126___action, LOCATE_parser, 6625); nit_exit(1);}
11432 variable[16] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[14] /*tkwreadablenode5*/); /*new AReadAble*/
11433 variable[15] = variable[16];
11434 variable[16] = variable[10] /*nodearraylist3*/;
11435 variable[17] = TAG_Bool(( variable[16] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
11436 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction126___action, LOCATE_parser, 6631); nit_exit(1);}
11437 variable[18] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[16] /*tkwwritablenode8*/); /*new AWriteAble*/
11438 variable[17] = variable[18];
11439 variable[18] = variable[9] /*nodearraylist4*/;
11440 variable[19] = TAG_Bool(( variable[18] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[18] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
11441 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction126___action, LOCATE_parser, 6637); nit_exit(1);}
11442 variable[19] = variable[8] /*nodearraylist5*/;
11443 variable[20] = TAG_Bool(( variable[19] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
11444 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction126___action, LOCATE_parser, 6639); nit_exit(1);}
11445 variable[20] = variable[7] /*nodearraylist6*/;
11446 variable[21] = TAG_Bool(( variable[20] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[20] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
11447 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction126___action, LOCATE_parser, 6641); nit_exit(1);}
11448 variable[21] = variable[4] /*nodearraylist9*/;
11449 variable[22] = TAG_Bool(( variable[21] /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable[21] /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
11450 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction126___action, LOCATE_parser, 6643); nit_exit(1);}
11451 variable[23] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[13] /*pdocnode2*/, variable[15] /*pablenode3*/, variable[17] /*pablenode6*/, NIT_NULL /*null*/, variable[18] /*pvisibilitynode10*/, variable[19] /*tkwattrnode11*/, variable[20] /*tattridnode12*/, NIT_NULL /*null*/, variable[21] /*pexprnode14*/); /*new AAttrPropdef*/
11452 variable[22] = variable[23];
11453 variable[3] = variable[22] /*ppropdefnode1*/ /*node_list=*/;
11454 variable[23] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
11455 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[23], variable[3] /*node_list*/) /*Parser::push*/;
11456 return_label284: while(false);
11457 tracehead = trace.prev;
11458 return;
11459 }
11460 void parser___ReduceAction126___init(val_t self, int* init_table) {
11461 struct trace_t trace = {NULL, NULL, 6658, LOCATE_parser___ReduceAction126___init};
11462 val_t variable[2];
11463 void **closurevariable = NULL;
11464 trace.prev = tracehead; tracehead = &trace;
11465 trace.file = LOCATE_parser;
11466 variable[0] = self;
11467 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction126].i]) return;
11468 return_label285: while(false);
11469 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction126].i] = 1;
11470 tracehead = trace.prev;
11471 return;
11472 }
11473 void parser___ReduceAction127___action(val_t self, val_t param0) {
11474 struct trace_t trace = {NULL, NULL, 6662, LOCATE_parser___ReduceAction127___action};
11475 val_t variable[26];
11476 void **closurevariable = NULL;
11477 trace.prev = tracehead; tracehead = &trace;
11478 trace.file = LOCATE_parser;
11479 variable[0] = self;
11480 variable[1] = param0;
11481 variable[3] = NIT_NULL /*null*/;
11482 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11483 variable[4] = variable[5];
11484 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11485 variable[5] = variable[6];
11486 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11487 variable[6] = variable[7];
11488 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11489 variable[7] = variable[8];
11490 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11491 variable[8] = variable[9];
11492 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11493 variable[9] = variable[10];
11494 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11495 variable[10] = variable[11];
11496 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11497 variable[11] = variable[12];
11498 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11499 variable[12] = variable[13];
11500 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11501 variable[13] = variable[14];
11502 variable[14] = variable[13] /*nodearraylist1*/;
11503 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
11504 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction127___action, LOCATE_parser, 6676); nit_exit(1);}
11505 variable[15] = variable[12] /*nodearraylist2*/;
11506 variable[16] = TAG_Bool(( variable[15] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
11507 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction127___action, LOCATE_parser, 6678); nit_exit(1);}
11508 variable[17] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[15] /*tkwreadablenode5*/); /*new AReadAble*/
11509 variable[16] = variable[17];
11510 variable[17] = variable[11] /*nodearraylist3*/;
11511 variable[18] = TAG_Bool(( variable[17] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
11512 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction127___action, LOCATE_parser, 6684); nit_exit(1);}
11513 variable[18] = variable[10] /*nodearraylist4*/;
11514 variable[19] = TAG_Bool(( variable[18] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
11515 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction127___action, LOCATE_parser, 6686); nit_exit(1);}
11516 variable[20] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[17] /*tkwredefnode7*/, variable[18] /*tkwwritablenode8*/); /*new AWriteAble*/
11517 variable[19] = variable[20];
11518 variable[20] = variable[9] /*nodearraylist5*/;
11519 variable[21] = TAG_Bool(( variable[20] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[20] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
11520 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction127___action, LOCATE_parser, 6692); nit_exit(1);}
11521 variable[21] = variable[8] /*nodearraylist6*/;
11522 variable[22] = TAG_Bool(( variable[21] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[21] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
11523 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction127___action, LOCATE_parser, 6694); nit_exit(1);}
11524 variable[22] = variable[7] /*nodearraylist7*/;
11525 variable[23] = TAG_Bool(( variable[22] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[22] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
11526 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction127___action, LOCATE_parser, 6696); nit_exit(1);}
11527 variable[23] = variable[4] /*nodearraylist10*/;
11528 variable[24] = TAG_Bool(( variable[23] /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable[23] /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
11529 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction127___action, LOCATE_parser, 6698); nit_exit(1);}
11530 variable[25] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[14] /*pdocnode2*/, variable[16] /*pablenode3*/, variable[19] /*pablenode6*/, NIT_NULL /*null*/, variable[20] /*pvisibilitynode10*/, variable[21] /*tkwattrnode11*/, variable[22] /*tattridnode12*/, NIT_NULL /*null*/, variable[23] /*pexprnode14*/); /*new AAttrPropdef*/
11531 variable[24] = variable[25];
11532 variable[3] = variable[24] /*ppropdefnode1*/ /*node_list=*/;
11533 variable[25] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
11534 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[25], variable[3] /*node_list*/) /*Parser::push*/;
11535 return_label286: while(false);
11536 tracehead = trace.prev;
11537 return;
11538 }
11539 void parser___ReduceAction127___init(val_t self, int* init_table) {
11540 struct trace_t trace = {NULL, NULL, 6713, LOCATE_parser___ReduceAction127___init};
11541 val_t variable[2];
11542 void **closurevariable = NULL;
11543 trace.prev = tracehead; tracehead = &trace;
11544 trace.file = LOCATE_parser;
11545 variable[0] = self;
11546 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction127].i]) return;
11547 return_label287: while(false);
11548 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction127].i] = 1;
11549 tracehead = trace.prev;
11550 return;
11551 }
11552 void parser___ReduceAction128___action(val_t self, val_t param0) {
11553 struct trace_t trace = {NULL, NULL, 6717, LOCATE_parser___ReduceAction128___action};
11554 val_t variable[21];
11555 void **closurevariable = NULL;
11556 trace.prev = tracehead; tracehead = &trace;
11557 trace.file = LOCATE_parser;
11558 variable[0] = self;
11559 variable[1] = param0;
11560 variable[3] = NIT_NULL /*null*/;
11561 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11562 variable[4] = variable[5];
11563 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11564 variable[5] = variable[6];
11565 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11566 variable[6] = variable[7];
11567 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11568 variable[7] = variable[8];
11569 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11570 variable[8] = variable[9];
11571 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11572 variable[9] = variable[10];
11573 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11574 variable[10] = variable[11];
11575 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11576 variable[11] = variable[12];
11577 variable[12] = variable[11] /*nodearraylist1*/;
11578 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
11579 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction128___action, LOCATE_parser, 6729); nit_exit(1);}
11580 variable[13] = variable[10] /*nodearraylist2*/;
11581 variable[14] = TAG_Bool(( variable[13] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
11582 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction128___action, LOCATE_parser, 6731); nit_exit(1);}
11583 variable[15] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[13] /*tkwreadablenode5*/); /*new AReadAble*/
11584 variable[14] = variable[15];
11585 variable[15] = variable[9] /*nodearraylist3*/;
11586 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
11587 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction128___action, LOCATE_parser, 6737); nit_exit(1);}
11588 variable[16] = variable[8] /*nodearraylist4*/;
11589 variable[17] = TAG_Bool(( variable[16] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
11590 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction128___action, LOCATE_parser, 6739); nit_exit(1);}
11591 variable[17] = variable[7] /*nodearraylist5*/;
11592 variable[18] = TAG_Bool(( variable[17] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[17] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
11593 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction128___action, LOCATE_parser, 6741); nit_exit(1);}
11594 variable[18] = variable[4] /*nodearraylist8*/;
11595 variable[19] = TAG_Bool(( variable[18] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[18] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
11596 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction128___action, LOCATE_parser, 6743); nit_exit(1);}
11597 variable[20] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[12] /*pdocnode2*/, variable[14] /*pablenode3*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable[15] /*pvisibilitynode8*/, variable[16] /*tkwattrnode9*/, variable[17] /*tattridnode10*/, NIT_NULL /*null*/, variable[18] /*pexprnode12*/); /*new AAttrPropdef*/
11598 variable[19] = variable[20];
11599 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
11600 variable[20] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
11601 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
11602 return_label288: while(false);
11603 tracehead = trace.prev;
11604 return;
11605 }
11606 void parser___ReduceAction128___init(val_t self, int* init_table) {
11607 struct trace_t trace = {NULL, NULL, 6758, LOCATE_parser___ReduceAction128___init};
11608 val_t variable[2];
11609 void **closurevariable = NULL;
11610 trace.prev = tracehead; tracehead = &trace;
11611 trace.file = LOCATE_parser;
11612 variable[0] = self;
11613 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction128].i]) return;
11614 return_label289: while(false);
11615 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction128].i] = 1;
11616 tracehead = trace.prev;
11617 return;
11618 }
11619 void parser___ReduceAction129___action(val_t self, val_t param0) {
11620 struct trace_t trace = {NULL, NULL, 6762, LOCATE_parser___ReduceAction129___action};
11621 val_t variable[26];
11622 void **closurevariable = NULL;
11623 trace.prev = tracehead; tracehead = &trace;
11624 trace.file = LOCATE_parser;
11625 variable[0] = self;
11626 variable[1] = param0;
11627 variable[3] = NIT_NULL /*null*/;
11628 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11629 variable[4] = variable[5];
11630 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11631 variable[5] = variable[6];
11632 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11633 variable[6] = variable[7];
11634 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11635 variable[7] = variable[8];
11636 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11637 variable[8] = variable[9];
11638 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11639 variable[9] = variable[10];
11640 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11641 variable[10] = variable[11];
11642 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11643 variable[11] = variable[12];
11644 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11645 variable[12] = variable[13];
11646 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11647 variable[13] = variable[14];
11648 variable[14] = variable[13] /*nodearraylist1*/;
11649 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
11650 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction129___action, LOCATE_parser, 6776); nit_exit(1);}
11651 variable[15] = variable[12] /*nodearraylist2*/;
11652 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
11653 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction129___action, LOCATE_parser, 6778); nit_exit(1);}
11654 variable[16] = variable[11] /*nodearraylist3*/;
11655 variable[17] = TAG_Bool(( variable[16] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
11656 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction129___action, LOCATE_parser, 6780); nit_exit(1);}
11657 variable[18] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[15] /*tkwredefnode4*/, variable[16] /*tkwreadablenode5*/); /*new AReadAble*/
11658 variable[17] = variable[18];
11659 variable[18] = variable[10] /*nodearraylist4*/;
11660 variable[19] = TAG_Bool(( variable[18] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
11661 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction129___action, LOCATE_parser, 6786); nit_exit(1);}
11662 variable[20] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[18] /*tkwwritablenode8*/); /*new AWriteAble*/
11663 variable[19] = variable[20];
11664 variable[20] = variable[9] /*nodearraylist5*/;
11665 variable[21] = TAG_Bool(( variable[20] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[20] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
11666 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction129___action, LOCATE_parser, 6792); nit_exit(1);}
11667 variable[21] = variable[8] /*nodearraylist6*/;
11668 variable[22] = TAG_Bool(( variable[21] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[21] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
11669 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction129___action, LOCATE_parser, 6794); nit_exit(1);}
11670 variable[22] = variable[7] /*nodearraylist7*/;
11671 variable[23] = TAG_Bool(( variable[22] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[22] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
11672 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction129___action, LOCATE_parser, 6796); nit_exit(1);}
11673 variable[23] = variable[4] /*nodearraylist10*/;
11674 variable[24] = TAG_Bool(( variable[23] /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable[23] /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
11675 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction129___action, LOCATE_parser, 6798); nit_exit(1);}
11676 variable[25] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[14] /*pdocnode2*/, variable[17] /*pablenode3*/, variable[19] /*pablenode6*/, NIT_NULL /*null*/, variable[20] /*pvisibilitynode10*/, variable[21] /*tkwattrnode11*/, variable[22] /*tattridnode12*/, NIT_NULL /*null*/, variable[23] /*pexprnode14*/); /*new AAttrPropdef*/
11677 variable[24] = variable[25];
11678 variable[3] = variable[24] /*ppropdefnode1*/ /*node_list=*/;
11679 variable[25] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
11680 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[25], variable[3] /*node_list*/) /*Parser::push*/;
11681 return_label290: while(false);
11682 tracehead = trace.prev;
11683 return;
11684 }
11685 void parser___ReduceAction129___init(val_t self, int* init_table) {
11686 struct trace_t trace = {NULL, NULL, 6813, LOCATE_parser___ReduceAction129___init};
11687 val_t variable[2];
11688 void **closurevariable = NULL;
11689 trace.prev = tracehead; tracehead = &trace;
11690 trace.file = LOCATE_parser;
11691 variable[0] = self;
11692 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction129].i]) return;
11693 return_label291: while(false);
11694 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction129].i] = 1;
11695 tracehead = trace.prev;
11696 return;
11697 }
11698 void parser___ReduceAction130___action(val_t self, val_t param0) {
11699 struct trace_t trace = {NULL, NULL, 6817, LOCATE_parser___ReduceAction130___action};
11700 val_t variable[28];
11701 void **closurevariable = NULL;
11702 trace.prev = tracehead; tracehead = &trace;
11703 trace.file = LOCATE_parser;
11704 variable[0] = self;
11705 variable[1] = param0;
11706 variable[3] = NIT_NULL /*null*/;
11707 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11708 variable[4] = variable[5];
11709 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11710 variable[5] = variable[6];
11711 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11712 variable[6] = variable[7];
11713 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11714 variable[7] = variable[8];
11715 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11716 variable[8] = variable[9];
11717 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11718 variable[9] = variable[10];
11719 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11720 variable[10] = variable[11];
11721 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11722 variable[11] = variable[12];
11723 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11724 variable[12] = variable[13];
11725 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11726 variable[13] = variable[14];
11727 variable[15] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11728 variable[14] = variable[15];
11729 variable[15] = variable[14] /*nodearraylist1*/;
11730 variable[16] = TAG_Bool(( variable[15] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
11731 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction130___action, LOCATE_parser, 6832); nit_exit(1);}
11732 variable[16] = variable[13] /*nodearraylist2*/;
11733 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
11734 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction130___action, LOCATE_parser, 6834); nit_exit(1);}
11735 variable[17] = variable[12] /*nodearraylist3*/;
11736 variable[18] = TAG_Bool(( variable[17] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
11737 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction130___action, LOCATE_parser, 6836); nit_exit(1);}
11738 variable[19] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[16] /*tkwredefnode4*/, variable[17] /*tkwreadablenode5*/); /*new AReadAble*/
11739 variable[18] = variable[19];
11740 variable[19] = variable[11] /*nodearraylist4*/;
11741 variable[20] = TAG_Bool(( variable[19] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
11742 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction130___action, LOCATE_parser, 6842); nit_exit(1);}
11743 variable[20] = variable[10] /*nodearraylist5*/;
11744 variable[21] = TAG_Bool(( variable[20] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[20] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
11745 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction130___action, LOCATE_parser, 6844); nit_exit(1);}
11746 variable[22] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[19] /*tkwredefnode7*/, variable[20] /*tkwwritablenode8*/); /*new AWriteAble*/
11747 variable[21] = variable[22];
11748 variable[22] = variable[9] /*nodearraylist6*/;
11749 variable[23] = TAG_Bool(( variable[22] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[22] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
11750 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction130___action, LOCATE_parser, 6850); nit_exit(1);}
11751 variable[23] = variable[8] /*nodearraylist7*/;
11752 variable[24] = TAG_Bool(( variable[23] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[23] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
11753 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction130___action, LOCATE_parser, 6852); nit_exit(1);}
11754 variable[24] = variable[7] /*nodearraylist8*/;
11755 variable[25] = TAG_Bool(( variable[24] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[24] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
11756 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction130___action, LOCATE_parser, 6854); nit_exit(1);}
11757 variable[25] = variable[4] /*nodearraylist11*/;
11758 variable[26] = TAG_Bool(( variable[25] /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable[25] /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
11759 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction130___action, LOCATE_parser, 6856); nit_exit(1);}
11760 variable[27] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[15] /*pdocnode2*/, variable[18] /*pablenode3*/, variable[21] /*pablenode6*/, NIT_NULL /*null*/, variable[22] /*pvisibilitynode10*/, variable[23] /*tkwattrnode11*/, variable[24] /*tattridnode12*/, NIT_NULL /*null*/, variable[25] /*pexprnode14*/); /*new AAttrPropdef*/
11761 variable[26] = variable[27];
11762 variable[3] = variable[26] /*ppropdefnode1*/ /*node_list=*/;
11763 variable[27] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
11764 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[27], variable[3] /*node_list*/) /*Parser::push*/;
11765 return_label292: while(false);
11766 tracehead = trace.prev;
11767 return;
11768 }
11769 void parser___ReduceAction130___init(val_t self, int* init_table) {
11770 struct trace_t trace = {NULL, NULL, 6871, LOCATE_parser___ReduceAction130___init};
11771 val_t variable[2];
11772 void **closurevariable = NULL;
11773 trace.prev = tracehead; tracehead = &trace;
11774 trace.file = LOCATE_parser;
11775 variable[0] = self;
11776 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction130].i]) return;
11777 return_label293: while(false);
11778 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction130].i] = 1;
11779 tracehead = trace.prev;
11780 return;
11781 }
11782 void parser___ReduceAction131___action(val_t self, val_t param0) {
11783 struct trace_t trace = {NULL, NULL, 6875, LOCATE_parser___ReduceAction131___action};
11784 val_t variable[23];
11785 void **closurevariable = NULL;
11786 trace.prev = tracehead; tracehead = &trace;
11787 trace.file = LOCATE_parser;
11788 variable[0] = self;
11789 variable[1] = param0;
11790 variable[3] = NIT_NULL /*null*/;
11791 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11792 variable[4] = variable[5];
11793 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11794 variable[5] = variable[6];
11795 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11796 variable[6] = variable[7];
11797 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11798 variable[7] = variable[8];
11799 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11800 variable[8] = variable[9];
11801 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11802 variable[9] = variable[10];
11803 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11804 variable[10] = variable[11];
11805 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11806 variable[11] = variable[12];
11807 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11808 variable[12] = variable[13];
11809 variable[13] = variable[12] /*nodearraylist1*/;
11810 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
11811 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction131___action, LOCATE_parser, 6888); nit_exit(1);}
11812 variable[14] = variable[11] /*nodearraylist2*/;
11813 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
11814 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction131___action, LOCATE_parser, 6890); nit_exit(1);}
11815 variable[15] = variable[10] /*nodearraylist3*/;
11816 variable[16] = TAG_Bool(( variable[15] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
11817 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction131___action, LOCATE_parser, 6892); nit_exit(1);}
11818 variable[17] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[14] /*tkwredefnode4*/, variable[15] /*tkwreadablenode5*/); /*new AReadAble*/
11819 variable[16] = variable[17];
11820 variable[17] = variable[9] /*nodearraylist4*/;
11821 variable[18] = TAG_Bool(( variable[17] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[17] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
11822 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction131___action, LOCATE_parser, 6898); nit_exit(1);}
11823 variable[18] = variable[8] /*nodearraylist5*/;
11824 variable[19] = TAG_Bool(( variable[18] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
11825 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction131___action, LOCATE_parser, 6900); nit_exit(1);}
11826 variable[19] = variable[7] /*nodearraylist6*/;
11827 variable[20] = TAG_Bool(( variable[19] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[19] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
11828 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction131___action, LOCATE_parser, 6902); nit_exit(1);}
11829 variable[20] = variable[4] /*nodearraylist9*/;
11830 variable[21] = TAG_Bool(( variable[20] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[20] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
11831 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction131___action, LOCATE_parser, 6904); nit_exit(1);}
11832 variable[22] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[13] /*pdocnode2*/, variable[16] /*pablenode3*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable[17] /*pvisibilitynode8*/, variable[18] /*tkwattrnode9*/, variable[19] /*tattridnode10*/, NIT_NULL /*null*/, variable[20] /*pexprnode12*/); /*new AAttrPropdef*/
11833 variable[21] = variable[22];
11834 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
11835 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
11836 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
11837 return_label294: while(false);
11838 tracehead = trace.prev;
11839 return;
11840 }
11841 void parser___ReduceAction131___init(val_t self, int* init_table) {
11842 struct trace_t trace = {NULL, NULL, 6919, LOCATE_parser___ReduceAction131___init};
11843 val_t variable[2];
11844 void **closurevariable = NULL;
11845 trace.prev = tracehead; tracehead = &trace;
11846 trace.file = LOCATE_parser;
11847 variable[0] = self;
11848 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction131].i]) return;
11849 return_label295: while(false);
11850 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction131].i] = 1;
11851 tracehead = trace.prev;
11852 return;
11853 }
11854 void parser___ReduceAction132___action(val_t self, val_t param0) {
11855 struct trace_t trace = {NULL, NULL, 6923, LOCATE_parser___ReduceAction132___action};
11856 val_t variable[21];
11857 void **closurevariable = NULL;
11858 trace.prev = tracehead; tracehead = &trace;
11859 trace.file = LOCATE_parser;
11860 variable[0] = self;
11861 variable[1] = param0;
11862 variable[3] = NIT_NULL /*null*/;
11863 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11864 variable[4] = variable[5];
11865 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11866 variable[5] = variable[6];
11867 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11868 variable[6] = variable[7];
11869 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11870 variable[7] = variable[8];
11871 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11872 variable[8] = variable[9];
11873 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11874 variable[9] = variable[10];
11875 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11876 variable[10] = variable[11];
11877 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11878 variable[11] = variable[12];
11879 variable[12] = variable[11] /*nodearraylist1*/;
11880 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
11881 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction132___action, LOCATE_parser, 6935); nit_exit(1);}
11882 variable[13] = variable[10] /*nodearraylist2*/;
11883 variable[14] = TAG_Bool(( variable[13] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
11884 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction132___action, LOCATE_parser, 6937); nit_exit(1);}
11885 variable[15] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[13] /*tkwwritablenode6*/); /*new AWriteAble*/
11886 variable[14] = variable[15];
11887 variable[15] = variable[9] /*nodearraylist3*/;
11888 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
11889 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction132___action, LOCATE_parser, 6943); nit_exit(1);}
11890 variable[16] = variable[8] /*nodearraylist4*/;
11891 variable[17] = TAG_Bool(( variable[16] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
11892 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction132___action, LOCATE_parser, 6945); nit_exit(1);}
11893 variable[17] = variable[7] /*nodearraylist5*/;
11894 variable[18] = TAG_Bool(( variable[17] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[17] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
11895 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction132___action, LOCATE_parser, 6947); nit_exit(1);}
11896 variable[18] = variable[4] /*nodearraylist8*/;
11897 variable[19] = TAG_Bool(( variable[18] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[18] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
11898 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction132___action, LOCATE_parser, 6949); nit_exit(1);}
11899 variable[20] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[12] /*pdocnode2*/, NIT_NULL /*null*/, variable[14] /*pablenode4*/, NIT_NULL /*null*/, variable[15] /*pvisibilitynode8*/, variable[16] /*tkwattrnode9*/, variable[17] /*tattridnode10*/, NIT_NULL /*null*/, variable[18] /*pexprnode12*/); /*new AAttrPropdef*/
11900 variable[19] = variable[20];
11901 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
11902 variable[20] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
11903 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
11904 return_label296: while(false);
11905 tracehead = trace.prev;
11906 return;
11907 }
11908 void parser___ReduceAction132___init(val_t self, int* init_table) {
11909 struct trace_t trace = {NULL, NULL, 6964, LOCATE_parser___ReduceAction132___init};
11910 val_t variable[2];
11911 void **closurevariable = NULL;
11912 trace.prev = tracehead; tracehead = &trace;
11913 trace.file = LOCATE_parser;
11914 variable[0] = self;
11915 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction132].i]) return;
11916 return_label297: while(false);
11917 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction132].i] = 1;
11918 tracehead = trace.prev;
11919 return;
11920 }
11921 void parser___ReduceAction133___action(val_t self, val_t param0) {
11922 struct trace_t trace = {NULL, NULL, 6968, LOCATE_parser___ReduceAction133___action};
11923 val_t variable[23];
11924 void **closurevariable = NULL;
11925 trace.prev = tracehead; tracehead = &trace;
11926 trace.file = LOCATE_parser;
11927 variable[0] = self;
11928 variable[1] = param0;
11929 variable[3] = NIT_NULL /*null*/;
11930 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11931 variable[4] = variable[5];
11932 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11933 variable[5] = variable[6];
11934 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11935 variable[6] = variable[7];
11936 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11937 variable[7] = variable[8];
11938 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11939 variable[8] = variable[9];
11940 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11941 variable[9] = variable[10];
11942 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11943 variable[10] = variable[11];
11944 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11945 variable[11] = variable[12];
11946 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
11947 variable[12] = variable[13];
11948 variable[13] = variable[12] /*nodearraylist1*/;
11949 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
11950 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction133___action, LOCATE_parser, 6981); nit_exit(1);}
11951 variable[14] = variable[11] /*nodearraylist2*/;
11952 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
11953 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction133___action, LOCATE_parser, 6983); nit_exit(1);}
11954 variable[15] = variable[10] /*nodearraylist3*/;
11955 variable[16] = TAG_Bool(( variable[15] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
11956 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction133___action, LOCATE_parser, 6985); nit_exit(1);}
11957 variable[17] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[14] /*tkwredefnode5*/, variable[15] /*tkwwritablenode6*/); /*new AWriteAble*/
11958 variable[16] = variable[17];
11959 variable[17] = variable[9] /*nodearraylist4*/;
11960 variable[18] = TAG_Bool(( variable[17] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[17] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
11961 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction133___action, LOCATE_parser, 6991); nit_exit(1);}
11962 variable[18] = variable[8] /*nodearraylist5*/;
11963 variable[19] = TAG_Bool(( variable[18] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
11964 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction133___action, LOCATE_parser, 6993); nit_exit(1);}
11965 variable[19] = variable[7] /*nodearraylist6*/;
11966 variable[20] = TAG_Bool(( variable[19] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[19] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
11967 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction133___action, LOCATE_parser, 6995); nit_exit(1);}
11968 variable[20] = variable[4] /*nodearraylist9*/;
11969 variable[21] = TAG_Bool(( variable[20] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[20] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
11970 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction133___action, LOCATE_parser, 6997); nit_exit(1);}
11971 variable[22] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[13] /*pdocnode2*/, NIT_NULL /*null*/, variable[16] /*pablenode4*/, NIT_NULL /*null*/, variable[17] /*pvisibilitynode8*/, variable[18] /*tkwattrnode9*/, variable[19] /*tattridnode10*/, NIT_NULL /*null*/, variable[20] /*pexprnode12*/); /*new AAttrPropdef*/
11972 variable[21] = variable[22];
11973 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
11974 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
11975 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
11976 return_label298: while(false);
11977 tracehead = trace.prev;
11978 return;
11979 }
11980 void parser___ReduceAction133___init(val_t self, int* init_table) {
11981 struct trace_t trace = {NULL, NULL, 7012, LOCATE_parser___ReduceAction133___init};
11982 val_t variable[2];
11983 void **closurevariable = NULL;
11984 trace.prev = tracehead; tracehead = &trace;
11985 trace.file = LOCATE_parser;
11986 variable[0] = self;
11987 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction133].i]) return;
11988 return_label299: while(false);
11989 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction133].i] = 1;
11990 tracehead = trace.prev;
11991 return;
11992 }
11993 void parser___ReduceAction134___action(val_t self, val_t param0) {
11994 struct trace_t trace = {NULL, NULL, 7016, LOCATE_parser___ReduceAction134___action};
11995 val_t variable[18];
11996 void **closurevariable = NULL;
11997 trace.prev = tracehead; tracehead = &trace;
11998 trace.file = LOCATE_parser;
11999 variable[0] = self;
12000 variable[1] = param0;
12001 variable[3] = NIT_NULL /*null*/;
12002 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12003 variable[4] = variable[5];
12004 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12005 variable[5] = variable[6];
12006 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12007 variable[6] = variable[7];
12008 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12009 variable[7] = variable[8];
12010 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12011 variable[8] = variable[9];
12012 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12013 variable[9] = variable[10];
12014 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12015 variable[10] = variable[11];
12016 variable[11] = variable[10] /*nodearraylist1*/;
12017 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
12018 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction134___action, LOCATE_parser, 7027); nit_exit(1);}
12019 variable[12] = variable[9] /*nodearraylist2*/;
12020 variable[13] = TAG_Bool(( variable[12] /*pvisibilitynode6*/==NIT_NULL) || VAL_ISA( variable[12] /*pvisibilitynode6*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
12021 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction134___action, LOCATE_parser, 7029); nit_exit(1);}
12022 variable[13] = variable[8] /*nodearraylist3*/;
12023 variable[14] = TAG_Bool(( variable[13] /*tkwattrnode7*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwattrnode7*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
12024 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction134___action, LOCATE_parser, 7031); nit_exit(1);}
12025 variable[14] = variable[7] /*nodearraylist4*/;
12026 variable[15] = TAG_Bool(( variable[14] /*tattridnode8*/==NIT_NULL) || VAL_ISA( variable[14] /*tattridnode8*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
12027 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction134___action, LOCATE_parser, 7033); nit_exit(1);}
12028 variable[15] = variable[4] /*nodearraylist7*/;
12029 variable[16] = TAG_Bool(( variable[15] /*pexprnode10*/==NIT_NULL) || VAL_ISA( variable[15] /*pexprnode10*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
12030 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction134___action, LOCATE_parser, 7035); nit_exit(1);}
12031 variable[17] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[11] /*pdocnode2*/, NIT_NULL /*null*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable[12] /*pvisibilitynode6*/, variable[13] /*tkwattrnode7*/, variable[14] /*tattridnode8*/, NIT_NULL /*null*/, variable[15] /*pexprnode10*/); /*new AAttrPropdef*/
12032 variable[16] = variable[17];
12033 variable[3] = variable[16] /*ppropdefnode1*/ /*node_list=*/;
12034 variable[17] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
12035 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
12036 return_label300: while(false);
12037 tracehead = trace.prev;
12038 return;
12039 }
12040 void parser___ReduceAction134___init(val_t self, int* init_table) {
12041 struct trace_t trace = {NULL, NULL, 7050, LOCATE_parser___ReduceAction134___init};
12042 val_t variable[2];
12043 void **closurevariable = NULL;
12044 trace.prev = tracehead; tracehead = &trace;
12045 trace.file = LOCATE_parser;
12046 variable[0] = self;
12047 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction134].i]) return;
12048 return_label301: while(false);
12049 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction134].i] = 1;
12050 tracehead = trace.prev;
12051 return;
12052 }
12053 void parser___ReduceAction135___action(val_t self, val_t param0) {
12054 struct trace_t trace = {NULL, NULL, 7054, LOCATE_parser___ReduceAction135___action};
12055 val_t variable[26];
12056 void **closurevariable = NULL;
12057 trace.prev = tracehead; tracehead = &trace;
12058 trace.file = LOCATE_parser;
12059 variable[0] = self;
12060 variable[1] = param0;
12061 variable[3] = NIT_NULL /*null*/;
12062 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12063 variable[4] = variable[5];
12064 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12065 variable[5] = variable[6];
12066 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12067 variable[6] = variable[7];
12068 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12069 variable[7] = variable[8];
12070 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12071 variable[8] = variable[9];
12072 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12073 variable[9] = variable[10];
12074 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12075 variable[10] = variable[11];
12076 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12077 variable[11] = variable[12];
12078 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12079 variable[12] = variable[13];
12080 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12081 variable[13] = variable[14];
12082 variable[14] = variable[13] /*nodearraylist1*/;
12083 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
12084 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction135___action, LOCATE_parser, 7068); nit_exit(1);}
12085 variable[15] = variable[12] /*nodearraylist2*/;
12086 variable[16] = TAG_Bool(( variable[15] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
12087 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction135___action, LOCATE_parser, 7070); nit_exit(1);}
12088 variable[17] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[15] /*tkwreadablenode5*/); /*new AReadAble*/
12089 variable[16] = variable[17];
12090 variable[17] = variable[11] /*nodearraylist3*/;
12091 variable[18] = TAG_Bool(( variable[17] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
12092 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction135___action, LOCATE_parser, 7076); nit_exit(1);}
12093 variable[19] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[17] /*tkwwritablenode8*/); /*new AWriteAble*/
12094 variable[18] = variable[19];
12095 variable[19] = variable[10] /*nodearraylist4*/;
12096 variable[20] = TAG_Bool(( variable[19] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
12097 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction135___action, LOCATE_parser, 7082); nit_exit(1);}
12098 variable[20] = variable[9] /*nodearraylist5*/;
12099 variable[21] = TAG_Bool(( variable[20] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[20] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
12100 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction135___action, LOCATE_parser, 7084); nit_exit(1);}
12101 variable[21] = variable[8] /*nodearraylist6*/;
12102 variable[22] = TAG_Bool(( variable[21] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[21] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
12103 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction135___action, LOCATE_parser, 7086); nit_exit(1);}
12104 variable[22] = variable[7] /*nodearraylist7*/;
12105 variable[23] = TAG_Bool(( variable[22] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[22] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
12106 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction135___action, LOCATE_parser, 7088); nit_exit(1);}
12107 variable[23] = variable[4] /*nodearraylist10*/;
12108 variable[24] = TAG_Bool(( variable[23] /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable[23] /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
12109 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction135___action, LOCATE_parser, 7090); nit_exit(1);}
12110 variable[25] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[14] /*pdocnode2*/, variable[16] /*pablenode3*/, variable[18] /*pablenode6*/, variable[19] /*tkwredefnode9*/, variable[20] /*pvisibilitynode10*/, variable[21] /*tkwattrnode11*/, variable[22] /*tattridnode12*/, NIT_NULL /*null*/, variable[23] /*pexprnode14*/); /*new AAttrPropdef*/
12111 variable[24] = variable[25];
12112 variable[3] = variable[24] /*ppropdefnode1*/ /*node_list=*/;
12113 variable[25] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
12114 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[25], variable[3] /*node_list*/) /*Parser::push*/;
12115 return_label302: while(false);
12116 tracehead = trace.prev;
12117 return;
12118 }
12119 void parser___ReduceAction135___init(val_t self, int* init_table) {
12120 struct trace_t trace = {NULL, NULL, 7105, LOCATE_parser___ReduceAction135___init};
12121 val_t variable[2];
12122 void **closurevariable = NULL;
12123 trace.prev = tracehead; tracehead = &trace;
12124 trace.file = LOCATE_parser;
12125 variable[0] = self;
12126 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction135].i]) return;
12127 return_label303: while(false);
12128 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction135].i] = 1;
12129 tracehead = trace.prev;
12130 return;
12131 }
12132 void parser___ReduceAction136___action(val_t self, val_t param0) {
12133 struct trace_t trace = {NULL, NULL, 7109, LOCATE_parser___ReduceAction136___action};
12134 val_t variable[28];
12135 void **closurevariable = NULL;
12136 trace.prev = tracehead; tracehead = &trace;
12137 trace.file = LOCATE_parser;
12138 variable[0] = self;
12139 variable[1] = param0;
12140 variable[3] = NIT_NULL /*null*/;
12141 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12142 variable[4] = variable[5];
12143 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12144 variable[5] = variable[6];
12145 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12146 variable[6] = variable[7];
12147 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12148 variable[7] = variable[8];
12149 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12150 variable[8] = variable[9];
12151 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12152 variable[9] = variable[10];
12153 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12154 variable[10] = variable[11];
12155 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12156 variable[11] = variable[12];
12157 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12158 variable[12] = variable[13];
12159 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12160 variable[13] = variable[14];
12161 variable[15] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12162 variable[14] = variable[15];
12163 variable[15] = variable[14] /*nodearraylist1*/;
12164 variable[16] = TAG_Bool(( variable[15] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
12165 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction136___action, LOCATE_parser, 7124); nit_exit(1);}
12166 variable[16] = variable[13] /*nodearraylist2*/;
12167 variable[17] = TAG_Bool(( variable[16] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
12168 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction136___action, LOCATE_parser, 7126); nit_exit(1);}
12169 variable[18] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[16] /*tkwreadablenode5*/); /*new AReadAble*/
12170 variable[17] = variable[18];
12171 variable[18] = variable[12] /*nodearraylist3*/;
12172 variable[19] = TAG_Bool(( variable[18] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
12173 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction136___action, LOCATE_parser, 7132); nit_exit(1);}
12174 variable[19] = variable[11] /*nodearraylist4*/;
12175 variable[20] = TAG_Bool(( variable[19] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
12176 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction136___action, LOCATE_parser, 7134); nit_exit(1);}
12177 variable[21] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[18] /*tkwredefnode7*/, variable[19] /*tkwwritablenode8*/); /*new AWriteAble*/
12178 variable[20] = variable[21];
12179 variable[21] = variable[10] /*nodearraylist5*/;
12180 variable[22] = TAG_Bool(( variable[21] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[21] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
12181 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction136___action, LOCATE_parser, 7140); nit_exit(1);}
12182 variable[22] = variable[9] /*nodearraylist6*/;
12183 variable[23] = TAG_Bool(( variable[22] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[22] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
12184 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction136___action, LOCATE_parser, 7142); nit_exit(1);}
12185 variable[23] = variable[8] /*nodearraylist7*/;
12186 variable[24] = TAG_Bool(( variable[23] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[23] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
12187 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction136___action, LOCATE_parser, 7144); nit_exit(1);}
12188 variable[24] = variable[7] /*nodearraylist8*/;
12189 variable[25] = TAG_Bool(( variable[24] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[24] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
12190 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction136___action, LOCATE_parser, 7146); nit_exit(1);}
12191 variable[25] = variable[4] /*nodearraylist11*/;
12192 variable[26] = TAG_Bool(( variable[25] /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable[25] /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
12193 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction136___action, LOCATE_parser, 7148); nit_exit(1);}
12194 variable[27] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[15] /*pdocnode2*/, variable[17] /*pablenode3*/, variable[20] /*pablenode6*/, variable[21] /*tkwredefnode9*/, variable[22] /*pvisibilitynode10*/, variable[23] /*tkwattrnode11*/, variable[24] /*tattridnode12*/, NIT_NULL /*null*/, variable[25] /*pexprnode14*/); /*new AAttrPropdef*/
12195 variable[26] = variable[27];
12196 variable[3] = variable[26] /*ppropdefnode1*/ /*node_list=*/;
12197 variable[27] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
12198 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[27], variable[3] /*node_list*/) /*Parser::push*/;
12199 return_label304: while(false);
12200 tracehead = trace.prev;
12201 return;
12202 }
12203 void parser___ReduceAction136___init(val_t self, int* init_table) {
12204 struct trace_t trace = {NULL, NULL, 7163, LOCATE_parser___ReduceAction136___init};
12205 val_t variable[2];
12206 void **closurevariable = NULL;
12207 trace.prev = tracehead; tracehead = &trace;
12208 trace.file = LOCATE_parser;
12209 variable[0] = self;
12210 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction136].i]) return;
12211 return_label305: while(false);
12212 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction136].i] = 1;
12213 tracehead = trace.prev;
12214 return;
12215 }
12216 void parser___ReduceAction137___action(val_t self, val_t param0) {
12217 struct trace_t trace = {NULL, NULL, 7167, LOCATE_parser___ReduceAction137___action};
12218 val_t variable[23];
12219 void **closurevariable = NULL;
12220 trace.prev = tracehead; tracehead = &trace;
12221 trace.file = LOCATE_parser;
12222 variable[0] = self;
12223 variable[1] = param0;
12224 variable[3] = NIT_NULL /*null*/;
12225 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12226 variable[4] = variable[5];
12227 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12228 variable[5] = variable[6];
12229 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12230 variable[6] = variable[7];
12231 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12232 variable[7] = variable[8];
12233 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12234 variable[8] = variable[9];
12235 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12236 variable[9] = variable[10];
12237 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12238 variable[10] = variable[11];
12239 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12240 variable[11] = variable[12];
12241 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12242 variable[12] = variable[13];
12243 variable[13] = variable[12] /*nodearraylist1*/;
12244 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
12245 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction137___action, LOCATE_parser, 7180); nit_exit(1);}
12246 variable[14] = variable[11] /*nodearraylist2*/;
12247 variable[15] = TAG_Bool(( variable[14] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
12248 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction137___action, LOCATE_parser, 7182); nit_exit(1);}
12249 variable[16] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[14] /*tkwreadablenode5*/); /*new AReadAble*/
12250 variable[15] = variable[16];
12251 variable[16] = variable[10] /*nodearraylist3*/;
12252 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
12253 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction137___action, LOCATE_parser, 7188); nit_exit(1);}
12254 variable[17] = variable[9] /*nodearraylist4*/;
12255 variable[18] = TAG_Bool(( variable[17] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[17] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
12256 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction137___action, LOCATE_parser, 7190); nit_exit(1);}
12257 variable[18] = variable[8] /*nodearraylist5*/;
12258 variable[19] = TAG_Bool(( variable[18] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
12259 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction137___action, LOCATE_parser, 7192); nit_exit(1);}
12260 variable[19] = variable[7] /*nodearraylist6*/;
12261 variable[20] = TAG_Bool(( variable[19] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[19] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
12262 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction137___action, LOCATE_parser, 7194); nit_exit(1);}
12263 variable[20] = variable[4] /*nodearraylist9*/;
12264 variable[21] = TAG_Bool(( variable[20] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[20] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
12265 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction137___action, LOCATE_parser, 7196); nit_exit(1);}
12266 variable[22] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[13] /*pdocnode2*/, variable[15] /*pablenode3*/, NIT_NULL /*null*/, variable[16] /*tkwredefnode7*/, variable[17] /*pvisibilitynode8*/, variable[18] /*tkwattrnode9*/, variable[19] /*tattridnode10*/, NIT_NULL /*null*/, variable[20] /*pexprnode12*/); /*new AAttrPropdef*/
12267 variable[21] = variable[22];
12268 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
12269 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
12270 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
12271 return_label306: while(false);
12272 tracehead = trace.prev;
12273 return;
12274 }
12275 void parser___ReduceAction137___init(val_t self, int* init_table) {
12276 struct trace_t trace = {NULL, NULL, 7211, LOCATE_parser___ReduceAction137___init};
12277 val_t variable[2];
12278 void **closurevariable = NULL;
12279 trace.prev = tracehead; tracehead = &trace;
12280 trace.file = LOCATE_parser;
12281 variable[0] = self;
12282 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction137].i]) return;
12283 return_label307: while(false);
12284 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction137].i] = 1;
12285 tracehead = trace.prev;
12286 return;
12287 }
12288 void parser___ReduceAction138___action(val_t self, val_t param0) {
12289 struct trace_t trace = {NULL, NULL, 7215, LOCATE_parser___ReduceAction138___action};
12290 val_t variable[28];
12291 void **closurevariable = NULL;
12292 trace.prev = tracehead; tracehead = &trace;
12293 trace.file = LOCATE_parser;
12294 variable[0] = self;
12295 variable[1] = param0;
12296 variable[3] = NIT_NULL /*null*/;
12297 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12298 variable[4] = variable[5];
12299 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12300 variable[5] = variable[6];
12301 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12302 variable[6] = variable[7];
12303 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12304 variable[7] = variable[8];
12305 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12306 variable[8] = variable[9];
12307 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12308 variable[9] = variable[10];
12309 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12310 variable[10] = variable[11];
12311 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12312 variable[11] = variable[12];
12313 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12314 variable[12] = variable[13];
12315 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12316 variable[13] = variable[14];
12317 variable[15] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12318 variable[14] = variable[15];
12319 variable[15] = variable[14] /*nodearraylist1*/;
12320 variable[16] = TAG_Bool(( variable[15] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
12321 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction138___action, LOCATE_parser, 7230); nit_exit(1);}
12322 variable[16] = variable[13] /*nodearraylist2*/;
12323 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
12324 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction138___action, LOCATE_parser, 7232); nit_exit(1);}
12325 variable[17] = variable[12] /*nodearraylist3*/;
12326 variable[18] = TAG_Bool(( variable[17] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
12327 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction138___action, LOCATE_parser, 7234); nit_exit(1);}
12328 variable[19] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[16] /*tkwredefnode4*/, variable[17] /*tkwreadablenode5*/); /*new AReadAble*/
12329 variable[18] = variable[19];
12330 variable[19] = variable[11] /*nodearraylist4*/;
12331 variable[20] = TAG_Bool(( variable[19] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
12332 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction138___action, LOCATE_parser, 7240); nit_exit(1);}
12333 variable[21] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[19] /*tkwwritablenode8*/); /*new AWriteAble*/
12334 variable[20] = variable[21];
12335 variable[21] = variable[10] /*nodearraylist5*/;
12336 variable[22] = TAG_Bool(( variable[21] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[21] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
12337 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction138___action, LOCATE_parser, 7246); nit_exit(1);}
12338 variable[22] = variable[9] /*nodearraylist6*/;
12339 variable[23] = TAG_Bool(( variable[22] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[22] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
12340 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction138___action, LOCATE_parser, 7248); nit_exit(1);}
12341 variable[23] = variable[8] /*nodearraylist7*/;
12342 variable[24] = TAG_Bool(( variable[23] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[23] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
12343 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction138___action, LOCATE_parser, 7250); nit_exit(1);}
12344 variable[24] = variable[7] /*nodearraylist8*/;
12345 variable[25] = TAG_Bool(( variable[24] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[24] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
12346 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction138___action, LOCATE_parser, 7252); nit_exit(1);}
12347 variable[25] = variable[4] /*nodearraylist11*/;
12348 variable[26] = TAG_Bool(( variable[25] /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable[25] /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
12349 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction138___action, LOCATE_parser, 7254); nit_exit(1);}
12350 variable[27] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[15] /*pdocnode2*/, variable[18] /*pablenode3*/, variable[20] /*pablenode6*/, variable[21] /*tkwredefnode9*/, variable[22] /*pvisibilitynode10*/, variable[23] /*tkwattrnode11*/, variable[24] /*tattridnode12*/, NIT_NULL /*null*/, variable[25] /*pexprnode14*/); /*new AAttrPropdef*/
12351 variable[26] = variable[27];
12352 variable[3] = variable[26] /*ppropdefnode1*/ /*node_list=*/;
12353 variable[27] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
12354 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[27], variable[3] /*node_list*/) /*Parser::push*/;
12355 return_label308: while(false);
12356 tracehead = trace.prev;
12357 return;
12358 }
12359 void parser___ReduceAction138___init(val_t self, int* init_table) {
12360 struct trace_t trace = {NULL, NULL, 7269, LOCATE_parser___ReduceAction138___init};
12361 val_t variable[2];
12362 void **closurevariable = NULL;
12363 trace.prev = tracehead; tracehead = &trace;
12364 trace.file = LOCATE_parser;
12365 variable[0] = self;
12366 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction138].i]) return;
12367 return_label309: while(false);
12368 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction138].i] = 1;
12369 tracehead = trace.prev;
12370 return;
12371 }
12372 void parser___ReduceAction139___action(val_t self, val_t param0) {
12373 struct trace_t trace = {NULL, NULL, 7273, LOCATE_parser___ReduceAction139___action};
12374 val_t variable[30];
12375 void **closurevariable = NULL;
12376 trace.prev = tracehead; tracehead = &trace;
12377 trace.file = LOCATE_parser;
12378 variable[0] = self;
12379 variable[1] = param0;
12380 variable[3] = NIT_NULL /*null*/;
12381 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12382 variable[4] = variable[5];
12383 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12384 variable[5] = variable[6];
12385 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12386 variable[6] = variable[7];
12387 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12388 variable[7] = variable[8];
12389 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12390 variable[8] = variable[9];
12391 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12392 variable[9] = variable[10];
12393 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12394 variable[10] = variable[11];
12395 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12396 variable[11] = variable[12];
12397 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12398 variable[12] = variable[13];
12399 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12400 variable[13] = variable[14];
12401 variable[15] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12402 variable[14] = variable[15];
12403 variable[16] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12404 variable[15] = variable[16];
12405 variable[16] = variable[15] /*nodearraylist1*/;
12406 variable[17] = TAG_Bool(( variable[16] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[16] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
12407 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction139___action, LOCATE_parser, 7289); nit_exit(1);}
12408 variable[17] = variable[14] /*nodearraylist2*/;
12409 variable[18] = TAG_Bool(( variable[17] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
12410 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction139___action, LOCATE_parser, 7291); nit_exit(1);}
12411 variable[18] = variable[13] /*nodearraylist3*/;
12412 variable[19] = TAG_Bool(( variable[18] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
12413 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction139___action, LOCATE_parser, 7293); nit_exit(1);}
12414 variable[20] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[17] /*tkwredefnode4*/, variable[18] /*tkwreadablenode5*/); /*new AReadAble*/
12415 variable[19] = variable[20];
12416 variable[20] = variable[12] /*nodearraylist4*/;
12417 variable[21] = TAG_Bool(( variable[20] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[20] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
12418 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction139___action, LOCATE_parser, 7299); nit_exit(1);}
12419 variable[21] = variable[11] /*nodearraylist5*/;
12420 variable[22] = TAG_Bool(( variable[21] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[21] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
12421 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction139___action, LOCATE_parser, 7301); nit_exit(1);}
12422 variable[23] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[20] /*tkwredefnode7*/, variable[21] /*tkwwritablenode8*/); /*new AWriteAble*/
12423 variable[22] = variable[23];
12424 variable[23] = variable[10] /*nodearraylist6*/;
12425 variable[24] = TAG_Bool(( variable[23] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[23] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
12426 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction139___action, LOCATE_parser, 7307); nit_exit(1);}
12427 variable[24] = variable[9] /*nodearraylist7*/;
12428 variable[25] = TAG_Bool(( variable[24] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[24] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
12429 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction139___action, LOCATE_parser, 7309); nit_exit(1);}
12430 variable[25] = variable[8] /*nodearraylist8*/;
12431 variable[26] = TAG_Bool(( variable[25] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[25] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
12432 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction139___action, LOCATE_parser, 7311); nit_exit(1);}
12433 variable[26] = variable[7] /*nodearraylist9*/;
12434 variable[27] = TAG_Bool(( variable[26] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[26] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
12435 if (!UNTAG_Bool(variable[27])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction139___action, LOCATE_parser, 7313); nit_exit(1);}
12436 variable[27] = variable[4] /*nodearraylist12*/;
12437 variable[28] = TAG_Bool(( variable[27] /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable[27] /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
12438 if (!UNTAG_Bool(variable[28])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction139___action, LOCATE_parser, 7315); nit_exit(1);}
12439 variable[29] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[16] /*pdocnode2*/, variable[19] /*pablenode3*/, variable[22] /*pablenode6*/, variable[23] /*tkwredefnode9*/, variable[24] /*pvisibilitynode10*/, variable[25] /*tkwattrnode11*/, variable[26] /*tattridnode12*/, NIT_NULL /*null*/, variable[27] /*pexprnode14*/); /*new AAttrPropdef*/
12440 variable[28] = variable[29];
12441 variable[3] = variable[28] /*ppropdefnode1*/ /*node_list=*/;
12442 variable[29] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
12443 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[29], variable[3] /*node_list*/) /*Parser::push*/;
12444 return_label310: while(false);
12445 tracehead = trace.prev;
12446 return;
12447 }
12448 void parser___ReduceAction139___init(val_t self, int* init_table) {
12449 struct trace_t trace = {NULL, NULL, 7330, LOCATE_parser___ReduceAction139___init};
12450 val_t variable[2];
12451 void **closurevariable = NULL;
12452 trace.prev = tracehead; tracehead = &trace;
12453 trace.file = LOCATE_parser;
12454 variable[0] = self;
12455 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction139].i]) return;
12456 return_label311: while(false);
12457 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction139].i] = 1;
12458 tracehead = trace.prev;
12459 return;
12460 }
12461 void parser___ReduceAction140___action(val_t self, val_t param0) {
12462 struct trace_t trace = {NULL, NULL, 7334, LOCATE_parser___ReduceAction140___action};
12463 val_t variable[25];
12464 void **closurevariable = NULL;
12465 trace.prev = tracehead; tracehead = &trace;
12466 trace.file = LOCATE_parser;
12467 variable[0] = self;
12468 variable[1] = param0;
12469 variable[3] = NIT_NULL /*null*/;
12470 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12471 variable[4] = variable[5];
12472 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12473 variable[5] = variable[6];
12474 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12475 variable[6] = variable[7];
12476 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12477 variable[7] = variable[8];
12478 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12479 variable[8] = variable[9];
12480 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12481 variable[9] = variable[10];
12482 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12483 variable[10] = variable[11];
12484 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12485 variable[11] = variable[12];
12486 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12487 variable[12] = variable[13];
12488 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12489 variable[13] = variable[14];
12490 variable[14] = variable[13] /*nodearraylist1*/;
12491 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
12492 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction140___action, LOCATE_parser, 7348); nit_exit(1);}
12493 variable[15] = variable[12] /*nodearraylist2*/;
12494 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
12495 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction140___action, LOCATE_parser, 7350); nit_exit(1);}
12496 variable[16] = variable[11] /*nodearraylist3*/;
12497 variable[17] = TAG_Bool(( variable[16] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
12498 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction140___action, LOCATE_parser, 7352); nit_exit(1);}
12499 variable[18] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[15] /*tkwredefnode4*/, variable[16] /*tkwreadablenode5*/); /*new AReadAble*/
12500 variable[17] = variable[18];
12501 variable[18] = variable[10] /*nodearraylist4*/;
12502 variable[19] = TAG_Bool(( variable[18] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
12503 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction140___action, LOCATE_parser, 7358); nit_exit(1);}
12504 variable[19] = variable[9] /*nodearraylist5*/;
12505 variable[20] = TAG_Bool(( variable[19] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[19] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
12506 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction140___action, LOCATE_parser, 7360); nit_exit(1);}
12507 variable[20] = variable[8] /*nodearraylist6*/;
12508 variable[21] = TAG_Bool(( variable[20] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[20] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
12509 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction140___action, LOCATE_parser, 7362); nit_exit(1);}
12510 variable[21] = variable[7] /*nodearraylist7*/;
12511 variable[22] = TAG_Bool(( variable[21] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[21] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
12512 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction140___action, LOCATE_parser, 7364); nit_exit(1);}
12513 variable[22] = variable[4] /*nodearraylist10*/;
12514 variable[23] = TAG_Bool(( variable[22] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[22] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
12515 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction140___action, LOCATE_parser, 7366); nit_exit(1);}
12516 variable[24] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[14] /*pdocnode2*/, variable[17] /*pablenode3*/, NIT_NULL /*null*/, variable[18] /*tkwredefnode7*/, variable[19] /*pvisibilitynode8*/, variable[20] /*tkwattrnode9*/, variable[21] /*tattridnode10*/, NIT_NULL /*null*/, variable[22] /*pexprnode12*/); /*new AAttrPropdef*/
12517 variable[23] = variable[24];
12518 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
12519 variable[24] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
12520 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
12521 return_label312: while(false);
12522 tracehead = trace.prev;
12523 return;
12524 }
12525 void parser___ReduceAction140___init(val_t self, int* init_table) {
12526 struct trace_t trace = {NULL, NULL, 7381, LOCATE_parser___ReduceAction140___init};
12527 val_t variable[2];
12528 void **closurevariable = NULL;
12529 trace.prev = tracehead; tracehead = &trace;
12530 trace.file = LOCATE_parser;
12531 variable[0] = self;
12532 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction140].i]) return;
12533 return_label313: while(false);
12534 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction140].i] = 1;
12535 tracehead = trace.prev;
12536 return;
12537 }
12538 void parser___ReduceAction141___action(val_t self, val_t param0) {
12539 struct trace_t trace = {NULL, NULL, 7385, LOCATE_parser___ReduceAction141___action};
12540 val_t variable[23];
12541 void **closurevariable = NULL;
12542 trace.prev = tracehead; tracehead = &trace;
12543 trace.file = LOCATE_parser;
12544 variable[0] = self;
12545 variable[1] = param0;
12546 variable[3] = NIT_NULL /*null*/;
12547 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12548 variable[4] = variable[5];
12549 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12550 variable[5] = variable[6];
12551 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12552 variable[6] = variable[7];
12553 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12554 variable[7] = variable[8];
12555 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12556 variable[8] = variable[9];
12557 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12558 variable[9] = variable[10];
12559 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12560 variable[10] = variable[11];
12561 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12562 variable[11] = variable[12];
12563 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12564 variable[12] = variable[13];
12565 variable[13] = variable[12] /*nodearraylist1*/;
12566 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
12567 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction141___action, LOCATE_parser, 7398); nit_exit(1);}
12568 variable[14] = variable[11] /*nodearraylist2*/;
12569 variable[15] = TAG_Bool(( variable[14] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
12570 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction141___action, LOCATE_parser, 7400); nit_exit(1);}
12571 variable[16] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[14] /*tkwwritablenode6*/); /*new AWriteAble*/
12572 variable[15] = variable[16];
12573 variable[16] = variable[10] /*nodearraylist3*/;
12574 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
12575 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction141___action, LOCATE_parser, 7406); nit_exit(1);}
12576 variable[17] = variable[9] /*nodearraylist4*/;
12577 variable[18] = TAG_Bool(( variable[17] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[17] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
12578 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction141___action, LOCATE_parser, 7408); nit_exit(1);}
12579 variable[18] = variable[8] /*nodearraylist5*/;
12580 variable[19] = TAG_Bool(( variable[18] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
12581 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction141___action, LOCATE_parser, 7410); nit_exit(1);}
12582 variable[19] = variable[7] /*nodearraylist6*/;
12583 variable[20] = TAG_Bool(( variable[19] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[19] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
12584 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction141___action, LOCATE_parser, 7412); nit_exit(1);}
12585 variable[20] = variable[4] /*nodearraylist9*/;
12586 variable[21] = TAG_Bool(( variable[20] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[20] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
12587 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction141___action, LOCATE_parser, 7414); nit_exit(1);}
12588 variable[22] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[13] /*pdocnode2*/, NIT_NULL /*null*/, variable[15] /*pablenode4*/, variable[16] /*tkwredefnode7*/, variable[17] /*pvisibilitynode8*/, variable[18] /*tkwattrnode9*/, variable[19] /*tattridnode10*/, NIT_NULL /*null*/, variable[20] /*pexprnode12*/); /*new AAttrPropdef*/
12589 variable[21] = variable[22];
12590 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
12591 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
12592 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
12593 return_label314: while(false);
12594 tracehead = trace.prev;
12595 return;
12596 }
12597 void parser___ReduceAction141___init(val_t self, int* init_table) {
12598 struct trace_t trace = {NULL, NULL, 7429, LOCATE_parser___ReduceAction141___init};
12599 val_t variable[2];
12600 void **closurevariable = NULL;
12601 trace.prev = tracehead; tracehead = &trace;
12602 trace.file = LOCATE_parser;
12603 variable[0] = self;
12604 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction141].i]) return;
12605 return_label315: while(false);
12606 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction141].i] = 1;
12607 tracehead = trace.prev;
12608 return;
12609 }
12610 void parser___ReduceAction142___action(val_t self, val_t param0) {
12611 struct trace_t trace = {NULL, NULL, 7433, LOCATE_parser___ReduceAction142___action};
12612 val_t variable[25];
12613 void **closurevariable = NULL;
12614 trace.prev = tracehead; tracehead = &trace;
12615 trace.file = LOCATE_parser;
12616 variable[0] = self;
12617 variable[1] = param0;
12618 variable[3] = NIT_NULL /*null*/;
12619 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12620 variable[4] = variable[5];
12621 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12622 variable[5] = variable[6];
12623 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12624 variable[6] = variable[7];
12625 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12626 variable[7] = variable[8];
12627 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12628 variable[8] = variable[9];
12629 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12630 variable[9] = variable[10];
12631 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12632 variable[10] = variable[11];
12633 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12634 variable[11] = variable[12];
12635 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12636 variable[12] = variable[13];
12637 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12638 variable[13] = variable[14];
12639 variable[14] = variable[13] /*nodearraylist1*/;
12640 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
12641 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction142___action, LOCATE_parser, 7447); nit_exit(1);}
12642 variable[15] = variable[12] /*nodearraylist2*/;
12643 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
12644 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction142___action, LOCATE_parser, 7449); nit_exit(1);}
12645 variable[16] = variable[11] /*nodearraylist3*/;
12646 variable[17] = TAG_Bool(( variable[16] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
12647 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction142___action, LOCATE_parser, 7451); nit_exit(1);}
12648 variable[18] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[15] /*tkwredefnode5*/, variable[16] /*tkwwritablenode6*/); /*new AWriteAble*/
12649 variable[17] = variable[18];
12650 variable[18] = variable[10] /*nodearraylist4*/;
12651 variable[19] = TAG_Bool(( variable[18] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
12652 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction142___action, LOCATE_parser, 7457); nit_exit(1);}
12653 variable[19] = variable[9] /*nodearraylist5*/;
12654 variable[20] = TAG_Bool(( variable[19] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[19] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
12655 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction142___action, LOCATE_parser, 7459); nit_exit(1);}
12656 variable[20] = variable[8] /*nodearraylist6*/;
12657 variable[21] = TAG_Bool(( variable[20] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[20] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
12658 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction142___action, LOCATE_parser, 7461); nit_exit(1);}
12659 variable[21] = variable[7] /*nodearraylist7*/;
12660 variable[22] = TAG_Bool(( variable[21] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[21] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
12661 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction142___action, LOCATE_parser, 7463); nit_exit(1);}
12662 variable[22] = variable[4] /*nodearraylist10*/;
12663 variable[23] = TAG_Bool(( variable[22] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[22] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
12664 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction142___action, LOCATE_parser, 7465); nit_exit(1);}
12665 variable[24] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[14] /*pdocnode2*/, NIT_NULL /*null*/, variable[17] /*pablenode4*/, variable[18] /*tkwredefnode7*/, variable[19] /*pvisibilitynode8*/, variable[20] /*tkwattrnode9*/, variable[21] /*tattridnode10*/, NIT_NULL /*null*/, variable[22] /*pexprnode12*/); /*new AAttrPropdef*/
12666 variable[23] = variable[24];
12667 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
12668 variable[24] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
12669 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
12670 return_label316: while(false);
12671 tracehead = trace.prev;
12672 return;
12673 }
12674 void parser___ReduceAction142___init(val_t self, int* init_table) {
12675 struct trace_t trace = {NULL, NULL, 7480, LOCATE_parser___ReduceAction142___init};
12676 val_t variable[2];
12677 void **closurevariable = NULL;
12678 trace.prev = tracehead; tracehead = &trace;
12679 trace.file = LOCATE_parser;
12680 variable[0] = self;
12681 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction142].i]) return;
12682 return_label317: while(false);
12683 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction142].i] = 1;
12684 tracehead = trace.prev;
12685 return;
12686 }
12687 void parser___ReduceAction143___action(val_t self, val_t param0) {
12688 struct trace_t trace = {NULL, NULL, 7484, LOCATE_parser___ReduceAction143___action};
12689 val_t variable[20];
12690 void **closurevariable = NULL;
12691 trace.prev = tracehead; tracehead = &trace;
12692 trace.file = LOCATE_parser;
12693 variable[0] = self;
12694 variable[1] = param0;
12695 variable[3] = NIT_NULL /*null*/;
12696 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12697 variable[4] = variable[5];
12698 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12699 variable[5] = variable[6];
12700 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12701 variable[6] = variable[7];
12702 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12703 variable[7] = variable[8];
12704 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12705 variable[8] = variable[9];
12706 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12707 variable[9] = variable[10];
12708 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12709 variable[10] = variable[11];
12710 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12711 variable[11] = variable[12];
12712 variable[12] = variable[11] /*nodearraylist1*/;
12713 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
12714 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction143___action, LOCATE_parser, 7496); nit_exit(1);}
12715 variable[13] = variable[10] /*nodearraylist2*/;
12716 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
12717 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction143___action, LOCATE_parser, 7498); nit_exit(1);}
12718 variable[14] = variable[9] /*nodearraylist3*/;
12719 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode6*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode6*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
12720 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction143___action, LOCATE_parser, 7500); nit_exit(1);}
12721 variable[15] = variable[8] /*nodearraylist4*/;
12722 variable[16] = TAG_Bool(( variable[15] /*tkwattrnode7*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwattrnode7*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
12723 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction143___action, LOCATE_parser, 7502); nit_exit(1);}
12724 variable[16] = variable[7] /*nodearraylist5*/;
12725 variable[17] = TAG_Bool(( variable[16] /*tattridnode8*/==NIT_NULL) || VAL_ISA( variable[16] /*tattridnode8*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
12726 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction143___action, LOCATE_parser, 7504); nit_exit(1);}
12727 variable[17] = variable[4] /*nodearraylist8*/;
12728 variable[18] = TAG_Bool(( variable[17] /*pexprnode10*/==NIT_NULL) || VAL_ISA( variable[17] /*pexprnode10*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
12729 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction143___action, LOCATE_parser, 7506); nit_exit(1);}
12730 variable[19] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[12] /*pdocnode2*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable[13] /*tkwredefnode5*/, variable[14] /*pvisibilitynode6*/, variable[15] /*tkwattrnode7*/, variable[16] /*tattridnode8*/, NIT_NULL /*null*/, variable[17] /*pexprnode10*/); /*new AAttrPropdef*/
12731 variable[18] = variable[19];
12732 variable[3] = variable[18] /*ppropdefnode1*/ /*node_list=*/;
12733 variable[19] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
12734 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[19], variable[3] /*node_list*/) /*Parser::push*/;
12735 return_label318: while(false);
12736 tracehead = trace.prev;
12737 return;
12738 }
12739 void parser___ReduceAction143___init(val_t self, int* init_table) {
12740 struct trace_t trace = {NULL, NULL, 7521, LOCATE_parser___ReduceAction143___init};
12741 val_t variable[2];
12742 void **closurevariable = NULL;
12743 trace.prev = tracehead; tracehead = &trace;
12744 trace.file = LOCATE_parser;
12745 variable[0] = self;
12746 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction143].i]) return;
12747 return_label319: while(false);
12748 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction143].i] = 1;
12749 tracehead = trace.prev;
12750 return;
12751 }
12752 void parser___ReduceAction144___action(val_t self, val_t param0) {
12753 struct trace_t trace = {NULL, NULL, 7525, LOCATE_parser___ReduceAction144___action};
12754 val_t variable[26];
12755 void **closurevariable = NULL;
12756 trace.prev = tracehead; tracehead = &trace;
12757 trace.file = LOCATE_parser;
12758 variable[0] = self;
12759 variable[1] = param0;
12760 variable[3] = NIT_NULL /*null*/;
12761 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12762 variable[4] = variable[5];
12763 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12764 variable[5] = variable[6];
12765 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12766 variable[6] = variable[7];
12767 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12768 variable[7] = variable[8];
12769 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12770 variable[8] = variable[9];
12771 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12772 variable[9] = variable[10];
12773 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12774 variable[10] = variable[11];
12775 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12776 variable[11] = variable[12];
12777 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12778 variable[12] = variable[13];
12779 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12780 variable[13] = variable[14];
12781 variable[14] = variable[13] /*nodearraylist1*/;
12782 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
12783 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction144___action, LOCATE_parser, 7539); nit_exit(1);}
12784 variable[15] = variable[12] /*nodearraylist2*/;
12785 variable[16] = TAG_Bool(( variable[15] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
12786 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction144___action, LOCATE_parser, 7541); nit_exit(1);}
12787 variable[17] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[15] /*tkwreadablenode5*/); /*new AReadAble*/
12788 variable[16] = variable[17];
12789 variable[17] = variable[11] /*nodearraylist3*/;
12790 variable[18] = TAG_Bool(( variable[17] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
12791 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction144___action, LOCATE_parser, 7547); nit_exit(1);}
12792 variable[19] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[17] /*tkwwritablenode8*/); /*new AWriteAble*/
12793 variable[18] = variable[19];
12794 variable[19] = variable[10] /*nodearraylist4*/;
12795 variable[20] = TAG_Bool(( variable[19] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[19] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
12796 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction144___action, LOCATE_parser, 7553); nit_exit(1);}
12797 variable[20] = variable[9] /*nodearraylist5*/;
12798 variable[21] = TAG_Bool(( variable[20] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[20] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
12799 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction144___action, LOCATE_parser, 7555); nit_exit(1);}
12800 variable[21] = variable[8] /*nodearraylist6*/;
12801 variable[22] = TAG_Bool(( variable[21] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[21] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
12802 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction144___action, LOCATE_parser, 7557); nit_exit(1);}
12803 variable[22] = variable[7] /*nodearraylist7*/;
12804 variable[23] = TAG_Bool(( variable[22] /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable[22] /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
12805 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction144___action, LOCATE_parser, 7559); nit_exit(1);}
12806 variable[23] = variable[4] /*nodearraylist10*/;
12807 variable[24] = TAG_Bool(( variable[23] /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable[23] /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
12808 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction144___action, LOCATE_parser, 7561); nit_exit(1);}
12809 variable[25] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[14] /*pdocnode2*/, variable[16] /*pablenode3*/, variable[18] /*pablenode6*/, NIT_NULL /*null*/, variable[19] /*pvisibilitynode10*/, variable[20] /*tkwattrnode11*/, variable[21] /*tattridnode12*/, variable[22] /*ptypenode13*/, variable[23] /*pexprnode14*/); /*new AAttrPropdef*/
12810 variable[24] = variable[25];
12811 variable[3] = variable[24] /*ppropdefnode1*/ /*node_list=*/;
12812 variable[25] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
12813 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[25], variable[3] /*node_list*/) /*Parser::push*/;
12814 return_label320: while(false);
12815 tracehead = trace.prev;
12816 return;
12817 }
12818 void parser___ReduceAction144___init(val_t self, int* init_table) {
12819 struct trace_t trace = {NULL, NULL, 7576, LOCATE_parser___ReduceAction144___init};
12820 val_t variable[2];
12821 void **closurevariable = NULL;
12822 trace.prev = tracehead; tracehead = &trace;
12823 trace.file = LOCATE_parser;
12824 variable[0] = self;
12825 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction144].i]) return;
12826 return_label321: while(false);
12827 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction144].i] = 1;
12828 tracehead = trace.prev;
12829 return;
12830 }
12831 void parser___ReduceAction145___action(val_t self, val_t param0) {
12832 struct trace_t trace = {NULL, NULL, 7580, LOCATE_parser___ReduceAction145___action};
12833 val_t variable[28];
12834 void **closurevariable = NULL;
12835 trace.prev = tracehead; tracehead = &trace;
12836 trace.file = LOCATE_parser;
12837 variable[0] = self;
12838 variable[1] = param0;
12839 variable[3] = NIT_NULL /*null*/;
12840 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12841 variable[4] = variable[5];
12842 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12843 variable[5] = variable[6];
12844 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12845 variable[6] = variable[7];
12846 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12847 variable[7] = variable[8];
12848 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12849 variable[8] = variable[9];
12850 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12851 variable[9] = variable[10];
12852 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12853 variable[10] = variable[11];
12854 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12855 variable[11] = variable[12];
12856 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12857 variable[12] = variable[13];
12858 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12859 variable[13] = variable[14];
12860 variable[15] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12861 variable[14] = variable[15];
12862 variable[15] = variable[14] /*nodearraylist1*/;
12863 variable[16] = TAG_Bool(( variable[15] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
12864 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction145___action, LOCATE_parser, 7595); nit_exit(1);}
12865 variable[16] = variable[13] /*nodearraylist2*/;
12866 variable[17] = TAG_Bool(( variable[16] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
12867 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction145___action, LOCATE_parser, 7597); nit_exit(1);}
12868 variable[18] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[16] /*tkwreadablenode5*/); /*new AReadAble*/
12869 variable[17] = variable[18];
12870 variable[18] = variable[12] /*nodearraylist3*/;
12871 variable[19] = TAG_Bool(( variable[18] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
12872 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction145___action, LOCATE_parser, 7603); nit_exit(1);}
12873 variable[19] = variable[11] /*nodearraylist4*/;
12874 variable[20] = TAG_Bool(( variable[19] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
12875 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction145___action, LOCATE_parser, 7605); nit_exit(1);}
12876 variable[21] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[18] /*tkwredefnode7*/, variable[19] /*tkwwritablenode8*/); /*new AWriteAble*/
12877 variable[20] = variable[21];
12878 variable[21] = variable[10] /*nodearraylist5*/;
12879 variable[22] = TAG_Bool(( variable[21] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[21] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
12880 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction145___action, LOCATE_parser, 7611); nit_exit(1);}
12881 variable[22] = variable[9] /*nodearraylist6*/;
12882 variable[23] = TAG_Bool(( variable[22] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[22] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
12883 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction145___action, LOCATE_parser, 7613); nit_exit(1);}
12884 variable[23] = variable[8] /*nodearraylist7*/;
12885 variable[24] = TAG_Bool(( variable[23] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[23] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
12886 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction145___action, LOCATE_parser, 7615); nit_exit(1);}
12887 variable[24] = variable[7] /*nodearraylist8*/;
12888 variable[25] = TAG_Bool(( variable[24] /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable[24] /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
12889 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction145___action, LOCATE_parser, 7617); nit_exit(1);}
12890 variable[25] = variable[4] /*nodearraylist11*/;
12891 variable[26] = TAG_Bool(( variable[25] /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable[25] /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
12892 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction145___action, LOCATE_parser, 7619); nit_exit(1);}
12893 variable[27] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[15] /*pdocnode2*/, variable[17] /*pablenode3*/, variable[20] /*pablenode6*/, NIT_NULL /*null*/, variable[21] /*pvisibilitynode10*/, variable[22] /*tkwattrnode11*/, variable[23] /*tattridnode12*/, variable[24] /*ptypenode13*/, variable[25] /*pexprnode14*/); /*new AAttrPropdef*/
12894 variable[26] = variable[27];
12895 variable[3] = variable[26] /*ppropdefnode1*/ /*node_list=*/;
12896 variable[27] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
12897 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[27], variable[3] /*node_list*/) /*Parser::push*/;
12898 return_label322: while(false);
12899 tracehead = trace.prev;
12900 return;
12901 }
12902 void parser___ReduceAction145___init(val_t self, int* init_table) {
12903 struct trace_t trace = {NULL, NULL, 7634, LOCATE_parser___ReduceAction145___init};
12904 val_t variable[2];
12905 void **closurevariable = NULL;
12906 trace.prev = tracehead; tracehead = &trace;
12907 trace.file = LOCATE_parser;
12908 variable[0] = self;
12909 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction145].i]) return;
12910 return_label323: while(false);
12911 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction145].i] = 1;
12912 tracehead = trace.prev;
12913 return;
12914 }
12915 void parser___ReduceAction146___action(val_t self, val_t param0) {
12916 struct trace_t trace = {NULL, NULL, 7638, LOCATE_parser___ReduceAction146___action};
12917 val_t variable[23];
12918 void **closurevariable = NULL;
12919 trace.prev = tracehead; tracehead = &trace;
12920 trace.file = LOCATE_parser;
12921 variable[0] = self;
12922 variable[1] = param0;
12923 variable[3] = NIT_NULL /*null*/;
12924 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12925 variable[4] = variable[5];
12926 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12927 variable[5] = variable[6];
12928 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12929 variable[6] = variable[7];
12930 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12931 variable[7] = variable[8];
12932 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12933 variable[8] = variable[9];
12934 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12935 variable[9] = variable[10];
12936 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12937 variable[10] = variable[11];
12938 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12939 variable[11] = variable[12];
12940 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12941 variable[12] = variable[13];
12942 variable[13] = variable[12] /*nodearraylist1*/;
12943 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
12944 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction146___action, LOCATE_parser, 7651); nit_exit(1);}
12945 variable[14] = variable[11] /*nodearraylist2*/;
12946 variable[15] = TAG_Bool(( variable[14] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
12947 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction146___action, LOCATE_parser, 7653); nit_exit(1);}
12948 variable[16] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[14] /*tkwreadablenode5*/); /*new AReadAble*/
12949 variable[15] = variable[16];
12950 variable[16] = variable[10] /*nodearraylist3*/;
12951 variable[17] = TAG_Bool(( variable[16] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[16] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
12952 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction146___action, LOCATE_parser, 7659); nit_exit(1);}
12953 variable[17] = variable[9] /*nodearraylist4*/;
12954 variable[18] = TAG_Bool(( variable[17] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
12955 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction146___action, LOCATE_parser, 7661); nit_exit(1);}
12956 variable[18] = variable[8] /*nodearraylist5*/;
12957 variable[19] = TAG_Bool(( variable[18] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[18] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
12958 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction146___action, LOCATE_parser, 7663); nit_exit(1);}
12959 variable[19] = variable[7] /*nodearraylist6*/;
12960 variable[20] = TAG_Bool(( variable[19] /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable[19] /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
12961 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction146___action, LOCATE_parser, 7665); nit_exit(1);}
12962 variable[20] = variable[4] /*nodearraylist9*/;
12963 variable[21] = TAG_Bool(( variable[20] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[20] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
12964 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction146___action, LOCATE_parser, 7667); nit_exit(1);}
12965 variable[22] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[13] /*pdocnode2*/, variable[15] /*pablenode3*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable[16] /*pvisibilitynode8*/, variable[17] /*tkwattrnode9*/, variable[18] /*tattridnode10*/, variable[19] /*ptypenode11*/, variable[20] /*pexprnode12*/); /*new AAttrPropdef*/
12966 variable[21] = variable[22];
12967 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
12968 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
12969 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
12970 return_label324: while(false);
12971 tracehead = trace.prev;
12972 return;
12973 }
12974 void parser___ReduceAction146___init(val_t self, int* init_table) {
12975 struct trace_t trace = {NULL, NULL, 7682, LOCATE_parser___ReduceAction146___init};
12976 val_t variable[2];
12977 void **closurevariable = NULL;
12978 trace.prev = tracehead; tracehead = &trace;
12979 trace.file = LOCATE_parser;
12980 variable[0] = self;
12981 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction146].i]) return;
12982 return_label325: while(false);
12983 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction146].i] = 1;
12984 tracehead = trace.prev;
12985 return;
12986 }
12987 void parser___ReduceAction147___action(val_t self, val_t param0) {
12988 struct trace_t trace = {NULL, NULL, 7686, LOCATE_parser___ReduceAction147___action};
12989 val_t variable[28];
12990 void **closurevariable = NULL;
12991 trace.prev = tracehead; tracehead = &trace;
12992 trace.file = LOCATE_parser;
12993 variable[0] = self;
12994 variable[1] = param0;
12995 variable[3] = NIT_NULL /*null*/;
12996 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12997 variable[4] = variable[5];
12998 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
12999 variable[5] = variable[6];
13000 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13001 variable[6] = variable[7];
13002 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13003 variable[7] = variable[8];
13004 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13005 variable[8] = variable[9];
13006 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13007 variable[9] = variable[10];
13008 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13009 variable[10] = variable[11];
13010 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13011 variable[11] = variable[12];
13012 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13013 variable[12] = variable[13];
13014 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13015 variable[13] = variable[14];
13016 variable[15] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13017 variable[14] = variable[15];
13018 variable[15] = variable[14] /*nodearraylist1*/;
13019 variable[16] = TAG_Bool(( variable[15] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
13020 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction147___action, LOCATE_parser, 7701); nit_exit(1);}
13021 variable[16] = variable[13] /*nodearraylist2*/;
13022 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
13023 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction147___action, LOCATE_parser, 7703); nit_exit(1);}
13024 variable[17] = variable[12] /*nodearraylist3*/;
13025 variable[18] = TAG_Bool(( variable[17] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
13026 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction147___action, LOCATE_parser, 7705); nit_exit(1);}
13027 variable[19] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[16] /*tkwredefnode4*/, variable[17] /*tkwreadablenode5*/); /*new AReadAble*/
13028 variable[18] = variable[19];
13029 variable[19] = variable[11] /*nodearraylist4*/;
13030 variable[20] = TAG_Bool(( variable[19] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
13031 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction147___action, LOCATE_parser, 7711); nit_exit(1);}
13032 variable[21] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[19] /*tkwwritablenode8*/); /*new AWriteAble*/
13033 variable[20] = variable[21];
13034 variable[21] = variable[10] /*nodearraylist5*/;
13035 variable[22] = TAG_Bool(( variable[21] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[21] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
13036 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction147___action, LOCATE_parser, 7717); nit_exit(1);}
13037 variable[22] = variable[9] /*nodearraylist6*/;
13038 variable[23] = TAG_Bool(( variable[22] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[22] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
13039 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction147___action, LOCATE_parser, 7719); nit_exit(1);}
13040 variable[23] = variable[8] /*nodearraylist7*/;
13041 variable[24] = TAG_Bool(( variable[23] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[23] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
13042 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction147___action, LOCATE_parser, 7721); nit_exit(1);}
13043 variable[24] = variable[7] /*nodearraylist8*/;
13044 variable[25] = TAG_Bool(( variable[24] /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable[24] /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
13045 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction147___action, LOCATE_parser, 7723); nit_exit(1);}
13046 variable[25] = variable[4] /*nodearraylist11*/;
13047 variable[26] = TAG_Bool(( variable[25] /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable[25] /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
13048 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction147___action, LOCATE_parser, 7725); nit_exit(1);}
13049 variable[27] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[15] /*pdocnode2*/, variable[18] /*pablenode3*/, variable[20] /*pablenode6*/, NIT_NULL /*null*/, variable[21] /*pvisibilitynode10*/, variable[22] /*tkwattrnode11*/, variable[23] /*tattridnode12*/, variable[24] /*ptypenode13*/, variable[25] /*pexprnode14*/); /*new AAttrPropdef*/
13050 variable[26] = variable[27];
13051 variable[3] = variable[26] /*ppropdefnode1*/ /*node_list=*/;
13052 variable[27] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
13053 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[27], variable[3] /*node_list*/) /*Parser::push*/;
13054 return_label326: while(false);
13055 tracehead = trace.prev;
13056 return;
13057 }
13058 void parser___ReduceAction147___init(val_t self, int* init_table) {
13059 struct trace_t trace = {NULL, NULL, 7740, LOCATE_parser___ReduceAction147___init};
13060 val_t variable[2];
13061 void **closurevariable = NULL;
13062 trace.prev = tracehead; tracehead = &trace;
13063 trace.file = LOCATE_parser;
13064 variable[0] = self;
13065 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction147].i]) return;
13066 return_label327: while(false);
13067 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction147].i] = 1;
13068 tracehead = trace.prev;
13069 return;
13070 }
13071 void parser___ReduceAction148___action(val_t self, val_t param0) {
13072 struct trace_t trace = {NULL, NULL, 7744, LOCATE_parser___ReduceAction148___action};
13073 val_t variable[30];
13074 void **closurevariable = NULL;
13075 trace.prev = tracehead; tracehead = &trace;
13076 trace.file = LOCATE_parser;
13077 variable[0] = self;
13078 variable[1] = param0;
13079 variable[3] = NIT_NULL /*null*/;
13080 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13081 variable[4] = variable[5];
13082 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13083 variable[5] = variable[6];
13084 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13085 variable[6] = variable[7];
13086 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13087 variable[7] = variable[8];
13088 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13089 variable[8] = variable[9];
13090 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13091 variable[9] = variable[10];
13092 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13093 variable[10] = variable[11];
13094 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13095 variable[11] = variable[12];
13096 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13097 variable[12] = variable[13];
13098 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13099 variable[13] = variable[14];
13100 variable[15] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13101 variable[14] = variable[15];
13102 variable[16] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13103 variable[15] = variable[16];
13104 variable[16] = variable[15] /*nodearraylist1*/;
13105 variable[17] = TAG_Bool(( variable[16] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[16] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
13106 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction148___action, LOCATE_parser, 7760); nit_exit(1);}
13107 variable[17] = variable[14] /*nodearraylist2*/;
13108 variable[18] = TAG_Bool(( variable[17] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
13109 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction148___action, LOCATE_parser, 7762); nit_exit(1);}
13110 variable[18] = variable[13] /*nodearraylist3*/;
13111 variable[19] = TAG_Bool(( variable[18] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
13112 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction148___action, LOCATE_parser, 7764); nit_exit(1);}
13113 variable[20] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[17] /*tkwredefnode4*/, variable[18] /*tkwreadablenode5*/); /*new AReadAble*/
13114 variable[19] = variable[20];
13115 variable[20] = variable[12] /*nodearraylist4*/;
13116 variable[21] = TAG_Bool(( variable[20] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[20] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
13117 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction148___action, LOCATE_parser, 7770); nit_exit(1);}
13118 variable[21] = variable[11] /*nodearraylist5*/;
13119 variable[22] = TAG_Bool(( variable[21] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[21] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
13120 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction148___action, LOCATE_parser, 7772); nit_exit(1);}
13121 variable[23] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[20] /*tkwredefnode7*/, variable[21] /*tkwwritablenode8*/); /*new AWriteAble*/
13122 variable[22] = variable[23];
13123 variable[23] = variable[10] /*nodearraylist6*/;
13124 variable[24] = TAG_Bool(( variable[23] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[23] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
13125 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction148___action, LOCATE_parser, 7778); nit_exit(1);}
13126 variable[24] = variable[9] /*nodearraylist7*/;
13127 variable[25] = TAG_Bool(( variable[24] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[24] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
13128 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction148___action, LOCATE_parser, 7780); nit_exit(1);}
13129 variable[25] = variable[8] /*nodearraylist8*/;
13130 variable[26] = TAG_Bool(( variable[25] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[25] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
13131 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction148___action, LOCATE_parser, 7782); nit_exit(1);}
13132 variable[26] = variable[7] /*nodearraylist9*/;
13133 variable[27] = TAG_Bool(( variable[26] /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable[26] /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
13134 if (!UNTAG_Bool(variable[27])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction148___action, LOCATE_parser, 7784); nit_exit(1);}
13135 variable[27] = variable[4] /*nodearraylist12*/;
13136 variable[28] = TAG_Bool(( variable[27] /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable[27] /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
13137 if (!UNTAG_Bool(variable[28])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction148___action, LOCATE_parser, 7786); nit_exit(1);}
13138 variable[29] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[16] /*pdocnode2*/, variable[19] /*pablenode3*/, variable[22] /*pablenode6*/, NIT_NULL /*null*/, variable[23] /*pvisibilitynode10*/, variable[24] /*tkwattrnode11*/, variable[25] /*tattridnode12*/, variable[26] /*ptypenode13*/, variable[27] /*pexprnode14*/); /*new AAttrPropdef*/
13139 variable[28] = variable[29];
13140 variable[3] = variable[28] /*ppropdefnode1*/ /*node_list=*/;
13141 variable[29] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
13142 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[29], variable[3] /*node_list*/) /*Parser::push*/;
13143 return_label328: while(false);
13144 tracehead = trace.prev;
13145 return;
13146 }
13147 void parser___ReduceAction148___init(val_t self, int* init_table) {
13148 struct trace_t trace = {NULL, NULL, 7801, LOCATE_parser___ReduceAction148___init};
13149 val_t variable[2];
13150 void **closurevariable = NULL;
13151 trace.prev = tracehead; tracehead = &trace;
13152 trace.file = LOCATE_parser;
13153 variable[0] = self;
13154 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction148].i]) return;
13155 return_label329: while(false);
13156 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction148].i] = 1;
13157 tracehead = trace.prev;
13158 return;
13159 }
13160 void parser___ReduceAction149___action(val_t self, val_t param0) {
13161 struct trace_t trace = {NULL, NULL, 7805, LOCATE_parser___ReduceAction149___action};
13162 val_t variable[25];
13163 void **closurevariable = NULL;
13164 trace.prev = tracehead; tracehead = &trace;
13165 trace.file = LOCATE_parser;
13166 variable[0] = self;
13167 variable[1] = param0;
13168 variable[3] = NIT_NULL /*null*/;
13169 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13170 variable[4] = variable[5];
13171 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13172 variable[5] = variable[6];
13173 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13174 variable[6] = variable[7];
13175 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13176 variable[7] = variable[8];
13177 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13178 variable[8] = variable[9];
13179 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13180 variable[9] = variable[10];
13181 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13182 variable[10] = variable[11];
13183 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13184 variable[11] = variable[12];
13185 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13186 variable[12] = variable[13];
13187 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13188 variable[13] = variable[14];
13189 variable[14] = variable[13] /*nodearraylist1*/;
13190 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
13191 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction149___action, LOCATE_parser, 7819); nit_exit(1);}
13192 variable[15] = variable[12] /*nodearraylist2*/;
13193 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
13194 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction149___action, LOCATE_parser, 7821); nit_exit(1);}
13195 variable[16] = variable[11] /*nodearraylist3*/;
13196 variable[17] = TAG_Bool(( variable[16] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
13197 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction149___action, LOCATE_parser, 7823); nit_exit(1);}
13198 variable[18] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[15] /*tkwredefnode4*/, variable[16] /*tkwreadablenode5*/); /*new AReadAble*/
13199 variable[17] = variable[18];
13200 variable[18] = variable[10] /*nodearraylist4*/;
13201 variable[19] = TAG_Bool(( variable[18] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[18] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
13202 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction149___action, LOCATE_parser, 7829); nit_exit(1);}
13203 variable[19] = variable[9] /*nodearraylist5*/;
13204 variable[20] = TAG_Bool(( variable[19] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
13205 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction149___action, LOCATE_parser, 7831); nit_exit(1);}
13206 variable[20] = variable[8] /*nodearraylist6*/;
13207 variable[21] = TAG_Bool(( variable[20] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[20] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
13208 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction149___action, LOCATE_parser, 7833); nit_exit(1);}
13209 variable[21] = variable[7] /*nodearraylist7*/;
13210 variable[22] = TAG_Bool(( variable[21] /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable[21] /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
13211 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction149___action, LOCATE_parser, 7835); nit_exit(1);}
13212 variable[22] = variable[4] /*nodearraylist10*/;
13213 variable[23] = TAG_Bool(( variable[22] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[22] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
13214 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction149___action, LOCATE_parser, 7837); nit_exit(1);}
13215 variable[24] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[14] /*pdocnode2*/, variable[17] /*pablenode3*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable[18] /*pvisibilitynode8*/, variable[19] /*tkwattrnode9*/, variable[20] /*tattridnode10*/, variable[21] /*ptypenode11*/, variable[22] /*pexprnode12*/); /*new AAttrPropdef*/
13216 variable[23] = variable[24];
13217 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
13218 variable[24] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
13219 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
13220 return_label330: while(false);
13221 tracehead = trace.prev;
13222 return;
13223 }
13224 void parser___ReduceAction149___init(val_t self, int* init_table) {
13225 struct trace_t trace = {NULL, NULL, 7852, LOCATE_parser___ReduceAction149___init};
13226 val_t variable[2];
13227 void **closurevariable = NULL;
13228 trace.prev = tracehead; tracehead = &trace;
13229 trace.file = LOCATE_parser;
13230 variable[0] = self;
13231 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction149].i]) return;
13232 return_label331: while(false);
13233 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction149].i] = 1;
13234 tracehead = trace.prev;
13235 return;
13236 }
13237 void parser___ReduceAction150___action(val_t self, val_t param0) {
13238 struct trace_t trace = {NULL, NULL, 7856, LOCATE_parser___ReduceAction150___action};
13239 val_t variable[23];
13240 void **closurevariable = NULL;
13241 trace.prev = tracehead; tracehead = &trace;
13242 trace.file = LOCATE_parser;
13243 variable[0] = self;
13244 variable[1] = param0;
13245 variable[3] = NIT_NULL /*null*/;
13246 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13247 variable[4] = variable[5];
13248 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13249 variable[5] = variable[6];
13250 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13251 variable[6] = variable[7];
13252 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13253 variable[7] = variable[8];
13254 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13255 variable[8] = variable[9];
13256 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13257 variable[9] = variable[10];
13258 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13259 variable[10] = variable[11];
13260 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13261 variable[11] = variable[12];
13262 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13263 variable[12] = variable[13];
13264 variable[13] = variable[12] /*nodearraylist1*/;
13265 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
13266 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction150___action, LOCATE_parser, 7869); nit_exit(1);}
13267 variable[14] = variable[11] /*nodearraylist2*/;
13268 variable[15] = TAG_Bool(( variable[14] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
13269 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction150___action, LOCATE_parser, 7871); nit_exit(1);}
13270 variable[16] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[14] /*tkwwritablenode6*/); /*new AWriteAble*/
13271 variable[15] = variable[16];
13272 variable[16] = variable[10] /*nodearraylist3*/;
13273 variable[17] = TAG_Bool(( variable[16] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[16] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
13274 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction150___action, LOCATE_parser, 7877); nit_exit(1);}
13275 variable[17] = variable[9] /*nodearraylist4*/;
13276 variable[18] = TAG_Bool(( variable[17] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
13277 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction150___action, LOCATE_parser, 7879); nit_exit(1);}
13278 variable[18] = variable[8] /*nodearraylist5*/;
13279 variable[19] = TAG_Bool(( variable[18] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[18] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
13280 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction150___action, LOCATE_parser, 7881); nit_exit(1);}
13281 variable[19] = variable[7] /*nodearraylist6*/;
13282 variable[20] = TAG_Bool(( variable[19] /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable[19] /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
13283 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction150___action, LOCATE_parser, 7883); nit_exit(1);}
13284 variable[20] = variable[4] /*nodearraylist9*/;
13285 variable[21] = TAG_Bool(( variable[20] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[20] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
13286 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction150___action, LOCATE_parser, 7885); nit_exit(1);}
13287 variable[22] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[13] /*pdocnode2*/, NIT_NULL /*null*/, variable[15] /*pablenode4*/, NIT_NULL /*null*/, variable[16] /*pvisibilitynode8*/, variable[17] /*tkwattrnode9*/, variable[18] /*tattridnode10*/, variable[19] /*ptypenode11*/, variable[20] /*pexprnode12*/); /*new AAttrPropdef*/
13288 variable[21] = variable[22];
13289 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
13290 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
13291 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
13292 return_label332: while(false);
13293 tracehead = trace.prev;
13294 return;
13295 }
13296 void parser___ReduceAction150___init(val_t self, int* init_table) {
13297 struct trace_t trace = {NULL, NULL, 7900, LOCATE_parser___ReduceAction150___init};
13298 val_t variable[2];
13299 void **closurevariable = NULL;
13300 trace.prev = tracehead; tracehead = &trace;
13301 trace.file = LOCATE_parser;
13302 variable[0] = self;
13303 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction150].i]) return;
13304 return_label333: while(false);
13305 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction150].i] = 1;
13306 tracehead = trace.prev;
13307 return;
13308 }
13309 void parser___ReduceAction151___action(val_t self, val_t param0) {
13310 struct trace_t trace = {NULL, NULL, 7904, LOCATE_parser___ReduceAction151___action};
13311 val_t variable[25];
13312 void **closurevariable = NULL;
13313 trace.prev = tracehead; tracehead = &trace;
13314 trace.file = LOCATE_parser;
13315 variable[0] = self;
13316 variable[1] = param0;
13317 variable[3] = NIT_NULL /*null*/;
13318 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13319 variable[4] = variable[5];
13320 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13321 variable[5] = variable[6];
13322 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13323 variable[6] = variable[7];
13324 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13325 variable[7] = variable[8];
13326 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13327 variable[8] = variable[9];
13328 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13329 variable[9] = variable[10];
13330 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13331 variable[10] = variable[11];
13332 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13333 variable[11] = variable[12];
13334 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13335 variable[12] = variable[13];
13336 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13337 variable[13] = variable[14];
13338 variable[14] = variable[13] /*nodearraylist1*/;
13339 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
13340 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction151___action, LOCATE_parser, 7918); nit_exit(1);}
13341 variable[15] = variable[12] /*nodearraylist2*/;
13342 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
13343 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction151___action, LOCATE_parser, 7920); nit_exit(1);}
13344 variable[16] = variable[11] /*nodearraylist3*/;
13345 variable[17] = TAG_Bool(( variable[16] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
13346 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction151___action, LOCATE_parser, 7922); nit_exit(1);}
13347 variable[18] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[15] /*tkwredefnode5*/, variable[16] /*tkwwritablenode6*/); /*new AWriteAble*/
13348 variable[17] = variable[18];
13349 variable[18] = variable[10] /*nodearraylist4*/;
13350 variable[19] = TAG_Bool(( variable[18] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[18] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
13351 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction151___action, LOCATE_parser, 7928); nit_exit(1);}
13352 variable[19] = variable[9] /*nodearraylist5*/;
13353 variable[20] = TAG_Bool(( variable[19] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
13354 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction151___action, LOCATE_parser, 7930); nit_exit(1);}
13355 variable[20] = variable[8] /*nodearraylist6*/;
13356 variable[21] = TAG_Bool(( variable[20] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[20] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
13357 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction151___action, LOCATE_parser, 7932); nit_exit(1);}
13358 variable[21] = variable[7] /*nodearraylist7*/;
13359 variable[22] = TAG_Bool(( variable[21] /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable[21] /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
13360 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction151___action, LOCATE_parser, 7934); nit_exit(1);}
13361 variable[22] = variable[4] /*nodearraylist10*/;
13362 variable[23] = TAG_Bool(( variable[22] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[22] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
13363 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction151___action, LOCATE_parser, 7936); nit_exit(1);}
13364 variable[24] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[14] /*pdocnode2*/, NIT_NULL /*null*/, variable[17] /*pablenode4*/, NIT_NULL /*null*/, variable[18] /*pvisibilitynode8*/, variable[19] /*tkwattrnode9*/, variable[20] /*tattridnode10*/, variable[21] /*ptypenode11*/, variable[22] /*pexprnode12*/); /*new AAttrPropdef*/
13365 variable[23] = variable[24];
13366 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
13367 variable[24] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
13368 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
13369 return_label334: while(false);
13370 tracehead = trace.prev;
13371 return;
13372 }
13373 void parser___ReduceAction151___init(val_t self, int* init_table) {
13374 struct trace_t trace = {NULL, NULL, 7951, LOCATE_parser___ReduceAction151___init};
13375 val_t variable[2];
13376 void **closurevariable = NULL;
13377 trace.prev = tracehead; tracehead = &trace;
13378 trace.file = LOCATE_parser;
13379 variable[0] = self;
13380 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction151].i]) return;
13381 return_label335: while(false);
13382 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction151].i] = 1;
13383 tracehead = trace.prev;
13384 return;
13385 }
13386 void parser___ReduceAction152___action(val_t self, val_t param0) {
13387 struct trace_t trace = {NULL, NULL, 7955, LOCATE_parser___ReduceAction152___action};
13388 val_t variable[20];
13389 void **closurevariable = NULL;
13390 trace.prev = tracehead; tracehead = &trace;
13391 trace.file = LOCATE_parser;
13392 variable[0] = self;
13393 variable[1] = param0;
13394 variable[3] = NIT_NULL /*null*/;
13395 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13396 variable[4] = variable[5];
13397 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13398 variable[5] = variable[6];
13399 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13400 variable[6] = variable[7];
13401 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13402 variable[7] = variable[8];
13403 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13404 variable[8] = variable[9];
13405 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13406 variable[9] = variable[10];
13407 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13408 variable[10] = variable[11];
13409 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13410 variable[11] = variable[12];
13411 variable[12] = variable[11] /*nodearraylist1*/;
13412 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
13413 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction152___action, LOCATE_parser, 7967); nit_exit(1);}
13414 variable[13] = variable[10] /*nodearraylist2*/;
13415 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode6*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode6*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
13416 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction152___action, LOCATE_parser, 7969); nit_exit(1);}
13417 variable[14] = variable[9] /*nodearraylist3*/;
13418 variable[15] = TAG_Bool(( variable[14] /*tkwattrnode7*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwattrnode7*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
13419 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction152___action, LOCATE_parser, 7971); nit_exit(1);}
13420 variable[15] = variable[8] /*nodearraylist4*/;
13421 variable[16] = TAG_Bool(( variable[15] /*tattridnode8*/==NIT_NULL) || VAL_ISA( variable[15] /*tattridnode8*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
13422 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction152___action, LOCATE_parser, 7973); nit_exit(1);}
13423 variable[16] = variable[7] /*nodearraylist5*/;
13424 variable[17] = TAG_Bool(( variable[16] /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable[16] /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
13425 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction152___action, LOCATE_parser, 7975); nit_exit(1);}
13426 variable[17] = variable[4] /*nodearraylist8*/;
13427 variable[18] = TAG_Bool(( variable[17] /*pexprnode10*/==NIT_NULL) || VAL_ISA( variable[17] /*pexprnode10*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
13428 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction152___action, LOCATE_parser, 7977); nit_exit(1);}
13429 variable[19] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[12] /*pdocnode2*/, NIT_NULL /*null*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable[13] /*pvisibilitynode6*/, variable[14] /*tkwattrnode7*/, variable[15] /*tattridnode8*/, variable[16] /*ptypenode9*/, variable[17] /*pexprnode10*/); /*new AAttrPropdef*/
13430 variable[18] = variable[19];
13431 variable[3] = variable[18] /*ppropdefnode1*/ /*node_list=*/;
13432 variable[19] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
13433 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[19], variable[3] /*node_list*/) /*Parser::push*/;
13434 return_label336: while(false);
13435 tracehead = trace.prev;
13436 return;
13437 }
13438 void parser___ReduceAction152___init(val_t self, int* init_table) {
13439 struct trace_t trace = {NULL, NULL, 7992, LOCATE_parser___ReduceAction152___init};
13440 val_t variable[2];
13441 void **closurevariable = NULL;
13442 trace.prev = tracehead; tracehead = &trace;
13443 trace.file = LOCATE_parser;
13444 variable[0] = self;
13445 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction152].i]) return;
13446 return_label337: while(false);
13447 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction152].i] = 1;
13448 tracehead = trace.prev;
13449 return;
13450 }
13451 void parser___ReduceAction153___action(val_t self, val_t param0) {
13452 struct trace_t trace = {NULL, NULL, 7996, LOCATE_parser___ReduceAction153___action};
13453 val_t variable[28];
13454 void **closurevariable = NULL;
13455 trace.prev = tracehead; tracehead = &trace;
13456 trace.file = LOCATE_parser;
13457 variable[0] = self;
13458 variable[1] = param0;
13459 variable[3] = NIT_NULL /*null*/;
13460 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13461 variable[4] = variable[5];
13462 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13463 variable[5] = variable[6];
13464 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13465 variable[6] = variable[7];
13466 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13467 variable[7] = variable[8];
13468 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13469 variable[8] = variable[9];
13470 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13471 variable[9] = variable[10];
13472 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13473 variable[10] = variable[11];
13474 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13475 variable[11] = variable[12];
13476 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13477 variable[12] = variable[13];
13478 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13479 variable[13] = variable[14];
13480 variable[15] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13481 variable[14] = variable[15];
13482 variable[15] = variable[14] /*nodearraylist1*/;
13483 variable[16] = TAG_Bool(( variable[15] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
13484 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction153___action, LOCATE_parser, 8011); nit_exit(1);}
13485 variable[16] = variable[13] /*nodearraylist2*/;
13486 variable[17] = TAG_Bool(( variable[16] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
13487 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction153___action, LOCATE_parser, 8013); nit_exit(1);}
13488 variable[18] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[16] /*tkwreadablenode5*/); /*new AReadAble*/
13489 variable[17] = variable[18];
13490 variable[18] = variable[12] /*nodearraylist3*/;
13491 variable[19] = TAG_Bool(( variable[18] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
13492 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction153___action, LOCATE_parser, 8019); nit_exit(1);}
13493 variable[20] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[18] /*tkwwritablenode8*/); /*new AWriteAble*/
13494 variable[19] = variable[20];
13495 variable[20] = variable[11] /*nodearraylist4*/;
13496 variable[21] = TAG_Bool(( variable[20] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[20] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
13497 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction153___action, LOCATE_parser, 8025); nit_exit(1);}
13498 variable[21] = variable[10] /*nodearraylist5*/;
13499 variable[22] = TAG_Bool(( variable[21] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[21] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
13500 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction153___action, LOCATE_parser, 8027); nit_exit(1);}
13501 variable[22] = variable[9] /*nodearraylist6*/;
13502 variable[23] = TAG_Bool(( variable[22] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[22] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
13503 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction153___action, LOCATE_parser, 8029); nit_exit(1);}
13504 variable[23] = variable[8] /*nodearraylist7*/;
13505 variable[24] = TAG_Bool(( variable[23] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[23] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
13506 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction153___action, LOCATE_parser, 8031); nit_exit(1);}
13507 variable[24] = variable[7] /*nodearraylist8*/;
13508 variable[25] = TAG_Bool(( variable[24] /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable[24] /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
13509 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction153___action, LOCATE_parser, 8033); nit_exit(1);}
13510 variable[25] = variable[4] /*nodearraylist11*/;
13511 variable[26] = TAG_Bool(( variable[25] /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable[25] /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
13512 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction153___action, LOCATE_parser, 8035); nit_exit(1);}
13513 variable[27] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[15] /*pdocnode2*/, variable[17] /*pablenode3*/, variable[19] /*pablenode6*/, variable[20] /*tkwredefnode9*/, variable[21] /*pvisibilitynode10*/, variable[22] /*tkwattrnode11*/, variable[23] /*tattridnode12*/, variable[24] /*ptypenode13*/, variable[25] /*pexprnode14*/); /*new AAttrPropdef*/
13514 variable[26] = variable[27];
13515 variable[3] = variable[26] /*ppropdefnode1*/ /*node_list=*/;
13516 variable[27] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
13517 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[27], variable[3] /*node_list*/) /*Parser::push*/;
13518 return_label338: while(false);
13519 tracehead = trace.prev;
13520 return;
13521 }
13522 void parser___ReduceAction153___init(val_t self, int* init_table) {
13523 struct trace_t trace = {NULL, NULL, 8050, LOCATE_parser___ReduceAction153___init};
13524 val_t variable[2];
13525 void **closurevariable = NULL;
13526 trace.prev = tracehead; tracehead = &trace;
13527 trace.file = LOCATE_parser;
13528 variable[0] = self;
13529 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction153].i]) return;
13530 return_label339: while(false);
13531 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction153].i] = 1;
13532 tracehead = trace.prev;
13533 return;
13534 }
13535 void parser___ReduceAction154___action(val_t self, val_t param0) {
13536 struct trace_t trace = {NULL, NULL, 8054, LOCATE_parser___ReduceAction154___action};
13537 val_t variable[30];
13538 void **closurevariable = NULL;
13539 trace.prev = tracehead; tracehead = &trace;
13540 trace.file = LOCATE_parser;
13541 variable[0] = self;
13542 variable[1] = param0;
13543 variable[3] = NIT_NULL /*null*/;
13544 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13545 variable[4] = variable[5];
13546 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13547 variable[5] = variable[6];
13548 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13549 variable[6] = variable[7];
13550 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13551 variable[7] = variable[8];
13552 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13553 variable[8] = variable[9];
13554 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13555 variable[9] = variable[10];
13556 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13557 variable[10] = variable[11];
13558 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13559 variable[11] = variable[12];
13560 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13561 variable[12] = variable[13];
13562 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13563 variable[13] = variable[14];
13564 variable[15] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13565 variable[14] = variable[15];
13566 variable[16] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13567 variable[15] = variable[16];
13568 variable[16] = variable[15] /*nodearraylist1*/;
13569 variable[17] = TAG_Bool(( variable[16] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[16] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
13570 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction154___action, LOCATE_parser, 8070); nit_exit(1);}
13571 variable[17] = variable[14] /*nodearraylist2*/;
13572 variable[18] = TAG_Bool(( variable[17] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
13573 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction154___action, LOCATE_parser, 8072); nit_exit(1);}
13574 variable[19] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[17] /*tkwreadablenode5*/); /*new AReadAble*/
13575 variable[18] = variable[19];
13576 variable[19] = variable[13] /*nodearraylist3*/;
13577 variable[20] = TAG_Bool(( variable[19] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
13578 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction154___action, LOCATE_parser, 8078); nit_exit(1);}
13579 variable[20] = variable[12] /*nodearraylist4*/;
13580 variable[21] = TAG_Bool(( variable[20] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[20] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
13581 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction154___action, LOCATE_parser, 8080); nit_exit(1);}
13582 variable[22] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[19] /*tkwredefnode7*/, variable[20] /*tkwwritablenode8*/); /*new AWriteAble*/
13583 variable[21] = variable[22];
13584 variable[22] = variable[11] /*nodearraylist5*/;
13585 variable[23] = TAG_Bool(( variable[22] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[22] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
13586 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction154___action, LOCATE_parser, 8086); nit_exit(1);}
13587 variable[23] = variable[10] /*nodearraylist6*/;
13588 variable[24] = TAG_Bool(( variable[23] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[23] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
13589 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction154___action, LOCATE_parser, 8088); nit_exit(1);}
13590 variable[24] = variable[9] /*nodearraylist7*/;
13591 variable[25] = TAG_Bool(( variable[24] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[24] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
13592 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction154___action, LOCATE_parser, 8090); nit_exit(1);}
13593 variable[25] = variable[8] /*nodearraylist8*/;
13594 variable[26] = TAG_Bool(( variable[25] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[25] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
13595 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction154___action, LOCATE_parser, 8092); nit_exit(1);}
13596 variable[26] = variable[7] /*nodearraylist9*/;
13597 variable[27] = TAG_Bool(( variable[26] /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable[26] /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
13598 if (!UNTAG_Bool(variable[27])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction154___action, LOCATE_parser, 8094); nit_exit(1);}
13599 variable[27] = variable[4] /*nodearraylist12*/;
13600 variable[28] = TAG_Bool(( variable[27] /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable[27] /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
13601 if (!UNTAG_Bool(variable[28])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction154___action, LOCATE_parser, 8096); nit_exit(1);}
13602 variable[29] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[16] /*pdocnode2*/, variable[18] /*pablenode3*/, variable[21] /*pablenode6*/, variable[22] /*tkwredefnode9*/, variable[23] /*pvisibilitynode10*/, variable[24] /*tkwattrnode11*/, variable[25] /*tattridnode12*/, variable[26] /*ptypenode13*/, variable[27] /*pexprnode14*/); /*new AAttrPropdef*/
13603 variable[28] = variable[29];
13604 variable[3] = variable[28] /*ppropdefnode1*/ /*node_list=*/;
13605 variable[29] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
13606 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[29], variable[3] /*node_list*/) /*Parser::push*/;
13607 return_label340: while(false);
13608 tracehead = trace.prev;
13609 return;
13610 }
13611 void parser___ReduceAction154___init(val_t self, int* init_table) {
13612 struct trace_t trace = {NULL, NULL, 8111, LOCATE_parser___ReduceAction154___init};
13613 val_t variable[2];
13614 void **closurevariable = NULL;
13615 trace.prev = tracehead; tracehead = &trace;
13616 trace.file = LOCATE_parser;
13617 variable[0] = self;
13618 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction154].i]) return;
13619 return_label341: while(false);
13620 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction154].i] = 1;
13621 tracehead = trace.prev;
13622 return;
13623 }
13624 void parser___ReduceAction155___action(val_t self, val_t param0) {
13625 struct trace_t trace = {NULL, NULL, 8115, LOCATE_parser___ReduceAction155___action};
13626 val_t variable[25];
13627 void **closurevariable = NULL;
13628 trace.prev = tracehead; tracehead = &trace;
13629 trace.file = LOCATE_parser;
13630 variable[0] = self;
13631 variable[1] = param0;
13632 variable[3] = NIT_NULL /*null*/;
13633 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13634 variable[4] = variable[5];
13635 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13636 variable[5] = variable[6];
13637 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13638 variable[6] = variable[7];
13639 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13640 variable[7] = variable[8];
13641 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13642 variable[8] = variable[9];
13643 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13644 variable[9] = variable[10];
13645 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13646 variable[10] = variable[11];
13647 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13648 variable[11] = variable[12];
13649 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13650 variable[12] = variable[13];
13651 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13652 variable[13] = variable[14];
13653 variable[14] = variable[13] /*nodearraylist1*/;
13654 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
13655 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction155___action, LOCATE_parser, 8129); nit_exit(1);}
13656 variable[15] = variable[12] /*nodearraylist2*/;
13657 variable[16] = TAG_Bool(( variable[15] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
13658 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction155___action, LOCATE_parser, 8131); nit_exit(1);}
13659 variable[17] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[15] /*tkwreadablenode5*/); /*new AReadAble*/
13660 variable[16] = variable[17];
13661 variable[17] = variable[11] /*nodearraylist3*/;
13662 variable[18] = TAG_Bool(( variable[17] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
13663 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction155___action, LOCATE_parser, 8137); nit_exit(1);}
13664 variable[18] = variable[10] /*nodearraylist4*/;
13665 variable[19] = TAG_Bool(( variable[18] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[18] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
13666 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction155___action, LOCATE_parser, 8139); nit_exit(1);}
13667 variable[19] = variable[9] /*nodearraylist5*/;
13668 variable[20] = TAG_Bool(( variable[19] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
13669 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction155___action, LOCATE_parser, 8141); nit_exit(1);}
13670 variable[20] = variable[8] /*nodearraylist6*/;
13671 variable[21] = TAG_Bool(( variable[20] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[20] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
13672 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction155___action, LOCATE_parser, 8143); nit_exit(1);}
13673 variable[21] = variable[7] /*nodearraylist7*/;
13674 variable[22] = TAG_Bool(( variable[21] /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable[21] /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
13675 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction155___action, LOCATE_parser, 8145); nit_exit(1);}
13676 variable[22] = variable[4] /*nodearraylist10*/;
13677 variable[23] = TAG_Bool(( variable[22] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[22] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
13678 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction155___action, LOCATE_parser, 8147); nit_exit(1);}
13679 variable[24] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[14] /*pdocnode2*/, variable[16] /*pablenode3*/, NIT_NULL /*null*/, variable[17] /*tkwredefnode7*/, variable[18] /*pvisibilitynode8*/, variable[19] /*tkwattrnode9*/, variable[20] /*tattridnode10*/, variable[21] /*ptypenode11*/, variable[22] /*pexprnode12*/); /*new AAttrPropdef*/
13680 variable[23] = variable[24];
13681 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
13682 variable[24] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
13683 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
13684 return_label342: while(false);
13685 tracehead = trace.prev;
13686 return;
13687 }
13688 void parser___ReduceAction155___init(val_t self, int* init_table) {
13689 struct trace_t trace = {NULL, NULL, 8162, LOCATE_parser___ReduceAction155___init};
13690 val_t variable[2];
13691 void **closurevariable = NULL;
13692 trace.prev = tracehead; tracehead = &trace;
13693 trace.file = LOCATE_parser;
13694 variable[0] = self;
13695 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction155].i]) return;
13696 return_label343: while(false);
13697 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction155].i] = 1;
13698 tracehead = trace.prev;
13699 return;
13700 }
13701 void parser___ReduceAction156___action(val_t self, val_t param0) {
13702 struct trace_t trace = {NULL, NULL, 8166, LOCATE_parser___ReduceAction156___action};
13703 val_t variable[30];
13704 void **closurevariable = NULL;
13705 trace.prev = tracehead; tracehead = &trace;
13706 trace.file = LOCATE_parser;
13707 variable[0] = self;
13708 variable[1] = param0;
13709 variable[3] = NIT_NULL /*null*/;
13710 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13711 variable[4] = variable[5];
13712 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13713 variable[5] = variable[6];
13714 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13715 variable[6] = variable[7];
13716 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13717 variable[7] = variable[8];
13718 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13719 variable[8] = variable[9];
13720 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13721 variable[9] = variable[10];
13722 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13723 variable[10] = variable[11];
13724 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13725 variable[11] = variable[12];
13726 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13727 variable[12] = variable[13];
13728 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13729 variable[13] = variable[14];
13730 variable[15] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13731 variable[14] = variable[15];
13732 variable[16] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13733 variable[15] = variable[16];
13734 variable[16] = variable[15] /*nodearraylist1*/;
13735 variable[17] = TAG_Bool(( variable[16] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[16] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
13736 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction156___action, LOCATE_parser, 8182); nit_exit(1);}
13737 variable[17] = variable[14] /*nodearraylist2*/;
13738 variable[18] = TAG_Bool(( variable[17] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
13739 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction156___action, LOCATE_parser, 8184); nit_exit(1);}
13740 variable[18] = variable[13] /*nodearraylist3*/;
13741 variable[19] = TAG_Bool(( variable[18] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
13742 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction156___action, LOCATE_parser, 8186); nit_exit(1);}
13743 variable[20] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[17] /*tkwredefnode4*/, variable[18] /*tkwreadablenode5*/); /*new AReadAble*/
13744 variable[19] = variable[20];
13745 variable[20] = variable[12] /*nodearraylist4*/;
13746 variable[21] = TAG_Bool(( variable[20] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[20] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
13747 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction156___action, LOCATE_parser, 8192); nit_exit(1);}
13748 variable[22] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[20] /*tkwwritablenode8*/); /*new AWriteAble*/
13749 variable[21] = variable[22];
13750 variable[22] = variable[11] /*nodearraylist5*/;
13751 variable[23] = TAG_Bool(( variable[22] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[22] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
13752 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction156___action, LOCATE_parser, 8198); nit_exit(1);}
13753 variable[23] = variable[10] /*nodearraylist6*/;
13754 variable[24] = TAG_Bool(( variable[23] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[23] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
13755 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction156___action, LOCATE_parser, 8200); nit_exit(1);}
13756 variable[24] = variable[9] /*nodearraylist7*/;
13757 variable[25] = TAG_Bool(( variable[24] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[24] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
13758 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction156___action, LOCATE_parser, 8202); nit_exit(1);}
13759 variable[25] = variable[8] /*nodearraylist8*/;
13760 variable[26] = TAG_Bool(( variable[25] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[25] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
13761 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction156___action, LOCATE_parser, 8204); nit_exit(1);}
13762 variable[26] = variable[7] /*nodearraylist9*/;
13763 variable[27] = TAG_Bool(( variable[26] /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable[26] /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
13764 if (!UNTAG_Bool(variable[27])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction156___action, LOCATE_parser, 8206); nit_exit(1);}
13765 variable[27] = variable[4] /*nodearraylist12*/;
13766 variable[28] = TAG_Bool(( variable[27] /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable[27] /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
13767 if (!UNTAG_Bool(variable[28])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction156___action, LOCATE_parser, 8208); nit_exit(1);}
13768 variable[29] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[16] /*pdocnode2*/, variable[19] /*pablenode3*/, variable[21] /*pablenode6*/, variable[22] /*tkwredefnode9*/, variable[23] /*pvisibilitynode10*/, variable[24] /*tkwattrnode11*/, variable[25] /*tattridnode12*/, variable[26] /*ptypenode13*/, variable[27] /*pexprnode14*/); /*new AAttrPropdef*/
13769 variable[28] = variable[29];
13770 variable[3] = variable[28] /*ppropdefnode1*/ /*node_list=*/;
13771 variable[29] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
13772 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[29], variable[3] /*node_list*/) /*Parser::push*/;
13773 return_label344: while(false);
13774 tracehead = trace.prev;
13775 return;
13776 }
13777 void parser___ReduceAction156___init(val_t self, int* init_table) {
13778 struct trace_t trace = {NULL, NULL, 8223, LOCATE_parser___ReduceAction156___init};
13779 val_t variable[2];
13780 void **closurevariable = NULL;
13781 trace.prev = tracehead; tracehead = &trace;
13782 trace.file = LOCATE_parser;
13783 variable[0] = self;
13784 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction156].i]) return;
13785 return_label345: while(false);
13786 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction156].i] = 1;
13787 tracehead = trace.prev;
13788 return;
13789 }
13790 void parser___ReduceAction157___action(val_t self, val_t param0) {
13791 struct trace_t trace = {NULL, NULL, 8227, LOCATE_parser___ReduceAction157___action};
13792 val_t variable[32];
13793 void **closurevariable = NULL;
13794 trace.prev = tracehead; tracehead = &trace;
13795 trace.file = LOCATE_parser;
13796 variable[0] = self;
13797 variable[1] = param0;
13798 variable[3] = NIT_NULL /*null*/;
13799 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13800 variable[4] = variable[5];
13801 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13802 variable[5] = variable[6];
13803 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13804 variable[6] = variable[7];
13805 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13806 variable[7] = variable[8];
13807 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13808 variable[8] = variable[9];
13809 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13810 variable[9] = variable[10];
13811 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13812 variable[10] = variable[11];
13813 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13814 variable[11] = variable[12];
13815 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13816 variable[12] = variable[13];
13817 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13818 variable[13] = variable[14];
13819 variable[15] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13820 variable[14] = variable[15];
13821 variable[16] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13822 variable[15] = variable[16];
13823 variable[17] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13824 variable[16] = variable[17];
13825 variable[17] = variable[16] /*nodearraylist1*/;
13826 variable[18] = TAG_Bool(( variable[17] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[17] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
13827 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction157___action, LOCATE_parser, 8244); nit_exit(1);}
13828 variable[18] = variable[15] /*nodearraylist2*/;
13829 variable[19] = TAG_Bool(( variable[18] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
13830 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction157___action, LOCATE_parser, 8246); nit_exit(1);}
13831 variable[19] = variable[14] /*nodearraylist3*/;
13832 variable[20] = TAG_Bool(( variable[19] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
13833 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction157___action, LOCATE_parser, 8248); nit_exit(1);}
13834 variable[21] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[18] /*tkwredefnode4*/, variable[19] /*tkwreadablenode5*/); /*new AReadAble*/
13835 variable[20] = variable[21];
13836 variable[21] = variable[13] /*nodearraylist4*/;
13837 variable[22] = TAG_Bool(( variable[21] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[21] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
13838 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction157___action, LOCATE_parser, 8254); nit_exit(1);}
13839 variable[22] = variable[12] /*nodearraylist5*/;
13840 variable[23] = TAG_Bool(( variable[22] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[22] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
13841 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction157___action, LOCATE_parser, 8256); nit_exit(1);}
13842 variable[24] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[21] /*tkwredefnode7*/, variable[22] /*tkwwritablenode8*/); /*new AWriteAble*/
13843 variable[23] = variable[24];
13844 variable[24] = variable[11] /*nodearraylist6*/;
13845 variable[25] = TAG_Bool(( variable[24] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[24] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
13846 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction157___action, LOCATE_parser, 8262); nit_exit(1);}
13847 variable[25] = variable[10] /*nodearraylist7*/;
13848 variable[26] = TAG_Bool(( variable[25] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[25] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
13849 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction157___action, LOCATE_parser, 8264); nit_exit(1);}
13850 variable[26] = variable[9] /*nodearraylist8*/;
13851 variable[27] = TAG_Bool(( variable[26] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[26] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
13852 if (!UNTAG_Bool(variable[27])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction157___action, LOCATE_parser, 8266); nit_exit(1);}
13853 variable[27] = variable[8] /*nodearraylist9*/;
13854 variable[28] = TAG_Bool(( variable[27] /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable[27] /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
13855 if (!UNTAG_Bool(variable[28])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction157___action, LOCATE_parser, 8268); nit_exit(1);}
13856 variable[28] = variable[7] /*nodearraylist10*/;
13857 variable[29] = TAG_Bool(( variable[28] /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable[28] /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
13858 if (!UNTAG_Bool(variable[29])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction157___action, LOCATE_parser, 8270); nit_exit(1);}
13859 variable[29] = variable[4] /*nodearraylist13*/;
13860 variable[30] = TAG_Bool(( variable[29] /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable[29] /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
13861 if (!UNTAG_Bool(variable[30])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction157___action, LOCATE_parser, 8272); nit_exit(1);}
13862 variable[31] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[17] /*pdocnode2*/, variable[20] /*pablenode3*/, variable[23] /*pablenode6*/, variable[24] /*tkwredefnode9*/, variable[25] /*pvisibilitynode10*/, variable[26] /*tkwattrnode11*/, variable[27] /*tattridnode12*/, variable[28] /*ptypenode13*/, variable[29] /*pexprnode14*/); /*new AAttrPropdef*/
13863 variable[30] = variable[31];
13864 variable[3] = variable[30] /*ppropdefnode1*/ /*node_list=*/;
13865 variable[31] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
13866 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[31], variable[3] /*node_list*/) /*Parser::push*/;
13867 return_label346: while(false);
13868 tracehead = trace.prev;
13869 return;
13870 }
13871 void parser___ReduceAction157___init(val_t self, int* init_table) {
13872 struct trace_t trace = {NULL, NULL, 8287, LOCATE_parser___ReduceAction157___init};
13873 val_t variable[2];
13874 void **closurevariable = NULL;
13875 trace.prev = tracehead; tracehead = &trace;
13876 trace.file = LOCATE_parser;
13877 variable[0] = self;
13878 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction157].i]) return;
13879 return_label347: while(false);
13880 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction157].i] = 1;
13881 tracehead = trace.prev;
13882 return;
13883 }
13884 void parser___ReduceAction158___action(val_t self, val_t param0) {
13885 struct trace_t trace = {NULL, NULL, 8291, LOCATE_parser___ReduceAction158___action};
13886 val_t variable[27];
13887 void **closurevariable = NULL;
13888 trace.prev = tracehead; tracehead = &trace;
13889 trace.file = LOCATE_parser;
13890 variable[0] = self;
13891 variable[1] = param0;
13892 variable[3] = NIT_NULL /*null*/;
13893 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13894 variable[4] = variable[5];
13895 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13896 variable[5] = variable[6];
13897 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13898 variable[6] = variable[7];
13899 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13900 variable[7] = variable[8];
13901 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13902 variable[8] = variable[9];
13903 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13904 variable[9] = variable[10];
13905 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13906 variable[10] = variable[11];
13907 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13908 variable[11] = variable[12];
13909 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13910 variable[12] = variable[13];
13911 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13912 variable[13] = variable[14];
13913 variable[15] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13914 variable[14] = variable[15];
13915 variable[15] = variable[14] /*nodearraylist1*/;
13916 variable[16] = TAG_Bool(( variable[15] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
13917 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction158___action, LOCATE_parser, 8306); nit_exit(1);}
13918 variable[16] = variable[13] /*nodearraylist2*/;
13919 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
13920 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction158___action, LOCATE_parser, 8308); nit_exit(1);}
13921 variable[17] = variable[12] /*nodearraylist3*/;
13922 variable[18] = TAG_Bool(( variable[17] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
13923 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction158___action, LOCATE_parser, 8310); nit_exit(1);}
13924 variable[19] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[16] /*tkwredefnode4*/, variable[17] /*tkwreadablenode5*/); /*new AReadAble*/
13925 variable[18] = variable[19];
13926 variable[19] = variable[11] /*nodearraylist4*/;
13927 variable[20] = TAG_Bool(( variable[19] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
13928 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction158___action, LOCATE_parser, 8316); nit_exit(1);}
13929 variable[20] = variable[10] /*nodearraylist5*/;
13930 variable[21] = TAG_Bool(( variable[20] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[20] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
13931 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction158___action, LOCATE_parser, 8318); nit_exit(1);}
13932 variable[21] = variable[9] /*nodearraylist6*/;
13933 variable[22] = TAG_Bool(( variable[21] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[21] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
13934 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction158___action, LOCATE_parser, 8320); nit_exit(1);}
13935 variable[22] = variable[8] /*nodearraylist7*/;
13936 variable[23] = TAG_Bool(( variable[22] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[22] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
13937 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction158___action, LOCATE_parser, 8322); nit_exit(1);}
13938 variable[23] = variable[7] /*nodearraylist8*/;
13939 variable[24] = TAG_Bool(( variable[23] /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable[23] /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
13940 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction158___action, LOCATE_parser, 8324); nit_exit(1);}
13941 variable[24] = variable[4] /*nodearraylist11*/;
13942 variable[25] = TAG_Bool(( variable[24] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[24] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
13943 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction158___action, LOCATE_parser, 8326); nit_exit(1);}
13944 variable[26] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[15] /*pdocnode2*/, variable[18] /*pablenode3*/, NIT_NULL /*null*/, variable[19] /*tkwredefnode7*/, variable[20] /*pvisibilitynode8*/, variable[21] /*tkwattrnode9*/, variable[22] /*tattridnode10*/, variable[23] /*ptypenode11*/, variable[24] /*pexprnode12*/); /*new AAttrPropdef*/
13945 variable[25] = variable[26];
13946 variable[3] = variable[25] /*ppropdefnode1*/ /*node_list=*/;
13947 variable[26] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
13948 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[26], variable[3] /*node_list*/) /*Parser::push*/;
13949 return_label348: while(false);
13950 tracehead = trace.prev;
13951 return;
13952 }
13953 void parser___ReduceAction158___init(val_t self, int* init_table) {
13954 struct trace_t trace = {NULL, NULL, 8341, LOCATE_parser___ReduceAction158___init};
13955 val_t variable[2];
13956 void **closurevariable = NULL;
13957 trace.prev = tracehead; tracehead = &trace;
13958 trace.file = LOCATE_parser;
13959 variable[0] = self;
13960 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction158].i]) return;
13961 return_label349: while(false);
13962 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction158].i] = 1;
13963 tracehead = trace.prev;
13964 return;
13965 }
13966 void parser___ReduceAction159___action(val_t self, val_t param0) {
13967 struct trace_t trace = {NULL, NULL, 8345, LOCATE_parser___ReduceAction159___action};
13968 val_t variable[25];
13969 void **closurevariable = NULL;
13970 trace.prev = tracehead; tracehead = &trace;
13971 trace.file = LOCATE_parser;
13972 variable[0] = self;
13973 variable[1] = param0;
13974 variable[3] = NIT_NULL /*null*/;
13975 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13976 variable[4] = variable[5];
13977 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13978 variable[5] = variable[6];
13979 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13980 variable[6] = variable[7];
13981 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13982 variable[7] = variable[8];
13983 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13984 variable[8] = variable[9];
13985 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13986 variable[9] = variable[10];
13987 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13988 variable[10] = variable[11];
13989 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13990 variable[11] = variable[12];
13991 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13992 variable[12] = variable[13];
13993 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
13994 variable[13] = variable[14];
13995 variable[14] = variable[13] /*nodearraylist1*/;
13996 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
13997 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction159___action, LOCATE_parser, 8359); nit_exit(1);}
13998 variable[15] = variable[12] /*nodearraylist2*/;
13999 variable[16] = TAG_Bool(( variable[15] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
14000 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction159___action, LOCATE_parser, 8361); nit_exit(1);}
14001 variable[17] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[15] /*tkwwritablenode6*/); /*new AWriteAble*/
14002 variable[16] = variable[17];
14003 variable[17] = variable[11] /*nodearraylist3*/;
14004 variable[18] = TAG_Bool(( variable[17] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
14005 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction159___action, LOCATE_parser, 8367); nit_exit(1);}
14006 variable[18] = variable[10] /*nodearraylist4*/;
14007 variable[19] = TAG_Bool(( variable[18] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[18] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
14008 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction159___action, LOCATE_parser, 8369); nit_exit(1);}
14009 variable[19] = variable[9] /*nodearraylist5*/;
14010 variable[20] = TAG_Bool(( variable[19] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
14011 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction159___action, LOCATE_parser, 8371); nit_exit(1);}
14012 variable[20] = variable[8] /*nodearraylist6*/;
14013 variable[21] = TAG_Bool(( variable[20] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[20] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
14014 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction159___action, LOCATE_parser, 8373); nit_exit(1);}
14015 variable[21] = variable[7] /*nodearraylist7*/;
14016 variable[22] = TAG_Bool(( variable[21] /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable[21] /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
14017 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction159___action, LOCATE_parser, 8375); nit_exit(1);}
14018 variable[22] = variable[4] /*nodearraylist10*/;
14019 variable[23] = TAG_Bool(( variable[22] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[22] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
14020 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction159___action, LOCATE_parser, 8377); nit_exit(1);}
14021 variable[24] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[14] /*pdocnode2*/, NIT_NULL /*null*/, variable[16] /*pablenode4*/, variable[17] /*tkwredefnode7*/, variable[18] /*pvisibilitynode8*/, variable[19] /*tkwattrnode9*/, variable[20] /*tattridnode10*/, variable[21] /*ptypenode11*/, variable[22] /*pexprnode12*/); /*new AAttrPropdef*/
14022 variable[23] = variable[24];
14023 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
14024 variable[24] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
14025 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
14026 return_label350: while(false);
14027 tracehead = trace.prev;
14028 return;
14029 }
14030 void parser___ReduceAction159___init(val_t self, int* init_table) {
14031 struct trace_t trace = {NULL, NULL, 8392, LOCATE_parser___ReduceAction159___init};
14032 val_t variable[2];
14033 void **closurevariable = NULL;
14034 trace.prev = tracehead; tracehead = &trace;
14035 trace.file = LOCATE_parser;
14036 variable[0] = self;
14037 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction159].i]) return;
14038 return_label351: while(false);
14039 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction159].i] = 1;
14040 tracehead = trace.prev;
14041 return;
14042 }
14043 void parser___ReduceAction160___action(val_t self, val_t param0) {
14044 struct trace_t trace = {NULL, NULL, 8396, LOCATE_parser___ReduceAction160___action};
14045 val_t variable[27];
14046 void **closurevariable = NULL;
14047 trace.prev = tracehead; tracehead = &trace;
14048 trace.file = LOCATE_parser;
14049 variable[0] = self;
14050 variable[1] = param0;
14051 variable[3] = NIT_NULL /*null*/;
14052 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14053 variable[4] = variable[5];
14054 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14055 variable[5] = variable[6];
14056 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14057 variable[6] = variable[7];
14058 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14059 variable[7] = variable[8];
14060 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14061 variable[8] = variable[9];
14062 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14063 variable[9] = variable[10];
14064 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14065 variable[10] = variable[11];
14066 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14067 variable[11] = variable[12];
14068 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14069 variable[12] = variable[13];
14070 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14071 variable[13] = variable[14];
14072 variable[15] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14073 variable[14] = variable[15];
14074 variable[15] = variable[14] /*nodearraylist1*/;
14075 variable[16] = TAG_Bool(( variable[15] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
14076 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction160___action, LOCATE_parser, 8411); nit_exit(1);}
14077 variable[16] = variable[13] /*nodearraylist2*/;
14078 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
14079 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction160___action, LOCATE_parser, 8413); nit_exit(1);}
14080 variable[17] = variable[12] /*nodearraylist3*/;
14081 variable[18] = TAG_Bool(( variable[17] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
14082 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction160___action, LOCATE_parser, 8415); nit_exit(1);}
14083 variable[19] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[16] /*tkwredefnode5*/, variable[17] /*tkwwritablenode6*/); /*new AWriteAble*/
14084 variable[18] = variable[19];
14085 variable[19] = variable[11] /*nodearraylist4*/;
14086 variable[20] = TAG_Bool(( variable[19] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
14087 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction160___action, LOCATE_parser, 8421); nit_exit(1);}
14088 variable[20] = variable[10] /*nodearraylist5*/;
14089 variable[21] = TAG_Bool(( variable[20] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[20] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
14090 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction160___action, LOCATE_parser, 8423); nit_exit(1);}
14091 variable[21] = variable[9] /*nodearraylist6*/;
14092 variable[22] = TAG_Bool(( variable[21] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[21] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
14093 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction160___action, LOCATE_parser, 8425); nit_exit(1);}
14094 variable[22] = variable[8] /*nodearraylist7*/;
14095 variable[23] = TAG_Bool(( variable[22] /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable[22] /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
14096 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction160___action, LOCATE_parser, 8427); nit_exit(1);}
14097 variable[23] = variable[7] /*nodearraylist8*/;
14098 variable[24] = TAG_Bool(( variable[23] /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable[23] /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
14099 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction160___action, LOCATE_parser, 8429); nit_exit(1);}
14100 variable[24] = variable[4] /*nodearraylist11*/;
14101 variable[25] = TAG_Bool(( variable[24] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[24] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
14102 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction160___action, LOCATE_parser, 8431); nit_exit(1);}
14103 variable[26] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[15] /*pdocnode2*/, NIT_NULL /*null*/, variable[18] /*pablenode4*/, variable[19] /*tkwredefnode7*/, variable[20] /*pvisibilitynode8*/, variable[21] /*tkwattrnode9*/, variable[22] /*tattridnode10*/, variable[23] /*ptypenode11*/, variable[24] /*pexprnode12*/); /*new AAttrPropdef*/
14104 variable[25] = variable[26];
14105 variable[3] = variable[25] /*ppropdefnode1*/ /*node_list=*/;
14106 variable[26] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
14107 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[26], variable[3] /*node_list*/) /*Parser::push*/;
14108 return_label352: while(false);
14109 tracehead = trace.prev;
14110 return;
14111 }
14112 void parser___ReduceAction160___init(val_t self, int* init_table) {
14113 struct trace_t trace = {NULL, NULL, 8446, LOCATE_parser___ReduceAction160___init};
14114 val_t variable[2];
14115 void **closurevariable = NULL;
14116 trace.prev = tracehead; tracehead = &trace;
14117 trace.file = LOCATE_parser;
14118 variable[0] = self;
14119 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction160].i]) return;
14120 return_label353: while(false);
14121 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction160].i] = 1;
14122 tracehead = trace.prev;
14123 return;
14124 }
14125 void parser___ReduceAction161___action(val_t self, val_t param0) {
14126 struct trace_t trace = {NULL, NULL, 8450, LOCATE_parser___ReduceAction161___action};
14127 val_t variable[22];
14128 void **closurevariable = NULL;
14129 trace.prev = tracehead; tracehead = &trace;
14130 trace.file = LOCATE_parser;
14131 variable[0] = self;
14132 variable[1] = param0;
14133 variable[3] = NIT_NULL /*null*/;
14134 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14135 variable[4] = variable[5];
14136 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14137 variable[5] = variable[6];
14138 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14139 variable[6] = variable[7];
14140 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14141 variable[7] = variable[8];
14142 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14143 variable[8] = variable[9];
14144 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14145 variable[9] = variable[10];
14146 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14147 variable[10] = variable[11];
14148 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14149 variable[11] = variable[12];
14150 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14151 variable[12] = variable[13];
14152 variable[13] = variable[12] /*nodearraylist1*/;
14153 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
14154 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction161___action, LOCATE_parser, 8463); nit_exit(1);}
14155 variable[14] = variable[11] /*nodearraylist2*/;
14156 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
14157 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction161___action, LOCATE_parser, 8465); nit_exit(1);}
14158 variable[15] = variable[10] /*nodearraylist3*/;
14159 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode6*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode6*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
14160 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction161___action, LOCATE_parser, 8467); nit_exit(1);}
14161 variable[16] = variable[9] /*nodearraylist4*/;
14162 variable[17] = TAG_Bool(( variable[16] /*tkwattrnode7*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwattrnode7*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
14163 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction161___action, LOCATE_parser, 8469); nit_exit(1);}
14164 variable[17] = variable[8] /*nodearraylist5*/;
14165 variable[18] = TAG_Bool(( variable[17] /*tattridnode8*/==NIT_NULL) || VAL_ISA( variable[17] /*tattridnode8*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
14166 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction161___action, LOCATE_parser, 8471); nit_exit(1);}
14167 variable[18] = variable[7] /*nodearraylist6*/;
14168 variable[19] = TAG_Bool(( variable[18] /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable[18] /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
14169 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction161___action, LOCATE_parser, 8473); nit_exit(1);}
14170 variable[19] = variable[4] /*nodearraylist9*/;
14171 variable[20] = TAG_Bool(( variable[19] /*pexprnode10*/==NIT_NULL) || VAL_ISA( variable[19] /*pexprnode10*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
14172 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction161___action, LOCATE_parser, 8475); nit_exit(1);}
14173 variable[21] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[13] /*pdocnode2*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable[14] /*tkwredefnode5*/, variable[15] /*pvisibilitynode6*/, variable[16] /*tkwattrnode7*/, variable[17] /*tattridnode8*/, variable[18] /*ptypenode9*/, variable[19] /*pexprnode10*/); /*new AAttrPropdef*/
14174 variable[20] = variable[21];
14175 variable[3] = variable[20] /*ppropdefnode1*/ /*node_list=*/;
14176 variable[21] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
14177 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[21], variable[3] /*node_list*/) /*Parser::push*/;
14178 return_label354: while(false);
14179 tracehead = trace.prev;
14180 return;
14181 }
14182 void parser___ReduceAction161___init(val_t self, int* init_table) {
14183 struct trace_t trace = {NULL, NULL, 8490, LOCATE_parser___ReduceAction161___init};
14184 val_t variable[2];
14185 void **closurevariable = NULL;
14186 trace.prev = tracehead; tracehead = &trace;
14187 trace.file = LOCATE_parser;
14188 variable[0] = self;
14189 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction161].i]) return;
14190 return_label355: while(false);
14191 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction161].i] = 1;
14192 tracehead = trace.prev;
14193 return;
14194 }
14195 void parser___ReduceAction162___action(val_t self, val_t param0) {
14196 struct trace_t trace = {NULL, NULL, 8494, LOCATE_parser___ReduceAction162___action};
14197 val_t variable[19];
14198 void **closurevariable = NULL;
14199 trace.prev = tracehead; tracehead = &trace;
14200 trace.file = LOCATE_parser;
14201 variable[0] = self;
14202 variable[1] = param0;
14203 variable[3] = NIT_NULL /*null*/;
14204 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14205 variable[4] = variable[5];
14206 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14207 variable[5] = variable[6];
14208 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14209 variable[6] = variable[7];
14210 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14211 variable[7] = variable[8];
14212 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14213 variable[8] = variable[9];
14214 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14215 variable[9] = variable[10];
14216 variable[10] = variable[9] /*nodearraylist1*/;
14217 variable[11] = TAG_Bool(( variable[10] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
14218 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction162___action, LOCATE_parser, 8504); nit_exit(1);}
14219 variable[11] = variable[8] /*nodearraylist2*/;
14220 variable[12] = TAG_Bool(( variable[11] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[11] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
14221 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction162___action, LOCATE_parser, 8506); nit_exit(1);}
14222 variable[12] = variable[7] /*nodearraylist3*/;
14223 variable[13] = TAG_Bool(( variable[12] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
14224 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction162___action, LOCATE_parser, 8508); nit_exit(1);}
14225 variable[13] = variable[6] /*nodearraylist4*/;
14226 variable[14] = TAG_Bool(( variable[13] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[13] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
14227 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction162___action, LOCATE_parser, 8510); nit_exit(1);}
14228 variable[15] = NEW_Array_array___Array___init(); /*new Array[Object]*/
14229 variable[14] = variable[15];
14230 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
14231 variable[15] = variable[16];
14232 variable[17] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[14] /*listnode8*/, NIT_NULL /*null*/, variable[15] /*listnode10*/); /*new ASignature*/
14233 variable[16] = variable[17];
14234 variable[18] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef( variable[10] /*pdocnode2*/, NIT_NULL /*null*/, variable[11] /*pvisibilitynode4*/, variable[12] /*tkwmethnode5*/, variable[13] /*pmethidnode6*/, variable[16] /*psignaturenode7*/); /*new ADeferredMethPropdef*/
14235 variable[17] = variable[18];
14236 variable[3] = variable[17] /*ppropdefnode1*/ /*node_list=*/;
14237 variable[18] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
14238 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
14239 return_label356: while(false);
14240 tracehead = trace.prev;
14241 return;
14242 }
14243 void parser___ReduceAction162___init(val_t self, int* init_table) {
14244 struct trace_t trace = {NULL, NULL, 8529, LOCATE_parser___ReduceAction162___init};
14245 val_t variable[2];
14246 void **closurevariable = NULL;
14247 trace.prev = tracehead; tracehead = &trace;
14248 trace.file = LOCATE_parser;
14249 variable[0] = self;
14250 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction162].i]) return;
14251 return_label357: while(false);
14252 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction162].i] = 1;
14253 tracehead = trace.prev;
14254 return;
14255 }
14256 void parser___ReduceAction163___action(val_t self, val_t param0) {
14257 struct trace_t trace = {NULL, NULL, 8533, LOCATE_parser___ReduceAction163___action};
14258 val_t variable[21];
14259 void **closurevariable = NULL;
14260 trace.prev = tracehead; tracehead = &trace;
14261 trace.file = LOCATE_parser;
14262 variable[0] = self;
14263 variable[1] = param0;
14264 variable[3] = NIT_NULL /*null*/;
14265 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14266 variable[4] = variable[5];
14267 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14268 variable[5] = variable[6];
14269 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14270 variable[6] = variable[7];
14271 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14272 variable[7] = variable[8];
14273 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14274 variable[8] = variable[9];
14275 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14276 variable[9] = variable[10];
14277 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14278 variable[10] = variable[11];
14279 variable[11] = variable[10] /*nodearraylist1*/;
14280 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
14281 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction163___action, LOCATE_parser, 8544); nit_exit(1);}
14282 variable[12] = variable[9] /*nodearraylist2*/;
14283 variable[13] = TAG_Bool(( variable[12] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[12] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
14284 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction163___action, LOCATE_parser, 8546); nit_exit(1);}
14285 variable[13] = variable[8] /*nodearraylist3*/;
14286 variable[14] = TAG_Bool(( variable[13] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
14287 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction163___action, LOCATE_parser, 8548); nit_exit(1);}
14288 variable[14] = variable[7] /*nodearraylist4*/;
14289 variable[15] = TAG_Bool(( variable[14] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[14] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
14290 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction163___action, LOCATE_parser, 8550); nit_exit(1);}
14291 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
14292 variable[15] = variable[16];
14293 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
14294 variable[16] = variable[17];
14295 variable[17] = variable[6] /*nodearraylist5*/;
14296 variable[18] = TAG_Bool(( variable[17] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[17] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
14297 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction163___action, LOCATE_parser, 8554); nit_exit(1);}
14298 variable[18] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[17] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[17] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[17] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[17] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[17] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[17] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
14299 if (UNTAG_Bool(variable[18])) { /*if*/
14300 variable[18] = ((array___AbstractArray___is_empty_t)CALL( variable[15] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[15] /*listnode9*/) /*AbstractArray::is_empty*/;
14301 if (UNTAG_Bool(variable[18])) { /*if*/
14302 variable[15] = variable[17] /*listnode8*/ /*listnode9=*/;
14303 } else { /*if*/
14304 ((abstract_collection___IndexedCollection___append_t)CALL( variable[15] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[15] /*listnode9*/, variable[17] /*listnode8*/) /*IndexedCollection::append*/;
14305 }
14306 }
14307 variable[19] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[15] /*listnode9*/, NIT_NULL /*null*/, variable[16] /*listnode11*/); /*new ASignature*/
14308 variable[18] = variable[19];
14309 variable[20] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef( variable[11] /*pdocnode2*/, NIT_NULL /*null*/, variable[12] /*pvisibilitynode4*/, variable[13] /*tkwmethnode5*/, variable[14] /*pmethidnode6*/, variable[18] /*psignaturenode7*/); /*new ADeferredMethPropdef*/
14310 variable[19] = variable[20];
14311 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
14312 variable[20] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
14313 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
14314 return_label358: while(false);
14315 tracehead = trace.prev;
14316 return;
14317 }
14318 void parser___ReduceAction163___init(val_t self, int* init_table) {
14319 struct trace_t trace = {NULL, NULL, 8578, LOCATE_parser___ReduceAction163___init};
14320 val_t variable[2];
14321 void **closurevariable = NULL;
14322 trace.prev = tracehead; tracehead = &trace;
14323 trace.file = LOCATE_parser;
14324 variable[0] = self;
14325 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction163].i]) return;
14326 return_label359: while(false);
14327 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction163].i] = 1;
14328 tracehead = trace.prev;
14329 return;
14330 }
14331 void parser___ReduceAction164___action(val_t self, val_t param0) {
14332 struct trace_t trace = {NULL, NULL, 8582, LOCATE_parser___ReduceAction164___action};
14333 val_t variable[21];
14334 void **closurevariable = NULL;
14335 trace.prev = tracehead; tracehead = &trace;
14336 trace.file = LOCATE_parser;
14337 variable[0] = self;
14338 variable[1] = param0;
14339 variable[3] = NIT_NULL /*null*/;
14340 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14341 variable[4] = variable[5];
14342 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14343 variable[5] = variable[6];
14344 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14345 variable[6] = variable[7];
14346 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14347 variable[7] = variable[8];
14348 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14349 variable[8] = variable[9];
14350 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14351 variable[9] = variable[10];
14352 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14353 variable[10] = variable[11];
14354 variable[11] = variable[10] /*nodearraylist1*/;
14355 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
14356 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction164___action, LOCATE_parser, 8593); nit_exit(1);}
14357 variable[12] = variable[9] /*nodearraylist2*/;
14358 variable[13] = TAG_Bool(( variable[12] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[12] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
14359 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction164___action, LOCATE_parser, 8595); nit_exit(1);}
14360 variable[13] = variable[8] /*nodearraylist3*/;
14361 variable[14] = TAG_Bool(( variable[13] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
14362 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction164___action, LOCATE_parser, 8597); nit_exit(1);}
14363 variable[14] = variable[7] /*nodearraylist4*/;
14364 variable[15] = TAG_Bool(( variable[14] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[14] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
14365 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction164___action, LOCATE_parser, 8599); nit_exit(1);}
14366 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
14367 variable[15] = variable[16];
14368 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
14369 variable[16] = variable[17];
14370 variable[17] = variable[6] /*nodearraylist5*/;
14371 variable[18] = TAG_Bool(( variable[17] /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable[17] /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
14372 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction164___action, LOCATE_parser, 8603); nit_exit(1);}
14373 variable[19] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[15] /*listnode8*/, variable[17] /*ptypenode9*/, variable[16] /*listnode10*/); /*new ASignature*/
14374 variable[18] = variable[19];
14375 variable[20] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef( variable[11] /*pdocnode2*/, NIT_NULL /*null*/, variable[12] /*pvisibilitynode4*/, variable[13] /*tkwmethnode5*/, variable[14] /*pmethidnode6*/, variable[18] /*psignaturenode7*/); /*new ADeferredMethPropdef*/
14376 variable[19] = variable[20];
14377 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
14378 variable[20] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
14379 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
14380 return_label360: while(false);
14381 tracehead = trace.prev;
14382 return;
14383 }
14384 void parser___ReduceAction164___init(val_t self, int* init_table) {
14385 struct trace_t trace = {NULL, NULL, 8620, LOCATE_parser___ReduceAction164___init};
14386 val_t variable[2];
14387 void **closurevariable = NULL;
14388 trace.prev = tracehead; tracehead = &trace;
14389 trace.file = LOCATE_parser;
14390 variable[0] = self;
14391 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction164].i]) return;
14392 return_label361: while(false);
14393 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction164].i] = 1;
14394 tracehead = trace.prev;
14395 return;
14396 }
14397 void parser___ReduceAction165___action(val_t self, val_t param0) {
14398 struct trace_t trace = {NULL, NULL, 8624, LOCATE_parser___ReduceAction165___action};
14399 val_t variable[23];
14400 void **closurevariable = NULL;
14401 trace.prev = tracehead; tracehead = &trace;
14402 trace.file = LOCATE_parser;
14403 variable[0] = self;
14404 variable[1] = param0;
14405 variable[3] = NIT_NULL /*null*/;
14406 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14407 variable[4] = variable[5];
14408 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14409 variable[5] = variable[6];
14410 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14411 variable[6] = variable[7];
14412 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14413 variable[7] = variable[8];
14414 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14415 variable[8] = variable[9];
14416 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14417 variable[9] = variable[10];
14418 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14419 variable[10] = variable[11];
14420 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14421 variable[11] = variable[12];
14422 variable[12] = variable[11] /*nodearraylist1*/;
14423 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
14424 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction165___action, LOCATE_parser, 8636); nit_exit(1);}
14425 variable[13] = variable[10] /*nodearraylist2*/;
14426 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
14427 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction165___action, LOCATE_parser, 8638); nit_exit(1);}
14428 variable[14] = variable[9] /*nodearraylist3*/;
14429 variable[15] = TAG_Bool(( variable[14] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
14430 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction165___action, LOCATE_parser, 8640); nit_exit(1);}
14431 variable[15] = variable[8] /*nodearraylist4*/;
14432 variable[16] = TAG_Bool(( variable[15] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
14433 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction165___action, LOCATE_parser, 8642); nit_exit(1);}
14434 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
14435 variable[16] = variable[17];
14436 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
14437 variable[17] = variable[18];
14438 variable[18] = variable[7] /*nodearraylist5*/;
14439 variable[19] = TAG_Bool(( variable[18] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[18] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
14440 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction165___action, LOCATE_parser, 8646); nit_exit(1);}
14441 variable[19] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[18] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[18] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[18] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[18] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[18] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[18] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
14442 if (UNTAG_Bool(variable[19])) { /*if*/
14443 variable[19] = ((array___AbstractArray___is_empty_t)CALL( variable[16] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[16] /*listnode9*/) /*AbstractArray::is_empty*/;
14444 if (UNTAG_Bool(variable[19])) { /*if*/
14445 variable[16] = variable[18] /*listnode8*/ /*listnode9=*/;
14446 } else { /*if*/
14447 ((abstract_collection___IndexedCollection___append_t)CALL( variable[16] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[16] /*listnode9*/, variable[18] /*listnode8*/) /*IndexedCollection::append*/;
14448 }
14449 }
14450 variable[19] = variable[6] /*nodearraylist6*/;
14451 variable[20] = TAG_Bool(( variable[19] /*ptypenode10*/==NIT_NULL) || VAL_ISA( variable[19] /*ptypenode10*/, COLOR_PType, ID_PType)) /*cast PType*/;
14452 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction165___action, LOCATE_parser, 8655); nit_exit(1);}
14453 variable[21] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[16] /*listnode9*/, variable[19] /*ptypenode10*/, variable[17] /*listnode11*/); /*new ASignature*/
14454 variable[20] = variable[21];
14455 variable[22] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef( variable[12] /*pdocnode2*/, NIT_NULL /*null*/, variable[13] /*pvisibilitynode4*/, variable[14] /*tkwmethnode5*/, variable[15] /*pmethidnode6*/, variable[20] /*psignaturenode7*/); /*new ADeferredMethPropdef*/
14456 variable[21] = variable[22];
14457 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
14458 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
14459 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
14460 return_label362: while(false);
14461 tracehead = trace.prev;
14462 return;
14463 }
14464 void parser___ReduceAction165___init(val_t self, int* init_table) {
14465 struct trace_t trace = {NULL, NULL, 8672, LOCATE_parser___ReduceAction165___init};
14466 val_t variable[2];
14467 void **closurevariable = NULL;
14468 trace.prev = tracehead; tracehead = &trace;
14469 trace.file = LOCATE_parser;
14470 variable[0] = self;
14471 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction165].i]) return;
14472 return_label363: while(false);
14473 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction165].i] = 1;
14474 tracehead = trace.prev;
14475 return;
14476 }
14477 void parser___ReduceAction166___action(val_t self, val_t param0) {
14478 struct trace_t trace = {NULL, NULL, 8676, LOCATE_parser___ReduceAction166___action};
14479 val_t variable[21];
14480 void **closurevariable = NULL;
14481 trace.prev = tracehead; tracehead = &trace;
14482 trace.file = LOCATE_parser;
14483 variable[0] = self;
14484 variable[1] = param0;
14485 variable[3] = NIT_NULL /*null*/;
14486 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14487 variable[4] = variable[5];
14488 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14489 variable[5] = variable[6];
14490 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14491 variable[6] = variable[7];
14492 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14493 variable[7] = variable[8];
14494 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14495 variable[8] = variable[9];
14496 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14497 variable[9] = variable[10];
14498 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14499 variable[10] = variable[11];
14500 variable[11] = variable[10] /*nodearraylist1*/;
14501 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
14502 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction166___action, LOCATE_parser, 8687); nit_exit(1);}
14503 variable[12] = variable[9] /*nodearraylist2*/;
14504 variable[13] = TAG_Bool(( variable[12] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[12] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
14505 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction166___action, LOCATE_parser, 8689); nit_exit(1);}
14506 variable[13] = variable[8] /*nodearraylist3*/;
14507 variable[14] = TAG_Bool(( variable[13] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
14508 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction166___action, LOCATE_parser, 8691); nit_exit(1);}
14509 variable[14] = variable[7] /*nodearraylist4*/;
14510 variable[15] = TAG_Bool(( variable[14] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[14] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
14511 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction166___action, LOCATE_parser, 8693); nit_exit(1);}
14512 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
14513 variable[15] = variable[16];
14514 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
14515 variable[16] = variable[17];
14516 variable[17] = variable[6] /*nodearraylist5*/;
14517 variable[18] = TAG_Bool(( variable[17] /*listnode10*/==NIT_NULL) || VAL_ISA( variable[17] /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
14518 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction166___action, LOCATE_parser, 8697); nit_exit(1);}
14519 variable[18] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[17] /*listnode10*/ == NIT_NULL /*null*/) || (( variable[17] /*listnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[17] /*listnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[17] /*listnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[17] /*listnode10*/,COLOR_kernel___Object_____eqeq))( variable[17] /*listnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
14520 if (UNTAG_Bool(variable[18])) { /*if*/
14521 variable[18] = ((array___AbstractArray___is_empty_t)CALL( variable[16] /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable[16] /*listnode11*/) /*AbstractArray::is_empty*/;
14522 if (UNTAG_Bool(variable[18])) { /*if*/
14523 variable[16] = variable[17] /*listnode10*/ /*listnode11=*/;
14524 } else { /*if*/
14525 ((abstract_collection___IndexedCollection___append_t)CALL( variable[16] /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable[16] /*listnode11*/, variable[17] /*listnode10*/) /*IndexedCollection::append*/;
14526 }
14527 }
14528 variable[19] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[15] /*listnode8*/, NIT_NULL /*null*/, variable[16] /*listnode11*/); /*new ASignature*/
14529 variable[18] = variable[19];
14530 variable[20] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef( variable[11] /*pdocnode2*/, NIT_NULL /*null*/, variable[12] /*pvisibilitynode4*/, variable[13] /*tkwmethnode5*/, variable[14] /*pmethidnode6*/, variable[18] /*psignaturenode7*/); /*new ADeferredMethPropdef*/
14531 variable[19] = variable[20];
14532 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
14533 variable[20] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
14534 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
14535 return_label364: while(false);
14536 tracehead = trace.prev;
14537 return;
14538 }
14539 void parser___ReduceAction166___init(val_t self, int* init_table) {
14540 struct trace_t trace = {NULL, NULL, 8721, LOCATE_parser___ReduceAction166___init};
14541 val_t variable[2];
14542 void **closurevariable = NULL;
14543 trace.prev = tracehead; tracehead = &trace;
14544 trace.file = LOCATE_parser;
14545 variable[0] = self;
14546 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction166].i]) return;
14547 return_label365: while(false);
14548 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction166].i] = 1;
14549 tracehead = trace.prev;
14550 return;
14551 }
14552 void parser___ReduceAction167___action(val_t self, val_t param0) {
14553 struct trace_t trace = {NULL, NULL, 8725, LOCATE_parser___ReduceAction167___action};
14554 val_t variable[23];
14555 void **closurevariable = NULL;
14556 trace.prev = tracehead; tracehead = &trace;
14557 trace.file = LOCATE_parser;
14558 variable[0] = self;
14559 variable[1] = param0;
14560 variable[3] = NIT_NULL /*null*/;
14561 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14562 variable[4] = variable[5];
14563 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14564 variable[5] = variable[6];
14565 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14566 variable[6] = variable[7];
14567 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14568 variable[7] = variable[8];
14569 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14570 variable[8] = variable[9];
14571 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14572 variable[9] = variable[10];
14573 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14574 variable[10] = variable[11];
14575 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14576 variable[11] = variable[12];
14577 variable[12] = variable[11] /*nodearraylist1*/;
14578 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
14579 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction167___action, LOCATE_parser, 8737); nit_exit(1);}
14580 variable[13] = variable[10] /*nodearraylist2*/;
14581 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
14582 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction167___action, LOCATE_parser, 8739); nit_exit(1);}
14583 variable[14] = variable[9] /*nodearraylist3*/;
14584 variable[15] = TAG_Bool(( variable[14] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
14585 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction167___action, LOCATE_parser, 8741); nit_exit(1);}
14586 variable[15] = variable[8] /*nodearraylist4*/;
14587 variable[16] = TAG_Bool(( variable[15] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
14588 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction167___action, LOCATE_parser, 8743); nit_exit(1);}
14589 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
14590 variable[16] = variable[17];
14591 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
14592 variable[17] = variable[18];
14593 variable[18] = variable[7] /*nodearraylist5*/;
14594 variable[19] = TAG_Bool(( variable[18] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[18] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
14595 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction167___action, LOCATE_parser, 8747); nit_exit(1);}
14596 variable[19] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[18] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[18] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[18] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[18] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[18] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[18] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
14597 if (UNTAG_Bool(variable[19])) { /*if*/
14598 variable[19] = ((array___AbstractArray___is_empty_t)CALL( variable[16] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[16] /*listnode9*/) /*AbstractArray::is_empty*/;
14599 if (UNTAG_Bool(variable[19])) { /*if*/
14600 variable[16] = variable[18] /*listnode8*/ /*listnode9=*/;
14601 } else { /*if*/
14602 ((abstract_collection___IndexedCollection___append_t)CALL( variable[16] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[16] /*listnode9*/, variable[18] /*listnode8*/) /*IndexedCollection::append*/;
14603 }
14604 }
14605 variable[19] = variable[6] /*nodearraylist6*/;
14606 variable[20] = TAG_Bool(( variable[19] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[19] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
14607 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction167___action, LOCATE_parser, 8756); nit_exit(1);}
14608 variable[20] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[19] /*listnode11*/ == NIT_NULL /*null*/) || (( variable[19] /*listnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[19] /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable[19] /*listnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
14609 if (UNTAG_Bool(variable[20])) { /*if*/
14610 variable[20] = ((array___AbstractArray___is_empty_t)CALL( variable[17] /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable[17] /*listnode12*/) /*AbstractArray::is_empty*/;
14611 if (UNTAG_Bool(variable[20])) { /*if*/
14612 variable[17] = variable[19] /*listnode11*/ /*listnode12=*/;
14613 } else { /*if*/
14614 ((abstract_collection___IndexedCollection___append_t)CALL( variable[17] /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable[17] /*listnode12*/, variable[19] /*listnode11*/) /*IndexedCollection::append*/;
14615 }
14616 }
14617 variable[21] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[16] /*listnode9*/, NIT_NULL /*null*/, variable[17] /*listnode12*/); /*new ASignature*/
14618 variable[20] = variable[21];
14619 variable[22] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef( variable[12] /*pdocnode2*/, NIT_NULL /*null*/, variable[13] /*pvisibilitynode4*/, variable[14] /*tkwmethnode5*/, variable[15] /*pmethidnode6*/, variable[20] /*psignaturenode7*/); /*new ADeferredMethPropdef*/
14620 variable[21] = variable[22];
14621 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
14622 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
14623 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
14624 return_label366: while(false);
14625 tracehead = trace.prev;
14626 return;
14627 }
14628 void parser___ReduceAction167___init(val_t self, int* init_table) {
14629 struct trace_t trace = {NULL, NULL, 8780, LOCATE_parser___ReduceAction167___init};
14630 val_t variable[2];
14631 void **closurevariable = NULL;
14632 trace.prev = tracehead; tracehead = &trace;
14633 trace.file = LOCATE_parser;
14634 variable[0] = self;
14635 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction167].i]) return;
14636 return_label367: while(false);
14637 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction167].i] = 1;
14638 tracehead = trace.prev;
14639 return;
14640 }
14641 void parser___ReduceAction168___action(val_t self, val_t param0) {
14642 struct trace_t trace = {NULL, NULL, 8784, LOCATE_parser___ReduceAction168___action};
14643 val_t variable[23];
14644 void **closurevariable = NULL;
14645 trace.prev = tracehead; tracehead = &trace;
14646 trace.file = LOCATE_parser;
14647 variable[0] = self;
14648 variable[1] = param0;
14649 variable[3] = NIT_NULL /*null*/;
14650 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14651 variable[4] = variable[5];
14652 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14653 variable[5] = variable[6];
14654 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14655 variable[6] = variable[7];
14656 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14657 variable[7] = variable[8];
14658 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14659 variable[8] = variable[9];
14660 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14661 variable[9] = variable[10];
14662 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14663 variable[10] = variable[11];
14664 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14665 variable[11] = variable[12];
14666 variable[12] = variable[11] /*nodearraylist1*/;
14667 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
14668 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction168___action, LOCATE_parser, 8796); nit_exit(1);}
14669 variable[13] = variable[10] /*nodearraylist2*/;
14670 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
14671 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction168___action, LOCATE_parser, 8798); nit_exit(1);}
14672 variable[14] = variable[9] /*nodearraylist3*/;
14673 variable[15] = TAG_Bool(( variable[14] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
14674 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction168___action, LOCATE_parser, 8800); nit_exit(1);}
14675 variable[15] = variable[8] /*nodearraylist4*/;
14676 variable[16] = TAG_Bool(( variable[15] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
14677 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction168___action, LOCATE_parser, 8802); nit_exit(1);}
14678 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
14679 variable[16] = variable[17];
14680 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
14681 variable[17] = variable[18];
14682 variable[18] = variable[7] /*nodearraylist5*/;
14683 variable[19] = TAG_Bool(( variable[18] /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable[18] /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
14684 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction168___action, LOCATE_parser, 8806); nit_exit(1);}
14685 variable[19] = variable[6] /*nodearraylist6*/;
14686 variable[20] = TAG_Bool(( variable[19] /*listnode10*/==NIT_NULL) || VAL_ISA( variable[19] /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
14687 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction168___action, LOCATE_parser, 8808); nit_exit(1);}
14688 variable[20] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[19] /*listnode10*/ == NIT_NULL /*null*/) || (( variable[19] /*listnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[19] /*listnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode10*/,COLOR_kernel___Object_____eqeq))( variable[19] /*listnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
14689 if (UNTAG_Bool(variable[20])) { /*if*/
14690 variable[20] = ((array___AbstractArray___is_empty_t)CALL( variable[17] /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable[17] /*listnode11*/) /*AbstractArray::is_empty*/;
14691 if (UNTAG_Bool(variable[20])) { /*if*/
14692 variable[17] = variable[19] /*listnode10*/ /*listnode11=*/;
14693 } else { /*if*/
14694 ((abstract_collection___IndexedCollection___append_t)CALL( variable[17] /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable[17] /*listnode11*/, variable[19] /*listnode10*/) /*IndexedCollection::append*/;
14695 }
14696 }
14697 variable[21] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[16] /*listnode8*/, variable[18] /*ptypenode9*/, variable[17] /*listnode11*/); /*new ASignature*/
14698 variable[20] = variable[21];
14699 variable[22] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef( variable[12] /*pdocnode2*/, NIT_NULL /*null*/, variable[13] /*pvisibilitynode4*/, variable[14] /*tkwmethnode5*/, variable[15] /*pmethidnode6*/, variable[20] /*psignaturenode7*/); /*new ADeferredMethPropdef*/
14700 variable[21] = variable[22];
14701 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
14702 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
14703 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
14704 return_label368: while(false);
14705 tracehead = trace.prev;
14706 return;
14707 }
14708 void parser___ReduceAction168___init(val_t self, int* init_table) {
14709 struct trace_t trace = {NULL, NULL, 8832, LOCATE_parser___ReduceAction168___init};
14710 val_t variable[2];
14711 void **closurevariable = NULL;
14712 trace.prev = tracehead; tracehead = &trace;
14713 trace.file = LOCATE_parser;
14714 variable[0] = self;
14715 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction168].i]) return;
14716 return_label369: while(false);
14717 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction168].i] = 1;
14718 tracehead = trace.prev;
14719 return;
14720 }
14721 void parser___ReduceAction169___action(val_t self, val_t param0) {
14722 struct trace_t trace = {NULL, NULL, 8836, LOCATE_parser___ReduceAction169___action};
14723 val_t variable[25];
14724 void **closurevariable = NULL;
14725 trace.prev = tracehead; tracehead = &trace;
14726 trace.file = LOCATE_parser;
14727 variable[0] = self;
14728 variable[1] = param0;
14729 variable[3] = NIT_NULL /*null*/;
14730 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14731 variable[4] = variable[5];
14732 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14733 variable[5] = variable[6];
14734 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14735 variable[6] = variable[7];
14736 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14737 variable[7] = variable[8];
14738 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14739 variable[8] = variable[9];
14740 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14741 variable[9] = variable[10];
14742 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14743 variable[10] = variable[11];
14744 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14745 variable[11] = variable[12];
14746 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14747 variable[12] = variable[13];
14748 variable[13] = variable[12] /*nodearraylist1*/;
14749 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
14750 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction169___action, LOCATE_parser, 8849); nit_exit(1);}
14751 variable[14] = variable[11] /*nodearraylist2*/;
14752 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
14753 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction169___action, LOCATE_parser, 8851); nit_exit(1);}
14754 variable[15] = variable[10] /*nodearraylist3*/;
14755 variable[16] = TAG_Bool(( variable[15] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
14756 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction169___action, LOCATE_parser, 8853); nit_exit(1);}
14757 variable[16] = variable[9] /*nodearraylist4*/;
14758 variable[17] = TAG_Bool(( variable[16] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[16] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
14759 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction169___action, LOCATE_parser, 8855); nit_exit(1);}
14760 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
14761 variable[17] = variable[18];
14762 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
14763 variable[18] = variable[19];
14764 variable[19] = variable[8] /*nodearraylist5*/;
14765 variable[20] = TAG_Bool(( variable[19] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[19] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
14766 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction169___action, LOCATE_parser, 8859); nit_exit(1);}
14767 variable[20] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[19] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[19] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[19] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[19] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
14768 if (UNTAG_Bool(variable[20])) { /*if*/
14769 variable[20] = ((array___AbstractArray___is_empty_t)CALL( variable[17] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[17] /*listnode9*/) /*AbstractArray::is_empty*/;
14770 if (UNTAG_Bool(variable[20])) { /*if*/
14771 variable[17] = variable[19] /*listnode8*/ /*listnode9=*/;
14772 } else { /*if*/
14773 ((abstract_collection___IndexedCollection___append_t)CALL( variable[17] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[17] /*listnode9*/, variable[19] /*listnode8*/) /*IndexedCollection::append*/;
14774 }
14775 }
14776 variable[20] = variable[7] /*nodearraylist6*/;
14777 variable[21] = TAG_Bool(( variable[20] /*ptypenode10*/==NIT_NULL) || VAL_ISA( variable[20] /*ptypenode10*/, COLOR_PType, ID_PType)) /*cast PType*/;
14778 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction169___action, LOCATE_parser, 8868); nit_exit(1);}
14779 variable[21] = variable[6] /*nodearraylist7*/;
14780 variable[22] = TAG_Bool(( variable[21] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[21] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
14781 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction169___action, LOCATE_parser, 8870); nit_exit(1);}
14782 variable[22] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[21] /*listnode11*/ == NIT_NULL /*null*/) || (( variable[21] /*listnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[21] /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable[21] /*listnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
14783 if (UNTAG_Bool(variable[22])) { /*if*/
14784 variable[22] = ((array___AbstractArray___is_empty_t)CALL( variable[18] /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable[18] /*listnode12*/) /*AbstractArray::is_empty*/;
14785 if (UNTAG_Bool(variable[22])) { /*if*/
14786 variable[18] = variable[21] /*listnode11*/ /*listnode12=*/;
14787 } else { /*if*/
14788 ((abstract_collection___IndexedCollection___append_t)CALL( variable[18] /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable[18] /*listnode12*/, variable[21] /*listnode11*/) /*IndexedCollection::append*/;
14789 }
14790 }
14791 variable[23] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[17] /*listnode9*/, variable[20] /*ptypenode10*/, variable[18] /*listnode12*/); /*new ASignature*/
14792 variable[22] = variable[23];
14793 variable[24] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef( variable[13] /*pdocnode2*/, NIT_NULL /*null*/, variable[14] /*pvisibilitynode4*/, variable[15] /*tkwmethnode5*/, variable[16] /*pmethidnode6*/, variable[22] /*psignaturenode7*/); /*new ADeferredMethPropdef*/
14794 variable[23] = variable[24];
14795 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
14796 variable[24] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
14797 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
14798 return_label370: while(false);
14799 tracehead = trace.prev;
14800 return;
14801 }
14802 void parser___ReduceAction169___init(val_t self, int* init_table) {
14803 struct trace_t trace = {NULL, NULL, 8894, LOCATE_parser___ReduceAction169___init};
14804 val_t variable[2];
14805 void **closurevariable = NULL;
14806 trace.prev = tracehead; tracehead = &trace;
14807 trace.file = LOCATE_parser;
14808 variable[0] = self;
14809 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction169].i]) return;
14810 return_label371: while(false);
14811 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction169].i] = 1;
14812 tracehead = trace.prev;
14813 return;
14814 }
14815 void parser___ReduceAction170___action(val_t self, val_t param0) {
14816 struct trace_t trace = {NULL, NULL, 8898, LOCATE_parser___ReduceAction170___action};
14817 val_t variable[21];
14818 void **closurevariable = NULL;
14819 trace.prev = tracehead; tracehead = &trace;
14820 trace.file = LOCATE_parser;
14821 variable[0] = self;
14822 variable[1] = param0;
14823 variable[3] = NIT_NULL /*null*/;
14824 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14825 variable[4] = variable[5];
14826 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14827 variable[5] = variable[6];
14828 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14829 variable[6] = variable[7];
14830 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14831 variable[7] = variable[8];
14832 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14833 variable[8] = variable[9];
14834 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14835 variable[9] = variable[10];
14836 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14837 variable[10] = variable[11];
14838 variable[11] = variable[10] /*nodearraylist1*/;
14839 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
14840 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction170___action, LOCATE_parser, 8909); nit_exit(1);}
14841 variable[12] = variable[9] /*nodearraylist2*/;
14842 variable[13] = TAG_Bool(( variable[12] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
14843 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction170___action, LOCATE_parser, 8911); nit_exit(1);}
14844 variable[13] = variable[8] /*nodearraylist3*/;
14845 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
14846 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction170___action, LOCATE_parser, 8913); nit_exit(1);}
14847 variable[14] = variable[7] /*nodearraylist4*/;
14848 variable[15] = TAG_Bool(( variable[14] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
14849 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction170___action, LOCATE_parser, 8915); nit_exit(1);}
14850 variable[15] = variable[6] /*nodearraylist5*/;
14851 variable[16] = TAG_Bool(( variable[15] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
14852 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction170___action, LOCATE_parser, 8917); nit_exit(1);}
14853 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
14854 variable[16] = variable[17];
14855 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
14856 variable[17] = variable[18];
14857 variable[19] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[16] /*listnode8*/, NIT_NULL /*null*/, variable[17] /*listnode10*/); /*new ASignature*/
14858 variable[18] = variable[19];
14859 variable[20] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef( variable[11] /*pdocnode2*/, variable[12] /*tkwredefnode3*/, variable[13] /*pvisibilitynode4*/, variable[14] /*tkwmethnode5*/, variable[15] /*pmethidnode6*/, variable[18] /*psignaturenode7*/); /*new ADeferredMethPropdef*/
14860 variable[19] = variable[20];
14861 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
14862 variable[20] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
14863 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
14864 return_label372: while(false);
14865 tracehead = trace.prev;
14866 return;
14867 }
14868 void parser___ReduceAction170___init(val_t self, int* init_table) {
14869 struct trace_t trace = {NULL, NULL, 8936, LOCATE_parser___ReduceAction170___init};
14870 val_t variable[2];
14871 void **closurevariable = NULL;
14872 trace.prev = tracehead; tracehead = &trace;
14873 trace.file = LOCATE_parser;
14874 variable[0] = self;
14875 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction170].i]) return;
14876 return_label373: while(false);
14877 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction170].i] = 1;
14878 tracehead = trace.prev;
14879 return;
14880 }
14881 void parser___ReduceAction171___action(val_t self, val_t param0) {
14882 struct trace_t trace = {NULL, NULL, 8940, LOCATE_parser___ReduceAction171___action};
14883 val_t variable[23];
14884 void **closurevariable = NULL;
14885 trace.prev = tracehead; tracehead = &trace;
14886 trace.file = LOCATE_parser;
14887 variable[0] = self;
14888 variable[1] = param0;
14889 variable[3] = NIT_NULL /*null*/;
14890 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14891 variable[4] = variable[5];
14892 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14893 variable[5] = variable[6];
14894 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14895 variable[6] = variable[7];
14896 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14897 variable[7] = variable[8];
14898 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14899 variable[8] = variable[9];
14900 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14901 variable[9] = variable[10];
14902 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14903 variable[10] = variable[11];
14904 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14905 variable[11] = variable[12];
14906 variable[12] = variable[11] /*nodearraylist1*/;
14907 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
14908 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction171___action, LOCATE_parser, 8952); nit_exit(1);}
14909 variable[13] = variable[10] /*nodearraylist2*/;
14910 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
14911 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction171___action, LOCATE_parser, 8954); nit_exit(1);}
14912 variable[14] = variable[9] /*nodearraylist3*/;
14913 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
14914 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction171___action, LOCATE_parser, 8956); nit_exit(1);}
14915 variable[15] = variable[8] /*nodearraylist4*/;
14916 variable[16] = TAG_Bool(( variable[15] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
14917 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction171___action, LOCATE_parser, 8958); nit_exit(1);}
14918 variable[16] = variable[7] /*nodearraylist5*/;
14919 variable[17] = TAG_Bool(( variable[16] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[16] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
14920 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction171___action, LOCATE_parser, 8960); nit_exit(1);}
14921 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
14922 variable[17] = variable[18];
14923 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
14924 variable[18] = variable[19];
14925 variable[19] = variable[6] /*nodearraylist6*/;
14926 variable[20] = TAG_Bool(( variable[19] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[19] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
14927 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction171___action, LOCATE_parser, 8964); nit_exit(1);}
14928 variable[20] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[19] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[19] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[19] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[19] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
14929 if (UNTAG_Bool(variable[20])) { /*if*/
14930 variable[20] = ((array___AbstractArray___is_empty_t)CALL( variable[17] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[17] /*listnode9*/) /*AbstractArray::is_empty*/;
14931 if (UNTAG_Bool(variable[20])) { /*if*/
14932 variable[17] = variable[19] /*listnode8*/ /*listnode9=*/;
14933 } else { /*if*/
14934 ((abstract_collection___IndexedCollection___append_t)CALL( variable[17] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[17] /*listnode9*/, variable[19] /*listnode8*/) /*IndexedCollection::append*/;
14935 }
14936 }
14937 variable[21] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[17] /*listnode9*/, NIT_NULL /*null*/, variable[18] /*listnode11*/); /*new ASignature*/
14938 variable[20] = variable[21];
14939 variable[22] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef( variable[12] /*pdocnode2*/, variable[13] /*tkwredefnode3*/, variable[14] /*pvisibilitynode4*/, variable[15] /*tkwmethnode5*/, variable[16] /*pmethidnode6*/, variable[20] /*psignaturenode7*/); /*new ADeferredMethPropdef*/
14940 variable[21] = variable[22];
14941 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
14942 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
14943 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
14944 return_label374: while(false);
14945 tracehead = trace.prev;
14946 return;
14947 }
14948 void parser___ReduceAction171___init(val_t self, int* init_table) {
14949 struct trace_t trace = {NULL, NULL, 8988, LOCATE_parser___ReduceAction171___init};
14950 val_t variable[2];
14951 void **closurevariable = NULL;
14952 trace.prev = tracehead; tracehead = &trace;
14953 trace.file = LOCATE_parser;
14954 variable[0] = self;
14955 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction171].i]) return;
14956 return_label375: while(false);
14957 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction171].i] = 1;
14958 tracehead = trace.prev;
14959 return;
14960 }
14961 void parser___ReduceAction172___action(val_t self, val_t param0) {
14962 struct trace_t trace = {NULL, NULL, 8992, LOCATE_parser___ReduceAction172___action};
14963 val_t variable[23];
14964 void **closurevariable = NULL;
14965 trace.prev = tracehead; tracehead = &trace;
14966 trace.file = LOCATE_parser;
14967 variable[0] = self;
14968 variable[1] = param0;
14969 variable[3] = NIT_NULL /*null*/;
14970 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14971 variable[4] = variable[5];
14972 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14973 variable[5] = variable[6];
14974 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14975 variable[6] = variable[7];
14976 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14977 variable[7] = variable[8];
14978 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14979 variable[8] = variable[9];
14980 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14981 variable[9] = variable[10];
14982 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14983 variable[10] = variable[11];
14984 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
14985 variable[11] = variable[12];
14986 variable[12] = variable[11] /*nodearraylist1*/;
14987 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
14988 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction172___action, LOCATE_parser, 9004); nit_exit(1);}
14989 variable[13] = variable[10] /*nodearraylist2*/;
14990 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
14991 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction172___action, LOCATE_parser, 9006); nit_exit(1);}
14992 variable[14] = variable[9] /*nodearraylist3*/;
14993 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
14994 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction172___action, LOCATE_parser, 9008); nit_exit(1);}
14995 variable[15] = variable[8] /*nodearraylist4*/;
14996 variable[16] = TAG_Bool(( variable[15] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
14997 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction172___action, LOCATE_parser, 9010); nit_exit(1);}
14998 variable[16] = variable[7] /*nodearraylist5*/;
14999 variable[17] = TAG_Bool(( variable[16] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[16] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
15000 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction172___action, LOCATE_parser, 9012); nit_exit(1);}
15001 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
15002 variable[17] = variable[18];
15003 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
15004 variable[18] = variable[19];
15005 variable[19] = variable[6] /*nodearraylist6*/;
15006 variable[20] = TAG_Bool(( variable[19] /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable[19] /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
15007 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction172___action, LOCATE_parser, 9016); nit_exit(1);}
15008 variable[21] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[17] /*listnode8*/, variable[19] /*ptypenode9*/, variable[18] /*listnode10*/); /*new ASignature*/
15009 variable[20] = variable[21];
15010 variable[22] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef( variable[12] /*pdocnode2*/, variable[13] /*tkwredefnode3*/, variable[14] /*pvisibilitynode4*/, variable[15] /*tkwmethnode5*/, variable[16] /*pmethidnode6*/, variable[20] /*psignaturenode7*/); /*new ADeferredMethPropdef*/
15011 variable[21] = variable[22];
15012 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
15013 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
15014 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
15015 return_label376: while(false);
15016 tracehead = trace.prev;
15017 return;
15018 }
15019 void parser___ReduceAction172___init(val_t self, int* init_table) {
15020 struct trace_t trace = {NULL, NULL, 9033, LOCATE_parser___ReduceAction172___init};
15021 val_t variable[2];
15022 void **closurevariable = NULL;
15023 trace.prev = tracehead; tracehead = &trace;
15024 trace.file = LOCATE_parser;
15025 variable[0] = self;
15026 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction172].i]) return;
15027 return_label377: while(false);
15028 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction172].i] = 1;
15029 tracehead = trace.prev;
15030 return;
15031 }
15032 void parser___ReduceAction173___action(val_t self, val_t param0) {
15033 struct trace_t trace = {NULL, NULL, 9037, LOCATE_parser___ReduceAction173___action};
15034 val_t variable[25];
15035 void **closurevariable = NULL;
15036 trace.prev = tracehead; tracehead = &trace;
15037 trace.file = LOCATE_parser;
15038 variable[0] = self;
15039 variable[1] = param0;
15040 variable[3] = NIT_NULL /*null*/;
15041 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15042 variable[4] = variable[5];
15043 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15044 variable[5] = variable[6];
15045 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15046 variable[6] = variable[7];
15047 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15048 variable[7] = variable[8];
15049 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15050 variable[8] = variable[9];
15051 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15052 variable[9] = variable[10];
15053 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15054 variable[10] = variable[11];
15055 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15056 variable[11] = variable[12];
15057 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15058 variable[12] = variable[13];
15059 variable[13] = variable[12] /*nodearraylist1*/;
15060 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
15061 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction173___action, LOCATE_parser, 9050); nit_exit(1);}
15062 variable[14] = variable[11] /*nodearraylist2*/;
15063 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
15064 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction173___action, LOCATE_parser, 9052); nit_exit(1);}
15065 variable[15] = variable[10] /*nodearraylist3*/;
15066 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
15067 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction173___action, LOCATE_parser, 9054); nit_exit(1);}
15068 variable[16] = variable[9] /*nodearraylist4*/;
15069 variable[17] = TAG_Bool(( variable[16] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
15070 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction173___action, LOCATE_parser, 9056); nit_exit(1);}
15071 variable[17] = variable[8] /*nodearraylist5*/;
15072 variable[18] = TAG_Bool(( variable[17] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[17] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
15073 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction173___action, LOCATE_parser, 9058); nit_exit(1);}
15074 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
15075 variable[18] = variable[19];
15076 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
15077 variable[19] = variable[20];
15078 variable[20] = variable[7] /*nodearraylist6*/;
15079 variable[21] = TAG_Bool(( variable[20] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[20] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
15080 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction173___action, LOCATE_parser, 9062); nit_exit(1);}
15081 variable[21] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[20] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[20] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[20] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[20] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
15082 if (UNTAG_Bool(variable[21])) { /*if*/
15083 variable[21] = ((array___AbstractArray___is_empty_t)CALL( variable[18] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[18] /*listnode9*/) /*AbstractArray::is_empty*/;
15084 if (UNTAG_Bool(variable[21])) { /*if*/
15085 variable[18] = variable[20] /*listnode8*/ /*listnode9=*/;
15086 } else { /*if*/
15087 ((abstract_collection___IndexedCollection___append_t)CALL( variable[18] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[18] /*listnode9*/, variable[20] /*listnode8*/) /*IndexedCollection::append*/;
15088 }
15089 }
15090 variable[21] = variable[6] /*nodearraylist7*/;
15091 variable[22] = TAG_Bool(( variable[21] /*ptypenode10*/==NIT_NULL) || VAL_ISA( variable[21] /*ptypenode10*/, COLOR_PType, ID_PType)) /*cast PType*/;
15092 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction173___action, LOCATE_parser, 9071); nit_exit(1);}
15093 variable[23] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[18] /*listnode9*/, variable[21] /*ptypenode10*/, variable[19] /*listnode11*/); /*new ASignature*/
15094 variable[22] = variable[23];
15095 variable[24] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef( variable[13] /*pdocnode2*/, variable[14] /*tkwredefnode3*/, variable[15] /*pvisibilitynode4*/, variable[16] /*tkwmethnode5*/, variable[17] /*pmethidnode6*/, variable[22] /*psignaturenode7*/); /*new ADeferredMethPropdef*/
15096 variable[23] = variable[24];
15097 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
15098 variable[24] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
15099 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
15100 return_label378: while(false);
15101 tracehead = trace.prev;
15102 return;
15103 }
15104 void parser___ReduceAction173___init(val_t self, int* init_table) {
15105 struct trace_t trace = {NULL, NULL, 9088, LOCATE_parser___ReduceAction173___init};
15106 val_t variable[2];
15107 void **closurevariable = NULL;
15108 trace.prev = tracehead; tracehead = &trace;
15109 trace.file = LOCATE_parser;
15110 variable[0] = self;
15111 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction173].i]) return;
15112 return_label379: while(false);
15113 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction173].i] = 1;
15114 tracehead = trace.prev;
15115 return;
15116 }
15117 void parser___ReduceAction174___action(val_t self, val_t param0) {
15118 struct trace_t trace = {NULL, NULL, 9092, LOCATE_parser___ReduceAction174___action};
15119 val_t variable[23];
15120 void **closurevariable = NULL;
15121 trace.prev = tracehead; tracehead = &trace;
15122 trace.file = LOCATE_parser;
15123 variable[0] = self;
15124 variable[1] = param0;
15125 variable[3] = NIT_NULL /*null*/;
15126 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15127 variable[4] = variable[5];
15128 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15129 variable[5] = variable[6];
15130 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15131 variable[6] = variable[7];
15132 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15133 variable[7] = variable[8];
15134 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15135 variable[8] = variable[9];
15136 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15137 variable[9] = variable[10];
15138 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15139 variable[10] = variable[11];
15140 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15141 variable[11] = variable[12];
15142 variable[12] = variable[11] /*nodearraylist1*/;
15143 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
15144 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction174___action, LOCATE_parser, 9104); nit_exit(1);}
15145 variable[13] = variable[10] /*nodearraylist2*/;
15146 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
15147 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction174___action, LOCATE_parser, 9106); nit_exit(1);}
15148 variable[14] = variable[9] /*nodearraylist3*/;
15149 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
15150 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction174___action, LOCATE_parser, 9108); nit_exit(1);}
15151 variable[15] = variable[8] /*nodearraylist4*/;
15152 variable[16] = TAG_Bool(( variable[15] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
15153 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction174___action, LOCATE_parser, 9110); nit_exit(1);}
15154 variable[16] = variable[7] /*nodearraylist5*/;
15155 variable[17] = TAG_Bool(( variable[16] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[16] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
15156 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction174___action, LOCATE_parser, 9112); nit_exit(1);}
15157 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
15158 variable[17] = variable[18];
15159 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
15160 variable[18] = variable[19];
15161 variable[19] = variable[6] /*nodearraylist6*/;
15162 variable[20] = TAG_Bool(( variable[19] /*listnode10*/==NIT_NULL) || VAL_ISA( variable[19] /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
15163 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction174___action, LOCATE_parser, 9116); nit_exit(1);}
15164 variable[20] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[19] /*listnode10*/ == NIT_NULL /*null*/) || (( variable[19] /*listnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[19] /*listnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode10*/,COLOR_kernel___Object_____eqeq))( variable[19] /*listnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
15165 if (UNTAG_Bool(variable[20])) { /*if*/
15166 variable[20] = ((array___AbstractArray___is_empty_t)CALL( variable[18] /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable[18] /*listnode11*/) /*AbstractArray::is_empty*/;
15167 if (UNTAG_Bool(variable[20])) { /*if*/
15168 variable[18] = variable[19] /*listnode10*/ /*listnode11=*/;
15169 } else { /*if*/
15170 ((abstract_collection___IndexedCollection___append_t)CALL( variable[18] /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable[18] /*listnode11*/, variable[19] /*listnode10*/) /*IndexedCollection::append*/;
15171 }
15172 }
15173 variable[21] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[17] /*listnode8*/, NIT_NULL /*null*/, variable[18] /*listnode11*/); /*new ASignature*/
15174 variable[20] = variable[21];
15175 variable[22] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef( variable[12] /*pdocnode2*/, variable[13] /*tkwredefnode3*/, variable[14] /*pvisibilitynode4*/, variable[15] /*tkwmethnode5*/, variable[16] /*pmethidnode6*/, variable[20] /*psignaturenode7*/); /*new ADeferredMethPropdef*/
15176 variable[21] = variable[22];
15177 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
15178 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
15179 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
15180 return_label380: while(false);
15181 tracehead = trace.prev;
15182 return;
15183 }
15184 void parser___ReduceAction174___init(val_t self, int* init_table) {
15185 struct trace_t trace = {NULL, NULL, 9140, LOCATE_parser___ReduceAction174___init};
15186 val_t variable[2];
15187 void **closurevariable = NULL;
15188 trace.prev = tracehead; tracehead = &trace;
15189 trace.file = LOCATE_parser;
15190 variable[0] = self;
15191 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction174].i]) return;
15192 return_label381: while(false);
15193 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction174].i] = 1;
15194 tracehead = trace.prev;
15195 return;
15196 }
15197 void parser___ReduceAction175___action(val_t self, val_t param0) {
15198 struct trace_t trace = {NULL, NULL, 9144, LOCATE_parser___ReduceAction175___action};
15199 val_t variable[25];
15200 void **closurevariable = NULL;
15201 trace.prev = tracehead; tracehead = &trace;
15202 trace.file = LOCATE_parser;
15203 variable[0] = self;
15204 variable[1] = param0;
15205 variable[3] = NIT_NULL /*null*/;
15206 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15207 variable[4] = variable[5];
15208 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15209 variable[5] = variable[6];
15210 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15211 variable[6] = variable[7];
15212 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15213 variable[7] = variable[8];
15214 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15215 variable[8] = variable[9];
15216 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15217 variable[9] = variable[10];
15218 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15219 variable[10] = variable[11];
15220 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15221 variable[11] = variable[12];
15222 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15223 variable[12] = variable[13];
15224 variable[13] = variable[12] /*nodearraylist1*/;
15225 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
15226 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction175___action, LOCATE_parser, 9157); nit_exit(1);}
15227 variable[14] = variable[11] /*nodearraylist2*/;
15228 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
15229 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction175___action, LOCATE_parser, 9159); nit_exit(1);}
15230 variable[15] = variable[10] /*nodearraylist3*/;
15231 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
15232 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction175___action, LOCATE_parser, 9161); nit_exit(1);}
15233 variable[16] = variable[9] /*nodearraylist4*/;
15234 variable[17] = TAG_Bool(( variable[16] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
15235 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction175___action, LOCATE_parser, 9163); nit_exit(1);}
15236 variable[17] = variable[8] /*nodearraylist5*/;
15237 variable[18] = TAG_Bool(( variable[17] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[17] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
15238 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction175___action, LOCATE_parser, 9165); nit_exit(1);}
15239 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
15240 variable[18] = variable[19];
15241 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
15242 variable[19] = variable[20];
15243 variable[20] = variable[7] /*nodearraylist6*/;
15244 variable[21] = TAG_Bool(( variable[20] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[20] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
15245 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction175___action, LOCATE_parser, 9169); nit_exit(1);}
15246 variable[21] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[20] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[20] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[20] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[20] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
15247 if (UNTAG_Bool(variable[21])) { /*if*/
15248 variable[21] = ((array___AbstractArray___is_empty_t)CALL( variable[18] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[18] /*listnode9*/) /*AbstractArray::is_empty*/;
15249 if (UNTAG_Bool(variable[21])) { /*if*/
15250 variable[18] = variable[20] /*listnode8*/ /*listnode9=*/;
15251 } else { /*if*/
15252 ((abstract_collection___IndexedCollection___append_t)CALL( variable[18] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[18] /*listnode9*/, variable[20] /*listnode8*/) /*IndexedCollection::append*/;
15253 }
15254 }
15255 variable[21] = variable[6] /*nodearraylist7*/;
15256 variable[22] = TAG_Bool(( variable[21] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[21] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
15257 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction175___action, LOCATE_parser, 9178); nit_exit(1);}
15258 variable[22] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[21] /*listnode11*/ == NIT_NULL /*null*/) || (( variable[21] /*listnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[21] /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable[21] /*listnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
15259 if (UNTAG_Bool(variable[22])) { /*if*/
15260 variable[22] = ((array___AbstractArray___is_empty_t)CALL( variable[19] /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable[19] /*listnode12*/) /*AbstractArray::is_empty*/;
15261 if (UNTAG_Bool(variable[22])) { /*if*/
15262 variable[19] = variable[21] /*listnode11*/ /*listnode12=*/;
15263 } else { /*if*/
15264 ((abstract_collection___IndexedCollection___append_t)CALL( variable[19] /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable[19] /*listnode12*/, variable[21] /*listnode11*/) /*IndexedCollection::append*/;
15265 }
15266 }
15267 variable[23] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[18] /*listnode9*/, NIT_NULL /*null*/, variable[19] /*listnode12*/); /*new ASignature*/
15268 variable[22] = variable[23];
15269 variable[24] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef( variable[13] /*pdocnode2*/, variable[14] /*tkwredefnode3*/, variable[15] /*pvisibilitynode4*/, variable[16] /*tkwmethnode5*/, variable[17] /*pmethidnode6*/, variable[22] /*psignaturenode7*/); /*new ADeferredMethPropdef*/
15270 variable[23] = variable[24];
15271 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
15272 variable[24] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
15273 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
15274 return_label382: while(false);
15275 tracehead = trace.prev;
15276 return;
15277 }
15278 void parser___ReduceAction175___init(val_t self, int* init_table) {
15279 struct trace_t trace = {NULL, NULL, 9202, LOCATE_parser___ReduceAction175___init};
15280 val_t variable[2];
15281 void **closurevariable = NULL;
15282 trace.prev = tracehead; tracehead = &trace;
15283 trace.file = LOCATE_parser;
15284 variable[0] = self;
15285 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction175].i]) return;
15286 return_label383: while(false);
15287 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction175].i] = 1;
15288 tracehead = trace.prev;
15289 return;
15290 }
15291 void parser___ReduceAction176___action(val_t self, val_t param0) {
15292 struct trace_t trace = {NULL, NULL, 9206, LOCATE_parser___ReduceAction176___action};
15293 val_t variable[25];
15294 void **closurevariable = NULL;
15295 trace.prev = tracehead; tracehead = &trace;
15296 trace.file = LOCATE_parser;
15297 variable[0] = self;
15298 variable[1] = param0;
15299 variable[3] = NIT_NULL /*null*/;
15300 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15301 variable[4] = variable[5];
15302 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15303 variable[5] = variable[6];
15304 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15305 variable[6] = variable[7];
15306 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15307 variable[7] = variable[8];
15308 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15309 variable[8] = variable[9];
15310 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15311 variable[9] = variable[10];
15312 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15313 variable[10] = variable[11];
15314 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15315 variable[11] = variable[12];
15316 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15317 variable[12] = variable[13];
15318 variable[13] = variable[12] /*nodearraylist1*/;
15319 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
15320 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction176___action, LOCATE_parser, 9219); nit_exit(1);}
15321 variable[14] = variable[11] /*nodearraylist2*/;
15322 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
15323 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction176___action, LOCATE_parser, 9221); nit_exit(1);}
15324 variable[15] = variable[10] /*nodearraylist3*/;
15325 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
15326 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction176___action, LOCATE_parser, 9223); nit_exit(1);}
15327 variable[16] = variable[9] /*nodearraylist4*/;
15328 variable[17] = TAG_Bool(( variable[16] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
15329 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction176___action, LOCATE_parser, 9225); nit_exit(1);}
15330 variable[17] = variable[8] /*nodearraylist5*/;
15331 variable[18] = TAG_Bool(( variable[17] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[17] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
15332 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction176___action, LOCATE_parser, 9227); nit_exit(1);}
15333 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
15334 variable[18] = variable[19];
15335 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
15336 variable[19] = variable[20];
15337 variable[20] = variable[7] /*nodearraylist6*/;
15338 variable[21] = TAG_Bool(( variable[20] /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable[20] /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
15339 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction176___action, LOCATE_parser, 9231); nit_exit(1);}
15340 variable[21] = variable[6] /*nodearraylist7*/;
15341 variable[22] = TAG_Bool(( variable[21] /*listnode10*/==NIT_NULL) || VAL_ISA( variable[21] /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
15342 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction176___action, LOCATE_parser, 9233); nit_exit(1);}
15343 variable[22] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[21] /*listnode10*/ == NIT_NULL /*null*/) || (( variable[21] /*listnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[21] /*listnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode10*/,COLOR_kernel___Object_____eqeq))( variable[21] /*listnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
15344 if (UNTAG_Bool(variable[22])) { /*if*/
15345 variable[22] = ((array___AbstractArray___is_empty_t)CALL( variable[19] /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable[19] /*listnode11*/) /*AbstractArray::is_empty*/;
15346 if (UNTAG_Bool(variable[22])) { /*if*/
15347 variable[19] = variable[21] /*listnode10*/ /*listnode11=*/;
15348 } else { /*if*/
15349 ((abstract_collection___IndexedCollection___append_t)CALL( variable[19] /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable[19] /*listnode11*/, variable[21] /*listnode10*/) /*IndexedCollection::append*/;
15350 }
15351 }
15352 variable[23] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[18] /*listnode8*/, variable[20] /*ptypenode9*/, variable[19] /*listnode11*/); /*new ASignature*/
15353 variable[22] = variable[23];
15354 variable[24] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef( variable[13] /*pdocnode2*/, variable[14] /*tkwredefnode3*/, variable[15] /*pvisibilitynode4*/, variable[16] /*tkwmethnode5*/, variable[17] /*pmethidnode6*/, variable[22] /*psignaturenode7*/); /*new ADeferredMethPropdef*/
15355 variable[23] = variable[24];
15356 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
15357 variable[24] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
15358 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
15359 return_label384: while(false);
15360 tracehead = trace.prev;
15361 return;
15362 }
15363 void parser___ReduceAction176___init(val_t self, int* init_table) {
15364 struct trace_t trace = {NULL, NULL, 9257, LOCATE_parser___ReduceAction176___init};
15365 val_t variable[2];
15366 void **closurevariable = NULL;
15367 trace.prev = tracehead; tracehead = &trace;
15368 trace.file = LOCATE_parser;
15369 variable[0] = self;
15370 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction176].i]) return;
15371 return_label385: while(false);
15372 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction176].i] = 1;
15373 tracehead = trace.prev;
15374 return;
15375 }
15376 void parser___ReduceAction177___action(val_t self, val_t param0) {
15377 struct trace_t trace = {NULL, NULL, 9261, LOCATE_parser___ReduceAction177___action};
15378 val_t variable[27];
15379 void **closurevariable = NULL;
15380 trace.prev = tracehead; tracehead = &trace;
15381 trace.file = LOCATE_parser;
15382 variable[0] = self;
15383 variable[1] = param0;
15384 variable[3] = NIT_NULL /*null*/;
15385 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15386 variable[4] = variable[5];
15387 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15388 variable[5] = variable[6];
15389 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15390 variable[6] = variable[7];
15391 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15392 variable[7] = variable[8];
15393 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15394 variable[8] = variable[9];
15395 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15396 variable[9] = variable[10];
15397 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15398 variable[10] = variable[11];
15399 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15400 variable[11] = variable[12];
15401 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15402 variable[12] = variable[13];
15403 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15404 variable[13] = variable[14];
15405 variable[14] = variable[13] /*nodearraylist1*/;
15406 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
15407 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction177___action, LOCATE_parser, 9275); nit_exit(1);}
15408 variable[15] = variable[12] /*nodearraylist2*/;
15409 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
15410 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction177___action, LOCATE_parser, 9277); nit_exit(1);}
15411 variable[16] = variable[11] /*nodearraylist3*/;
15412 variable[17] = TAG_Bool(( variable[16] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[16] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
15413 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction177___action, LOCATE_parser, 9279); nit_exit(1);}
15414 variable[17] = variable[10] /*nodearraylist4*/;
15415 variable[18] = TAG_Bool(( variable[17] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
15416 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction177___action, LOCATE_parser, 9281); nit_exit(1);}
15417 variable[18] = variable[9] /*nodearraylist5*/;
15418 variable[19] = TAG_Bool(( variable[18] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[18] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
15419 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction177___action, LOCATE_parser, 9283); nit_exit(1);}
15420 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
15421 variable[19] = variable[20];
15422 variable[21] = NEW_Array_array___Array___init(); /*new Array[Object]*/
15423 variable[20] = variable[21];
15424 variable[21] = variable[8] /*nodearraylist6*/;
15425 variable[22] = TAG_Bool(( variable[21] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[21] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
15426 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction177___action, LOCATE_parser, 9287); nit_exit(1);}
15427 variable[22] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[21] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[21] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[21] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[21] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
15428 if (UNTAG_Bool(variable[22])) { /*if*/
15429 variable[22] = ((array___AbstractArray___is_empty_t)CALL( variable[19] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[19] /*listnode9*/) /*AbstractArray::is_empty*/;
15430 if (UNTAG_Bool(variable[22])) { /*if*/
15431 variable[19] = variable[21] /*listnode8*/ /*listnode9=*/;
15432 } else { /*if*/
15433 ((abstract_collection___IndexedCollection___append_t)CALL( variable[19] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[19] /*listnode9*/, variable[21] /*listnode8*/) /*IndexedCollection::append*/;
15434 }
15435 }
15436 variable[22] = variable[7] /*nodearraylist7*/;
15437 variable[23] = TAG_Bool(( variable[22] /*ptypenode10*/==NIT_NULL) || VAL_ISA( variable[22] /*ptypenode10*/, COLOR_PType, ID_PType)) /*cast PType*/;
15438 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction177___action, LOCATE_parser, 9296); nit_exit(1);}
15439 variable[23] = variable[6] /*nodearraylist8*/;
15440 variable[24] = TAG_Bool(( variable[23] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[23] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
15441 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction177___action, LOCATE_parser, 9298); nit_exit(1);}
15442 variable[24] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[23] /*listnode11*/ == NIT_NULL /*null*/) || (( variable[23] /*listnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[23] /*listnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[23] /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[23] /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable[23] /*listnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
15443 if (UNTAG_Bool(variable[24])) { /*if*/
15444 variable[24] = ((array___AbstractArray___is_empty_t)CALL( variable[20] /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable[20] /*listnode12*/) /*AbstractArray::is_empty*/;
15445 if (UNTAG_Bool(variable[24])) { /*if*/
15446 variable[20] = variable[23] /*listnode11*/ /*listnode12=*/;
15447 } else { /*if*/
15448 ((abstract_collection___IndexedCollection___append_t)CALL( variable[20] /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable[20] /*listnode12*/, variable[23] /*listnode11*/) /*IndexedCollection::append*/;
15449 }
15450 }
15451 variable[25] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[19] /*listnode9*/, variable[22] /*ptypenode10*/, variable[20] /*listnode12*/); /*new ASignature*/
15452 variable[24] = variable[25];
15453 variable[26] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef( variable[14] /*pdocnode2*/, variable[15] /*tkwredefnode3*/, variable[16] /*pvisibilitynode4*/, variable[17] /*tkwmethnode5*/, variable[18] /*pmethidnode6*/, variable[24] /*psignaturenode7*/); /*new ADeferredMethPropdef*/
15454 variable[25] = variable[26];
15455 variable[3] = variable[25] /*ppropdefnode1*/ /*node_list=*/;
15456 variable[26] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
15457 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[26], variable[3] /*node_list*/) /*Parser::push*/;
15458 return_label386: while(false);
15459 tracehead = trace.prev;
15460 return;
15461 }
15462 void parser___ReduceAction177___init(val_t self, int* init_table) {
15463 struct trace_t trace = {NULL, NULL, 9322, LOCATE_parser___ReduceAction177___init};
15464 val_t variable[2];
15465 void **closurevariable = NULL;
15466 trace.prev = tracehead; tracehead = &trace;
15467 trace.file = LOCATE_parser;
15468 variable[0] = self;
15469 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction177].i]) return;
15470 return_label387: while(false);
15471 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction177].i] = 1;
15472 tracehead = trace.prev;
15473 return;
15474 }
15475 void parser___ReduceAction178___action(val_t self, val_t param0) {
15476 struct trace_t trace = {NULL, NULL, 9326, LOCATE_parser___ReduceAction178___action};
15477 val_t variable[19];
15478 void **closurevariable = NULL;
15479 trace.prev = tracehead; tracehead = &trace;
15480 trace.file = LOCATE_parser;
15481 variable[0] = self;
15482 variable[1] = param0;
15483 variable[3] = NIT_NULL /*null*/;
15484 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15485 variable[4] = variable[5];
15486 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15487 variable[5] = variable[6];
15488 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15489 variable[6] = variable[7];
15490 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15491 variable[7] = variable[8];
15492 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15493 variable[8] = variable[9];
15494 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15495 variable[9] = variable[10];
15496 variable[10] = variable[9] /*nodearraylist1*/;
15497 variable[11] = TAG_Bool(( variable[10] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
15498 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction178___action, LOCATE_parser, 9336); nit_exit(1);}
15499 variable[11] = variable[8] /*nodearraylist2*/;
15500 variable[12] = TAG_Bool(( variable[11] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[11] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
15501 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction178___action, LOCATE_parser, 9338); nit_exit(1);}
15502 variable[12] = variable[7] /*nodearraylist3*/;
15503 variable[13] = TAG_Bool(( variable[12] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
15504 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction178___action, LOCATE_parser, 9340); nit_exit(1);}
15505 variable[13] = variable[6] /*nodearraylist4*/;
15506 variable[14] = TAG_Bool(( variable[13] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[13] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
15507 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction178___action, LOCATE_parser, 9342); nit_exit(1);}
15508 variable[15] = NEW_Array_array___Array___init(); /*new Array[Object]*/
15509 variable[14] = variable[15];
15510 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
15511 variable[15] = variable[16];
15512 variable[17] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[14] /*listnode8*/, NIT_NULL /*null*/, variable[15] /*listnode10*/); /*new ASignature*/
15513 variable[16] = variable[17];
15514 variable[18] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef( variable[10] /*pdocnode2*/, NIT_NULL /*null*/, variable[11] /*pvisibilitynode4*/, variable[12] /*tkwmethnode5*/, variable[13] /*pmethidnode6*/, variable[16] /*psignaturenode7*/); /*new AInternMethPropdef*/
15515 variable[17] = variable[18];
15516 variable[3] = variable[17] /*ppropdefnode1*/ /*node_list=*/;
15517 variable[18] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
15518 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
15519 return_label388: while(false);
15520 tracehead = trace.prev;
15521 return;
15522 }
15523 void parser___ReduceAction178___init(val_t self, int* init_table) {
15524 struct trace_t trace = {NULL, NULL, 9361, LOCATE_parser___ReduceAction178___init};
15525 val_t variable[2];
15526 void **closurevariable = NULL;
15527 trace.prev = tracehead; tracehead = &trace;
15528 trace.file = LOCATE_parser;
15529 variable[0] = self;
15530 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction178].i]) return;
15531 return_label389: while(false);
15532 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction178].i] = 1;
15533 tracehead = trace.prev;
15534 return;
15535 }
15536 void parser___ReduceAction179___action(val_t self, val_t param0) {
15537 struct trace_t trace = {NULL, NULL, 9365, LOCATE_parser___ReduceAction179___action};
15538 val_t variable[21];
15539 void **closurevariable = NULL;
15540 trace.prev = tracehead; tracehead = &trace;
15541 trace.file = LOCATE_parser;
15542 variable[0] = self;
15543 variable[1] = param0;
15544 variable[3] = NIT_NULL /*null*/;
15545 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15546 variable[4] = variable[5];
15547 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15548 variable[5] = variable[6];
15549 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15550 variable[6] = variable[7];
15551 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15552 variable[7] = variable[8];
15553 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15554 variable[8] = variable[9];
15555 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15556 variable[9] = variable[10];
15557 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15558 variable[10] = variable[11];
15559 variable[11] = variable[10] /*nodearraylist1*/;
15560 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
15561 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction179___action, LOCATE_parser, 9376); nit_exit(1);}
15562 variable[12] = variable[9] /*nodearraylist2*/;
15563 variable[13] = TAG_Bool(( variable[12] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[12] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
15564 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction179___action, LOCATE_parser, 9378); nit_exit(1);}
15565 variable[13] = variable[8] /*nodearraylist3*/;
15566 variable[14] = TAG_Bool(( variable[13] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
15567 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction179___action, LOCATE_parser, 9380); nit_exit(1);}
15568 variable[14] = variable[7] /*nodearraylist4*/;
15569 variable[15] = TAG_Bool(( variable[14] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[14] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
15570 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction179___action, LOCATE_parser, 9382); nit_exit(1);}
15571 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
15572 variable[15] = variable[16];
15573 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
15574 variable[16] = variable[17];
15575 variable[17] = variable[6] /*nodearraylist5*/;
15576 variable[18] = TAG_Bool(( variable[17] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[17] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
15577 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction179___action, LOCATE_parser, 9386); nit_exit(1);}
15578 variable[18] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[17] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[17] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[17] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[17] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[17] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[17] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
15579 if (UNTAG_Bool(variable[18])) { /*if*/
15580 variable[18] = ((array___AbstractArray___is_empty_t)CALL( variable[15] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[15] /*listnode9*/) /*AbstractArray::is_empty*/;
15581 if (UNTAG_Bool(variable[18])) { /*if*/
15582 variable[15] = variable[17] /*listnode8*/ /*listnode9=*/;
15583 } else { /*if*/
15584 ((abstract_collection___IndexedCollection___append_t)CALL( variable[15] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[15] /*listnode9*/, variable[17] /*listnode8*/) /*IndexedCollection::append*/;
15585 }
15586 }
15587 variable[19] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[15] /*listnode9*/, NIT_NULL /*null*/, variable[16] /*listnode11*/); /*new ASignature*/
15588 variable[18] = variable[19];
15589 variable[20] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef( variable[11] /*pdocnode2*/, NIT_NULL /*null*/, variable[12] /*pvisibilitynode4*/, variable[13] /*tkwmethnode5*/, variable[14] /*pmethidnode6*/, variable[18] /*psignaturenode7*/); /*new AInternMethPropdef*/
15590 variable[19] = variable[20];
15591 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
15592 variable[20] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
15593 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
15594 return_label390: while(false);
15595 tracehead = trace.prev;
15596 return;
15597 }
15598 void parser___ReduceAction179___init(val_t self, int* init_table) {
15599 struct trace_t trace = {NULL, NULL, 9410, LOCATE_parser___ReduceAction179___init};
15600 val_t variable[2];
15601 void **closurevariable = NULL;
15602 trace.prev = tracehead; tracehead = &trace;
15603 trace.file = LOCATE_parser;
15604 variable[0] = self;
15605 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction179].i]) return;
15606 return_label391: while(false);
15607 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction179].i] = 1;
15608 tracehead = trace.prev;
15609 return;
15610 }
15611 void parser___ReduceAction180___action(val_t self, val_t param0) {
15612 struct trace_t trace = {NULL, NULL, 9414, LOCATE_parser___ReduceAction180___action};
15613 val_t variable[21];
15614 void **closurevariable = NULL;
15615 trace.prev = tracehead; tracehead = &trace;
15616 trace.file = LOCATE_parser;
15617 variable[0] = self;
15618 variable[1] = param0;
15619 variable[3] = NIT_NULL /*null*/;
15620 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15621 variable[4] = variable[5];
15622 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15623 variable[5] = variable[6];
15624 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15625 variable[6] = variable[7];
15626 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15627 variable[7] = variable[8];
15628 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15629 variable[8] = variable[9];
15630 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15631 variable[9] = variable[10];
15632 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15633 variable[10] = variable[11];
15634 variable[11] = variable[10] /*nodearraylist1*/;
15635 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
15636 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction180___action, LOCATE_parser, 9425); nit_exit(1);}
15637 variable[12] = variable[9] /*nodearraylist2*/;
15638 variable[13] = TAG_Bool(( variable[12] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[12] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
15639 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction180___action, LOCATE_parser, 9427); nit_exit(1);}
15640 variable[13] = variable[8] /*nodearraylist3*/;
15641 variable[14] = TAG_Bool(( variable[13] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
15642 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction180___action, LOCATE_parser, 9429); nit_exit(1);}
15643 variable[14] = variable[7] /*nodearraylist4*/;
15644 variable[15] = TAG_Bool(( variable[14] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[14] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
15645 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction180___action, LOCATE_parser, 9431); nit_exit(1);}
15646 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
15647 variable[15] = variable[16];
15648 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
15649 variable[16] = variable[17];
15650 variable[17] = variable[6] /*nodearraylist5*/;
15651 variable[18] = TAG_Bool(( variable[17] /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable[17] /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
15652 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction180___action, LOCATE_parser, 9435); nit_exit(1);}
15653 variable[19] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[15] /*listnode8*/, variable[17] /*ptypenode9*/, variable[16] /*listnode10*/); /*new ASignature*/
15654 variable[18] = variable[19];
15655 variable[20] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef( variable[11] /*pdocnode2*/, NIT_NULL /*null*/, variable[12] /*pvisibilitynode4*/, variable[13] /*tkwmethnode5*/, variable[14] /*pmethidnode6*/, variable[18] /*psignaturenode7*/); /*new AInternMethPropdef*/
15656 variable[19] = variable[20];
15657 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
15658 variable[20] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
15659 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
15660 return_label392: while(false);
15661 tracehead = trace.prev;
15662 return;
15663 }
15664 void parser___ReduceAction180___init(val_t self, int* init_table) {
15665 struct trace_t trace = {NULL, NULL, 9452, LOCATE_parser___ReduceAction180___init};
15666 val_t variable[2];
15667 void **closurevariable = NULL;
15668 trace.prev = tracehead; tracehead = &trace;
15669 trace.file = LOCATE_parser;
15670 variable[0] = self;
15671 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction180].i]) return;
15672 return_label393: while(false);
15673 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction180].i] = 1;
15674 tracehead = trace.prev;
15675 return;
15676 }
15677 void parser___ReduceAction181___action(val_t self, val_t param0) {
15678 struct trace_t trace = {NULL, NULL, 9456, LOCATE_parser___ReduceAction181___action};
15679 val_t variable[23];
15680 void **closurevariable = NULL;
15681 trace.prev = tracehead; tracehead = &trace;
15682 trace.file = LOCATE_parser;
15683 variable[0] = self;
15684 variable[1] = param0;
15685 variable[3] = NIT_NULL /*null*/;
15686 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15687 variable[4] = variable[5];
15688 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15689 variable[5] = variable[6];
15690 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15691 variable[6] = variable[7];
15692 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15693 variable[7] = variable[8];
15694 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15695 variable[8] = variable[9];
15696 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15697 variable[9] = variable[10];
15698 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15699 variable[10] = variable[11];
15700 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15701 variable[11] = variable[12];
15702 variable[12] = variable[11] /*nodearraylist1*/;
15703 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
15704 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction181___action, LOCATE_parser, 9468); nit_exit(1);}
15705 variable[13] = variable[10] /*nodearraylist2*/;
15706 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
15707 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction181___action, LOCATE_parser, 9470); nit_exit(1);}
15708 variable[14] = variable[9] /*nodearraylist3*/;
15709 variable[15] = TAG_Bool(( variable[14] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
15710 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction181___action, LOCATE_parser, 9472); nit_exit(1);}
15711 variable[15] = variable[8] /*nodearraylist4*/;
15712 variable[16] = TAG_Bool(( variable[15] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
15713 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction181___action, LOCATE_parser, 9474); nit_exit(1);}
15714 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
15715 variable[16] = variable[17];
15716 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
15717 variable[17] = variable[18];
15718 variable[18] = variable[7] /*nodearraylist5*/;
15719 variable[19] = TAG_Bool(( variable[18] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[18] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
15720 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction181___action, LOCATE_parser, 9478); nit_exit(1);}
15721 variable[19] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[18] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[18] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[18] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[18] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[18] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[18] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
15722 if (UNTAG_Bool(variable[19])) { /*if*/
15723 variable[19] = ((array___AbstractArray___is_empty_t)CALL( variable[16] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[16] /*listnode9*/) /*AbstractArray::is_empty*/;
15724 if (UNTAG_Bool(variable[19])) { /*if*/
15725 variable[16] = variable[18] /*listnode8*/ /*listnode9=*/;
15726 } else { /*if*/
15727 ((abstract_collection___IndexedCollection___append_t)CALL( variable[16] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[16] /*listnode9*/, variable[18] /*listnode8*/) /*IndexedCollection::append*/;
15728 }
15729 }
15730 variable[19] = variable[6] /*nodearraylist6*/;
15731 variable[20] = TAG_Bool(( variable[19] /*ptypenode10*/==NIT_NULL) || VAL_ISA( variable[19] /*ptypenode10*/, COLOR_PType, ID_PType)) /*cast PType*/;
15732 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction181___action, LOCATE_parser, 9487); nit_exit(1);}
15733 variable[21] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[16] /*listnode9*/, variable[19] /*ptypenode10*/, variable[17] /*listnode11*/); /*new ASignature*/
15734 variable[20] = variable[21];
15735 variable[22] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef( variable[12] /*pdocnode2*/, NIT_NULL /*null*/, variable[13] /*pvisibilitynode4*/, variable[14] /*tkwmethnode5*/, variable[15] /*pmethidnode6*/, variable[20] /*psignaturenode7*/); /*new AInternMethPropdef*/
15736 variable[21] = variable[22];
15737 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
15738 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
15739 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
15740 return_label394: while(false);
15741 tracehead = trace.prev;
15742 return;
15743 }
15744 void parser___ReduceAction181___init(val_t self, int* init_table) {
15745 struct trace_t trace = {NULL, NULL, 9504, LOCATE_parser___ReduceAction181___init};
15746 val_t variable[2];
15747 void **closurevariable = NULL;
15748 trace.prev = tracehead; tracehead = &trace;
15749 trace.file = LOCATE_parser;
15750 variable[0] = self;
15751 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction181].i]) return;
15752 return_label395: while(false);
15753 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction181].i] = 1;
15754 tracehead = trace.prev;
15755 return;
15756 }
15757 void parser___ReduceAction182___action(val_t self, val_t param0) {
15758 struct trace_t trace = {NULL, NULL, 9508, LOCATE_parser___ReduceAction182___action};
15759 val_t variable[21];
15760 void **closurevariable = NULL;
15761 trace.prev = tracehead; tracehead = &trace;
15762 trace.file = LOCATE_parser;
15763 variable[0] = self;
15764 variable[1] = param0;
15765 variable[3] = NIT_NULL /*null*/;
15766 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15767 variable[4] = variable[5];
15768 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15769 variable[5] = variable[6];
15770 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15771 variable[6] = variable[7];
15772 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15773 variable[7] = variable[8];
15774 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15775 variable[8] = variable[9];
15776 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15777 variable[9] = variable[10];
15778 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15779 variable[10] = variable[11];
15780 variable[11] = variable[10] /*nodearraylist1*/;
15781 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
15782 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction182___action, LOCATE_parser, 9519); nit_exit(1);}
15783 variable[12] = variable[9] /*nodearraylist2*/;
15784 variable[13] = TAG_Bool(( variable[12] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[12] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
15785 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction182___action, LOCATE_parser, 9521); nit_exit(1);}
15786 variable[13] = variable[8] /*nodearraylist3*/;
15787 variable[14] = TAG_Bool(( variable[13] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
15788 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction182___action, LOCATE_parser, 9523); nit_exit(1);}
15789 variable[14] = variable[7] /*nodearraylist4*/;
15790 variable[15] = TAG_Bool(( variable[14] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[14] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
15791 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction182___action, LOCATE_parser, 9525); nit_exit(1);}
15792 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
15793 variable[15] = variable[16];
15794 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
15795 variable[16] = variable[17];
15796 variable[17] = variable[6] /*nodearraylist5*/;
15797 variable[18] = TAG_Bool(( variable[17] /*listnode10*/==NIT_NULL) || VAL_ISA( variable[17] /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
15798 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction182___action, LOCATE_parser, 9529); nit_exit(1);}
15799 variable[18] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[17] /*listnode10*/ == NIT_NULL /*null*/) || (( variable[17] /*listnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[17] /*listnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[17] /*listnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[17] /*listnode10*/,COLOR_kernel___Object_____eqeq))( variable[17] /*listnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
15800 if (UNTAG_Bool(variable[18])) { /*if*/
15801 variable[18] = ((array___AbstractArray___is_empty_t)CALL( variable[16] /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable[16] /*listnode11*/) /*AbstractArray::is_empty*/;
15802 if (UNTAG_Bool(variable[18])) { /*if*/
15803 variable[16] = variable[17] /*listnode10*/ /*listnode11=*/;
15804 } else { /*if*/
15805 ((abstract_collection___IndexedCollection___append_t)CALL( variable[16] /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable[16] /*listnode11*/, variable[17] /*listnode10*/) /*IndexedCollection::append*/;
15806 }
15807 }
15808 variable[19] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[15] /*listnode8*/, NIT_NULL /*null*/, variable[16] /*listnode11*/); /*new ASignature*/
15809 variable[18] = variable[19];
15810 variable[20] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef( variable[11] /*pdocnode2*/, NIT_NULL /*null*/, variable[12] /*pvisibilitynode4*/, variable[13] /*tkwmethnode5*/, variable[14] /*pmethidnode6*/, variable[18] /*psignaturenode7*/); /*new AInternMethPropdef*/
15811 variable[19] = variable[20];
15812 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
15813 variable[20] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
15814 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
15815 return_label396: while(false);
15816 tracehead = trace.prev;
15817 return;
15818 }
15819 void parser___ReduceAction182___init(val_t self, int* init_table) {
15820 struct trace_t trace = {NULL, NULL, 9553, LOCATE_parser___ReduceAction182___init};
15821 val_t variable[2];
15822 void **closurevariable = NULL;
15823 trace.prev = tracehead; tracehead = &trace;
15824 trace.file = LOCATE_parser;
15825 variable[0] = self;
15826 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction182].i]) return;
15827 return_label397: while(false);
15828 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction182].i] = 1;
15829 tracehead = trace.prev;
15830 return;
15831 }
15832 void parser___ReduceAction183___action(val_t self, val_t param0) {
15833 struct trace_t trace = {NULL, NULL, 9557, LOCATE_parser___ReduceAction183___action};
15834 val_t variable[23];
15835 void **closurevariable = NULL;
15836 trace.prev = tracehead; tracehead = &trace;
15837 trace.file = LOCATE_parser;
15838 variable[0] = self;
15839 variable[1] = param0;
15840 variable[3] = NIT_NULL /*null*/;
15841 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15842 variable[4] = variable[5];
15843 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15844 variable[5] = variable[6];
15845 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15846 variable[6] = variable[7];
15847 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15848 variable[7] = variable[8];
15849 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15850 variable[8] = variable[9];
15851 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15852 variable[9] = variable[10];
15853 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15854 variable[10] = variable[11];
15855 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15856 variable[11] = variable[12];
15857 variable[12] = variable[11] /*nodearraylist1*/;
15858 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
15859 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction183___action, LOCATE_parser, 9569); nit_exit(1);}
15860 variable[13] = variable[10] /*nodearraylist2*/;
15861 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
15862 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction183___action, LOCATE_parser, 9571); nit_exit(1);}
15863 variable[14] = variable[9] /*nodearraylist3*/;
15864 variable[15] = TAG_Bool(( variable[14] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
15865 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction183___action, LOCATE_parser, 9573); nit_exit(1);}
15866 variable[15] = variable[8] /*nodearraylist4*/;
15867 variable[16] = TAG_Bool(( variable[15] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
15868 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction183___action, LOCATE_parser, 9575); nit_exit(1);}
15869 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
15870 variable[16] = variable[17];
15871 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
15872 variable[17] = variable[18];
15873 variable[18] = variable[7] /*nodearraylist5*/;
15874 variable[19] = TAG_Bool(( variable[18] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[18] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
15875 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction183___action, LOCATE_parser, 9579); nit_exit(1);}
15876 variable[19] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[18] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[18] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[18] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[18] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[18] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[18] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
15877 if (UNTAG_Bool(variable[19])) { /*if*/
15878 variable[19] = ((array___AbstractArray___is_empty_t)CALL( variable[16] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[16] /*listnode9*/) /*AbstractArray::is_empty*/;
15879 if (UNTAG_Bool(variable[19])) { /*if*/
15880 variable[16] = variable[18] /*listnode8*/ /*listnode9=*/;
15881 } else { /*if*/
15882 ((abstract_collection___IndexedCollection___append_t)CALL( variable[16] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[16] /*listnode9*/, variable[18] /*listnode8*/) /*IndexedCollection::append*/;
15883 }
15884 }
15885 variable[19] = variable[6] /*nodearraylist6*/;
15886 variable[20] = TAG_Bool(( variable[19] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[19] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
15887 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction183___action, LOCATE_parser, 9588); nit_exit(1);}
15888 variable[20] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[19] /*listnode11*/ == NIT_NULL /*null*/) || (( variable[19] /*listnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[19] /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable[19] /*listnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
15889 if (UNTAG_Bool(variable[20])) { /*if*/
15890 variable[20] = ((array___AbstractArray___is_empty_t)CALL( variable[17] /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable[17] /*listnode12*/) /*AbstractArray::is_empty*/;
15891 if (UNTAG_Bool(variable[20])) { /*if*/
15892 variable[17] = variable[19] /*listnode11*/ /*listnode12=*/;
15893 } else { /*if*/
15894 ((abstract_collection___IndexedCollection___append_t)CALL( variable[17] /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable[17] /*listnode12*/, variable[19] /*listnode11*/) /*IndexedCollection::append*/;
15895 }
15896 }
15897 variable[21] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[16] /*listnode9*/, NIT_NULL /*null*/, variable[17] /*listnode12*/); /*new ASignature*/
15898 variable[20] = variable[21];
15899 variable[22] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef( variable[12] /*pdocnode2*/, NIT_NULL /*null*/, variable[13] /*pvisibilitynode4*/, variable[14] /*tkwmethnode5*/, variable[15] /*pmethidnode6*/, variable[20] /*psignaturenode7*/); /*new AInternMethPropdef*/
15900 variable[21] = variable[22];
15901 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
15902 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
15903 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
15904 return_label398: while(false);
15905 tracehead = trace.prev;
15906 return;
15907 }
15908 void parser___ReduceAction183___init(val_t self, int* init_table) {
15909 struct trace_t trace = {NULL, NULL, 9612, LOCATE_parser___ReduceAction183___init};
15910 val_t variable[2];
15911 void **closurevariable = NULL;
15912 trace.prev = tracehead; tracehead = &trace;
15913 trace.file = LOCATE_parser;
15914 variable[0] = self;
15915 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction183].i]) return;
15916 return_label399: while(false);
15917 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction183].i] = 1;
15918 tracehead = trace.prev;
15919 return;
15920 }
15921 void parser___ReduceAction184___action(val_t self, val_t param0) {
15922 struct trace_t trace = {NULL, NULL, 9616, LOCATE_parser___ReduceAction184___action};
15923 val_t variable[23];
15924 void **closurevariable = NULL;
15925 trace.prev = tracehead; tracehead = &trace;
15926 trace.file = LOCATE_parser;
15927 variable[0] = self;
15928 variable[1] = param0;
15929 variable[3] = NIT_NULL /*null*/;
15930 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15931 variable[4] = variable[5];
15932 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15933 variable[5] = variable[6];
15934 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15935 variable[6] = variable[7];
15936 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15937 variable[7] = variable[8];
15938 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15939 variable[8] = variable[9];
15940 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15941 variable[9] = variable[10];
15942 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15943 variable[10] = variable[11];
15944 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
15945 variable[11] = variable[12];
15946 variable[12] = variable[11] /*nodearraylist1*/;
15947 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
15948 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction184___action, LOCATE_parser, 9628); nit_exit(1);}
15949 variable[13] = variable[10] /*nodearraylist2*/;
15950 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
15951 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction184___action, LOCATE_parser, 9630); nit_exit(1);}
15952 variable[14] = variable[9] /*nodearraylist3*/;
15953 variable[15] = TAG_Bool(( variable[14] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
15954 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction184___action, LOCATE_parser, 9632); nit_exit(1);}
15955 variable[15] = variable[8] /*nodearraylist4*/;
15956 variable[16] = TAG_Bool(( variable[15] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
15957 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction184___action, LOCATE_parser, 9634); nit_exit(1);}
15958 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
15959 variable[16] = variable[17];
15960 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
15961 variable[17] = variable[18];
15962 variable[18] = variable[7] /*nodearraylist5*/;
15963 variable[19] = TAG_Bool(( variable[18] /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable[18] /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
15964 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction184___action, LOCATE_parser, 9638); nit_exit(1);}
15965 variable[19] = variable[6] /*nodearraylist6*/;
15966 variable[20] = TAG_Bool(( variable[19] /*listnode10*/==NIT_NULL) || VAL_ISA( variable[19] /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
15967 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction184___action, LOCATE_parser, 9640); nit_exit(1);}
15968 variable[20] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[19] /*listnode10*/ == NIT_NULL /*null*/) || (( variable[19] /*listnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[19] /*listnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode10*/,COLOR_kernel___Object_____eqeq))( variable[19] /*listnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
15969 if (UNTAG_Bool(variable[20])) { /*if*/
15970 variable[20] = ((array___AbstractArray___is_empty_t)CALL( variable[17] /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable[17] /*listnode11*/) /*AbstractArray::is_empty*/;
15971 if (UNTAG_Bool(variable[20])) { /*if*/
15972 variable[17] = variable[19] /*listnode10*/ /*listnode11=*/;
15973 } else { /*if*/
15974 ((abstract_collection___IndexedCollection___append_t)CALL( variable[17] /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable[17] /*listnode11*/, variable[19] /*listnode10*/) /*IndexedCollection::append*/;
15975 }
15976 }
15977 variable[21] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[16] /*listnode8*/, variable[18] /*ptypenode9*/, variable[17] /*listnode11*/); /*new ASignature*/
15978 variable[20] = variable[21];
15979 variable[22] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef( variable[12] /*pdocnode2*/, NIT_NULL /*null*/, variable[13] /*pvisibilitynode4*/, variable[14] /*tkwmethnode5*/, variable[15] /*pmethidnode6*/, variable[20] /*psignaturenode7*/); /*new AInternMethPropdef*/
15980 variable[21] = variable[22];
15981 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
15982 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
15983 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
15984 return_label400: while(false);
15985 tracehead = trace.prev;
15986 return;
15987 }
15988 void parser___ReduceAction184___init(val_t self, int* init_table) {
15989 struct trace_t trace = {NULL, NULL, 9664, LOCATE_parser___ReduceAction184___init};
15990 val_t variable[2];
15991 void **closurevariable = NULL;
15992 trace.prev = tracehead; tracehead = &trace;
15993 trace.file = LOCATE_parser;
15994 variable[0] = self;
15995 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction184].i]) return;
15996 return_label401: while(false);
15997 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction184].i] = 1;
15998 tracehead = trace.prev;
15999 return;
16000 }
16001 void parser___ReduceAction185___action(val_t self, val_t param0) {
16002 struct trace_t trace = {NULL, NULL, 9668, LOCATE_parser___ReduceAction185___action};
16003 val_t variable[25];
16004 void **closurevariable = NULL;
16005 trace.prev = tracehead; tracehead = &trace;
16006 trace.file = LOCATE_parser;
16007 variable[0] = self;
16008 variable[1] = param0;
16009 variable[3] = NIT_NULL /*null*/;
16010 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16011 variable[4] = variable[5];
16012 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16013 variable[5] = variable[6];
16014 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16015 variable[6] = variable[7];
16016 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16017 variable[7] = variable[8];
16018 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16019 variable[8] = variable[9];
16020 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16021 variable[9] = variable[10];
16022 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16023 variable[10] = variable[11];
16024 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16025 variable[11] = variable[12];
16026 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16027 variable[12] = variable[13];
16028 variable[13] = variable[12] /*nodearraylist1*/;
16029 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
16030 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction185___action, LOCATE_parser, 9681); nit_exit(1);}
16031 variable[14] = variable[11] /*nodearraylist2*/;
16032 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
16033 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction185___action, LOCATE_parser, 9683); nit_exit(1);}
16034 variable[15] = variable[10] /*nodearraylist3*/;
16035 variable[16] = TAG_Bool(( variable[15] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
16036 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction185___action, LOCATE_parser, 9685); nit_exit(1);}
16037 variable[16] = variable[9] /*nodearraylist4*/;
16038 variable[17] = TAG_Bool(( variable[16] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[16] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
16039 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction185___action, LOCATE_parser, 9687); nit_exit(1);}
16040 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
16041 variable[17] = variable[18];
16042 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
16043 variable[18] = variable[19];
16044 variable[19] = variable[8] /*nodearraylist5*/;
16045 variable[20] = TAG_Bool(( variable[19] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[19] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
16046 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction185___action, LOCATE_parser, 9691); nit_exit(1);}
16047 variable[20] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[19] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[19] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[19] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[19] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
16048 if (UNTAG_Bool(variable[20])) { /*if*/
16049 variable[20] = ((array___AbstractArray___is_empty_t)CALL( variable[17] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[17] /*listnode9*/) /*AbstractArray::is_empty*/;
16050 if (UNTAG_Bool(variable[20])) { /*if*/
16051 variable[17] = variable[19] /*listnode8*/ /*listnode9=*/;
16052 } else { /*if*/
16053 ((abstract_collection___IndexedCollection___append_t)CALL( variable[17] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[17] /*listnode9*/, variable[19] /*listnode8*/) /*IndexedCollection::append*/;
16054 }
16055 }
16056 variable[20] = variable[7] /*nodearraylist6*/;
16057 variable[21] = TAG_Bool(( variable[20] /*ptypenode10*/==NIT_NULL) || VAL_ISA( variable[20] /*ptypenode10*/, COLOR_PType, ID_PType)) /*cast PType*/;
16058 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction185___action, LOCATE_parser, 9700); nit_exit(1);}
16059 variable[21] = variable[6] /*nodearraylist7*/;
16060 variable[22] = TAG_Bool(( variable[21] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[21] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
16061 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction185___action, LOCATE_parser, 9702); nit_exit(1);}
16062 variable[22] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[21] /*listnode11*/ == NIT_NULL /*null*/) || (( variable[21] /*listnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[21] /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable[21] /*listnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
16063 if (UNTAG_Bool(variable[22])) { /*if*/
16064 variable[22] = ((array___AbstractArray___is_empty_t)CALL( variable[18] /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable[18] /*listnode12*/) /*AbstractArray::is_empty*/;
16065 if (UNTAG_Bool(variable[22])) { /*if*/
16066 variable[18] = variable[21] /*listnode11*/ /*listnode12=*/;
16067 } else { /*if*/
16068 ((abstract_collection___IndexedCollection___append_t)CALL( variable[18] /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable[18] /*listnode12*/, variable[21] /*listnode11*/) /*IndexedCollection::append*/;
16069 }
16070 }
16071 variable[23] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[17] /*listnode9*/, variable[20] /*ptypenode10*/, variable[18] /*listnode12*/); /*new ASignature*/
16072 variable[22] = variable[23];
16073 variable[24] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef( variable[13] /*pdocnode2*/, NIT_NULL /*null*/, variable[14] /*pvisibilitynode4*/, variable[15] /*tkwmethnode5*/, variable[16] /*pmethidnode6*/, variable[22] /*psignaturenode7*/); /*new AInternMethPropdef*/
16074 variable[23] = variable[24];
16075 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
16076 variable[24] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
16077 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
16078 return_label402: while(false);
16079 tracehead = trace.prev;
16080 return;
16081 }
16082 void parser___ReduceAction185___init(val_t self, int* init_table) {
16083 struct trace_t trace = {NULL, NULL, 9726, LOCATE_parser___ReduceAction185___init};
16084 val_t variable[2];
16085 void **closurevariable = NULL;
16086 trace.prev = tracehead; tracehead = &trace;
16087 trace.file = LOCATE_parser;
16088 variable[0] = self;
16089 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction185].i]) return;
16090 return_label403: while(false);
16091 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction185].i] = 1;
16092 tracehead = trace.prev;
16093 return;
16094 }
16095 void parser___ReduceAction186___action(val_t self, val_t param0) {
16096 struct trace_t trace = {NULL, NULL, 9730, LOCATE_parser___ReduceAction186___action};
16097 val_t variable[21];
16098 void **closurevariable = NULL;
16099 trace.prev = tracehead; tracehead = &trace;
16100 trace.file = LOCATE_parser;
16101 variable[0] = self;
16102 variable[1] = param0;
16103 variable[3] = NIT_NULL /*null*/;
16104 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16105 variable[4] = variable[5];
16106 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16107 variable[5] = variable[6];
16108 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16109 variable[6] = variable[7];
16110 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16111 variable[7] = variable[8];
16112 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16113 variable[8] = variable[9];
16114 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16115 variable[9] = variable[10];
16116 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16117 variable[10] = variable[11];
16118 variable[11] = variable[10] /*nodearraylist1*/;
16119 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
16120 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction186___action, LOCATE_parser, 9741); nit_exit(1);}
16121 variable[12] = variable[9] /*nodearraylist2*/;
16122 variable[13] = TAG_Bool(( variable[12] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
16123 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction186___action, LOCATE_parser, 9743); nit_exit(1);}
16124 variable[13] = variable[8] /*nodearraylist3*/;
16125 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
16126 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction186___action, LOCATE_parser, 9745); nit_exit(1);}
16127 variable[14] = variable[7] /*nodearraylist4*/;
16128 variable[15] = TAG_Bool(( variable[14] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
16129 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction186___action, LOCATE_parser, 9747); nit_exit(1);}
16130 variable[15] = variable[6] /*nodearraylist5*/;
16131 variable[16] = TAG_Bool(( variable[15] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
16132 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction186___action, LOCATE_parser, 9749); nit_exit(1);}
16133 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
16134 variable[16] = variable[17];
16135 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
16136 variable[17] = variable[18];
16137 variable[19] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[16] /*listnode8*/, NIT_NULL /*null*/, variable[17] /*listnode10*/); /*new ASignature*/
16138 variable[18] = variable[19];
16139 variable[20] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef( variable[11] /*pdocnode2*/, variable[12] /*tkwredefnode3*/, variable[13] /*pvisibilitynode4*/, variable[14] /*tkwmethnode5*/, variable[15] /*pmethidnode6*/, variable[18] /*psignaturenode7*/); /*new AInternMethPropdef*/
16140 variable[19] = variable[20];
16141 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
16142 variable[20] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
16143 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
16144 return_label404: while(false);
16145 tracehead = trace.prev;
16146 return;
16147 }
16148 void parser___ReduceAction186___init(val_t self, int* init_table) {
16149 struct trace_t trace = {NULL, NULL, 9768, LOCATE_parser___ReduceAction186___init};
16150 val_t variable[2];
16151 void **closurevariable = NULL;
16152 trace.prev = tracehead; tracehead = &trace;
16153 trace.file = LOCATE_parser;
16154 variable[0] = self;
16155 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction186].i]) return;
16156 return_label405: while(false);
16157 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction186].i] = 1;
16158 tracehead = trace.prev;
16159 return;
16160 }
16161 void parser___ReduceAction187___action(val_t self, val_t param0) {
16162 struct trace_t trace = {NULL, NULL, 9772, LOCATE_parser___ReduceAction187___action};
16163 val_t variable[23];
16164 void **closurevariable = NULL;
16165 trace.prev = tracehead; tracehead = &trace;
16166 trace.file = LOCATE_parser;
16167 variable[0] = self;
16168 variable[1] = param0;
16169 variable[3] = NIT_NULL /*null*/;
16170 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16171 variable[4] = variable[5];
16172 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16173 variable[5] = variable[6];
16174 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16175 variable[6] = variable[7];
16176 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16177 variable[7] = variable[8];
16178 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16179 variable[8] = variable[9];
16180 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16181 variable[9] = variable[10];
16182 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16183 variable[10] = variable[11];
16184 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16185 variable[11] = variable[12];
16186 variable[12] = variable[11] /*nodearraylist1*/;
16187 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
16188 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction187___action, LOCATE_parser, 9784); nit_exit(1);}
16189 variable[13] = variable[10] /*nodearraylist2*/;
16190 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
16191 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction187___action, LOCATE_parser, 9786); nit_exit(1);}
16192 variable[14] = variable[9] /*nodearraylist3*/;
16193 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
16194 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction187___action, LOCATE_parser, 9788); nit_exit(1);}
16195 variable[15] = variable[8] /*nodearraylist4*/;
16196 variable[16] = TAG_Bool(( variable[15] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
16197 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction187___action, LOCATE_parser, 9790); nit_exit(1);}
16198 variable[16] = variable[7] /*nodearraylist5*/;
16199 variable[17] = TAG_Bool(( variable[16] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[16] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
16200 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction187___action, LOCATE_parser, 9792); nit_exit(1);}
16201 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
16202 variable[17] = variable[18];
16203 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
16204 variable[18] = variable[19];
16205 variable[19] = variable[6] /*nodearraylist6*/;
16206 variable[20] = TAG_Bool(( variable[19] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[19] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
16207 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction187___action, LOCATE_parser, 9796); nit_exit(1);}
16208 variable[20] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[19] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[19] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[19] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[19] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
16209 if (UNTAG_Bool(variable[20])) { /*if*/
16210 variable[20] = ((array___AbstractArray___is_empty_t)CALL( variable[17] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[17] /*listnode9*/) /*AbstractArray::is_empty*/;
16211 if (UNTAG_Bool(variable[20])) { /*if*/
16212 variable[17] = variable[19] /*listnode8*/ /*listnode9=*/;
16213 } else { /*if*/
16214 ((abstract_collection___IndexedCollection___append_t)CALL( variable[17] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[17] /*listnode9*/, variable[19] /*listnode8*/) /*IndexedCollection::append*/;
16215 }
16216 }
16217 variable[21] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[17] /*listnode9*/, NIT_NULL /*null*/, variable[18] /*listnode11*/); /*new ASignature*/
16218 variable[20] = variable[21];
16219 variable[22] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef( variable[12] /*pdocnode2*/, variable[13] /*tkwredefnode3*/, variable[14] /*pvisibilitynode4*/, variable[15] /*tkwmethnode5*/, variable[16] /*pmethidnode6*/, variable[20] /*psignaturenode7*/); /*new AInternMethPropdef*/
16220 variable[21] = variable[22];
16221 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
16222 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
16223 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
16224 return_label406: while(false);
16225 tracehead = trace.prev;
16226 return;
16227 }
16228 void parser___ReduceAction187___init(val_t self, int* init_table) {
16229 struct trace_t trace = {NULL, NULL, 9820, LOCATE_parser___ReduceAction187___init};
16230 val_t variable[2];
16231 void **closurevariable = NULL;
16232 trace.prev = tracehead; tracehead = &trace;
16233 trace.file = LOCATE_parser;
16234 variable[0] = self;
16235 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction187].i]) return;
16236 return_label407: while(false);
16237 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction187].i] = 1;
16238 tracehead = trace.prev;
16239 return;
16240 }
16241 void parser___ReduceAction188___action(val_t self, val_t param0) {
16242 struct trace_t trace = {NULL, NULL, 9824, LOCATE_parser___ReduceAction188___action};
16243 val_t variable[23];
16244 void **closurevariable = NULL;
16245 trace.prev = tracehead; tracehead = &trace;
16246 trace.file = LOCATE_parser;
16247 variable[0] = self;
16248 variable[1] = param0;
16249 variable[3] = NIT_NULL /*null*/;
16250 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16251 variable[4] = variable[5];
16252 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16253 variable[5] = variable[6];
16254 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16255 variable[6] = variable[7];
16256 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16257 variable[7] = variable[8];
16258 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16259 variable[8] = variable[9];
16260 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16261 variable[9] = variable[10];
16262 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16263 variable[10] = variable[11];
16264 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16265 variable[11] = variable[12];
16266 variable[12] = variable[11] /*nodearraylist1*/;
16267 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
16268 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction188___action, LOCATE_parser, 9836); nit_exit(1);}
16269 variable[13] = variable[10] /*nodearraylist2*/;
16270 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
16271 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction188___action, LOCATE_parser, 9838); nit_exit(1);}
16272 variable[14] = variable[9] /*nodearraylist3*/;
16273 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
16274 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction188___action, LOCATE_parser, 9840); nit_exit(1);}
16275 variable[15] = variable[8] /*nodearraylist4*/;
16276 variable[16] = TAG_Bool(( variable[15] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
16277 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction188___action, LOCATE_parser, 9842); nit_exit(1);}
16278 variable[16] = variable[7] /*nodearraylist5*/;
16279 variable[17] = TAG_Bool(( variable[16] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[16] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
16280 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction188___action, LOCATE_parser, 9844); nit_exit(1);}
16281 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
16282 variable[17] = variable[18];
16283 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
16284 variable[18] = variable[19];
16285 variable[19] = variable[6] /*nodearraylist6*/;
16286 variable[20] = TAG_Bool(( variable[19] /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable[19] /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
16287 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction188___action, LOCATE_parser, 9848); nit_exit(1);}
16288 variable[21] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[17] /*listnode8*/, variable[19] /*ptypenode9*/, variable[18] /*listnode10*/); /*new ASignature*/
16289 variable[20] = variable[21];
16290 variable[22] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef( variable[12] /*pdocnode2*/, variable[13] /*tkwredefnode3*/, variable[14] /*pvisibilitynode4*/, variable[15] /*tkwmethnode5*/, variable[16] /*pmethidnode6*/, variable[20] /*psignaturenode7*/); /*new AInternMethPropdef*/
16291 variable[21] = variable[22];
16292 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
16293 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
16294 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
16295 return_label408: while(false);
16296 tracehead = trace.prev;
16297 return;
16298 }
16299 void parser___ReduceAction188___init(val_t self, int* init_table) {
16300 struct trace_t trace = {NULL, NULL, 9865, LOCATE_parser___ReduceAction188___init};
16301 val_t variable[2];
16302 void **closurevariable = NULL;
16303 trace.prev = tracehead; tracehead = &trace;
16304 trace.file = LOCATE_parser;
16305 variable[0] = self;
16306 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction188].i]) return;
16307 return_label409: while(false);
16308 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction188].i] = 1;
16309 tracehead = trace.prev;
16310 return;
16311 }
16312 void parser___ReduceAction189___action(val_t self, val_t param0) {
16313 struct trace_t trace = {NULL, NULL, 9869, LOCATE_parser___ReduceAction189___action};
16314 val_t variable[25];
16315 void **closurevariable = NULL;
16316 trace.prev = tracehead; tracehead = &trace;
16317 trace.file = LOCATE_parser;
16318 variable[0] = self;
16319 variable[1] = param0;
16320 variable[3] = NIT_NULL /*null*/;
16321 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16322 variable[4] = variable[5];
16323 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16324 variable[5] = variable[6];
16325 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16326 variable[6] = variable[7];
16327 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16328 variable[7] = variable[8];
16329 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16330 variable[8] = variable[9];
16331 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16332 variable[9] = variable[10];
16333 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16334 variable[10] = variable[11];
16335 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16336 variable[11] = variable[12];
16337 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16338 variable[12] = variable[13];
16339 variable[13] = variable[12] /*nodearraylist1*/;
16340 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
16341 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction189___action, LOCATE_parser, 9882); nit_exit(1);}
16342 variable[14] = variable[11] /*nodearraylist2*/;
16343 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
16344 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction189___action, LOCATE_parser, 9884); nit_exit(1);}
16345 variable[15] = variable[10] /*nodearraylist3*/;
16346 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
16347 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction189___action, LOCATE_parser, 9886); nit_exit(1);}
16348 variable[16] = variable[9] /*nodearraylist4*/;
16349 variable[17] = TAG_Bool(( variable[16] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
16350 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction189___action, LOCATE_parser, 9888); nit_exit(1);}
16351 variable[17] = variable[8] /*nodearraylist5*/;
16352 variable[18] = TAG_Bool(( variable[17] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[17] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
16353 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction189___action, LOCATE_parser, 9890); nit_exit(1);}
16354 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
16355 variable[18] = variable[19];
16356 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
16357 variable[19] = variable[20];
16358 variable[20] = variable[7] /*nodearraylist6*/;
16359 variable[21] = TAG_Bool(( variable[20] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[20] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
16360 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction189___action, LOCATE_parser, 9894); nit_exit(1);}
16361 variable[21] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[20] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[20] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[20] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[20] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
16362 if (UNTAG_Bool(variable[21])) { /*if*/
16363 variable[21] = ((array___AbstractArray___is_empty_t)CALL( variable[18] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[18] /*listnode9*/) /*AbstractArray::is_empty*/;
16364 if (UNTAG_Bool(variable[21])) { /*if*/
16365 variable[18] = variable[20] /*listnode8*/ /*listnode9=*/;
16366 } else { /*if*/
16367 ((abstract_collection___IndexedCollection___append_t)CALL( variable[18] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[18] /*listnode9*/, variable[20] /*listnode8*/) /*IndexedCollection::append*/;
16368 }
16369 }
16370 variable[21] = variable[6] /*nodearraylist7*/;
16371 variable[22] = TAG_Bool(( variable[21] /*ptypenode10*/==NIT_NULL) || VAL_ISA( variable[21] /*ptypenode10*/, COLOR_PType, ID_PType)) /*cast PType*/;
16372 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction189___action, LOCATE_parser, 9903); nit_exit(1);}
16373 variable[23] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[18] /*listnode9*/, variable[21] /*ptypenode10*/, variable[19] /*listnode11*/); /*new ASignature*/
16374 variable[22] = variable[23];
16375 variable[24] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef( variable[13] /*pdocnode2*/, variable[14] /*tkwredefnode3*/, variable[15] /*pvisibilitynode4*/, variable[16] /*tkwmethnode5*/, variable[17] /*pmethidnode6*/, variable[22] /*psignaturenode7*/); /*new AInternMethPropdef*/
16376 variable[23] = variable[24];
16377 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
16378 variable[24] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
16379 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
16380 return_label410: while(false);
16381 tracehead = trace.prev;
16382 return;
16383 }
16384 void parser___ReduceAction189___init(val_t self, int* init_table) {
16385 struct trace_t trace = {NULL, NULL, 9920, LOCATE_parser___ReduceAction189___init};
16386 val_t variable[2];
16387 void **closurevariable = NULL;
16388 trace.prev = tracehead; tracehead = &trace;
16389 trace.file = LOCATE_parser;
16390 variable[0] = self;
16391 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction189].i]) return;
16392 return_label411: while(false);
16393 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction189].i] = 1;
16394 tracehead = trace.prev;
16395 return;
16396 }
16397 void parser___ReduceAction190___action(val_t self, val_t param0) {
16398 struct trace_t trace = {NULL, NULL, 9924, LOCATE_parser___ReduceAction190___action};
16399 val_t variable[23];
16400 void **closurevariable = NULL;
16401 trace.prev = tracehead; tracehead = &trace;
16402 trace.file = LOCATE_parser;
16403 variable[0] = self;
16404 variable[1] = param0;
16405 variable[3] = NIT_NULL /*null*/;
16406 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16407 variable[4] = variable[5];
16408 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16409 variable[5] = variable[6];
16410 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16411 variable[6] = variable[7];
16412 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16413 variable[7] = variable[8];
16414 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16415 variable[8] = variable[9];
16416 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16417 variable[9] = variable[10];
16418 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16419 variable[10] = variable[11];
16420 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16421 variable[11] = variable[12];
16422 variable[12] = variable[11] /*nodearraylist1*/;
16423 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
16424 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction190___action, LOCATE_parser, 9936); nit_exit(1);}
16425 variable[13] = variable[10] /*nodearraylist2*/;
16426 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
16427 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction190___action, LOCATE_parser, 9938); nit_exit(1);}
16428 variable[14] = variable[9] /*nodearraylist3*/;
16429 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
16430 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction190___action, LOCATE_parser, 9940); nit_exit(1);}
16431 variable[15] = variable[8] /*nodearraylist4*/;
16432 variable[16] = TAG_Bool(( variable[15] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
16433 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction190___action, LOCATE_parser, 9942); nit_exit(1);}
16434 variable[16] = variable[7] /*nodearraylist5*/;
16435 variable[17] = TAG_Bool(( variable[16] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[16] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
16436 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction190___action, LOCATE_parser, 9944); nit_exit(1);}
16437 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
16438 variable[17] = variable[18];
16439 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
16440 variable[18] = variable[19];
16441 variable[19] = variable[6] /*nodearraylist6*/;
16442 variable[20] = TAG_Bool(( variable[19] /*listnode10*/==NIT_NULL) || VAL_ISA( variable[19] /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
16443 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction190___action, LOCATE_parser, 9948); nit_exit(1);}
16444 variable[20] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[19] /*listnode10*/ == NIT_NULL /*null*/) || (( variable[19] /*listnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[19] /*listnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode10*/,COLOR_kernel___Object_____eqeq))( variable[19] /*listnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
16445 if (UNTAG_Bool(variable[20])) { /*if*/
16446 variable[20] = ((array___AbstractArray___is_empty_t)CALL( variable[18] /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable[18] /*listnode11*/) /*AbstractArray::is_empty*/;
16447 if (UNTAG_Bool(variable[20])) { /*if*/
16448 variable[18] = variable[19] /*listnode10*/ /*listnode11=*/;
16449 } else { /*if*/
16450 ((abstract_collection___IndexedCollection___append_t)CALL( variable[18] /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable[18] /*listnode11*/, variable[19] /*listnode10*/) /*IndexedCollection::append*/;
16451 }
16452 }
16453 variable[21] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[17] /*listnode8*/, NIT_NULL /*null*/, variable[18] /*listnode11*/); /*new ASignature*/
16454 variable[20] = variable[21];
16455 variable[22] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef( variable[12] /*pdocnode2*/, variable[13] /*tkwredefnode3*/, variable[14] /*pvisibilitynode4*/, variable[15] /*tkwmethnode5*/, variable[16] /*pmethidnode6*/, variable[20] /*psignaturenode7*/); /*new AInternMethPropdef*/
16456 variable[21] = variable[22];
16457 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
16458 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
16459 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
16460 return_label412: while(false);
16461 tracehead = trace.prev;
16462 return;
16463 }
16464 void parser___ReduceAction190___init(val_t self, int* init_table) {
16465 struct trace_t trace = {NULL, NULL, 9972, LOCATE_parser___ReduceAction190___init};
16466 val_t variable[2];
16467 void **closurevariable = NULL;
16468 trace.prev = tracehead; tracehead = &trace;
16469 trace.file = LOCATE_parser;
16470 variable[0] = self;
16471 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction190].i]) return;
16472 return_label413: while(false);
16473 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction190].i] = 1;
16474 tracehead = trace.prev;
16475 return;
16476 }
16477 void parser___ReduceAction191___action(val_t self, val_t param0) {
16478 struct trace_t trace = {NULL, NULL, 9976, LOCATE_parser___ReduceAction191___action};
16479 val_t variable[25];
16480 void **closurevariable = NULL;
16481 trace.prev = tracehead; tracehead = &trace;
16482 trace.file = LOCATE_parser;
16483 variable[0] = self;
16484 variable[1] = param0;
16485 variable[3] = NIT_NULL /*null*/;
16486 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16487 variable[4] = variable[5];
16488 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16489 variable[5] = variable[6];
16490 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16491 variable[6] = variable[7];
16492 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16493 variable[7] = variable[8];
16494 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16495 variable[8] = variable[9];
16496 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16497 variable[9] = variable[10];
16498 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16499 variable[10] = variable[11];
16500 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16501 variable[11] = variable[12];
16502 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16503 variable[12] = variable[13];
16504 variable[13] = variable[12] /*nodearraylist1*/;
16505 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
16506 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction191___action, LOCATE_parser, 9989); nit_exit(1);}
16507 variable[14] = variable[11] /*nodearraylist2*/;
16508 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
16509 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction191___action, LOCATE_parser, 9991); nit_exit(1);}
16510 variable[15] = variable[10] /*nodearraylist3*/;
16511 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
16512 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction191___action, LOCATE_parser, 9993); nit_exit(1);}
16513 variable[16] = variable[9] /*nodearraylist4*/;
16514 variable[17] = TAG_Bool(( variable[16] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
16515 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction191___action, LOCATE_parser, 9995); nit_exit(1);}
16516 variable[17] = variable[8] /*nodearraylist5*/;
16517 variable[18] = TAG_Bool(( variable[17] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[17] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
16518 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction191___action, LOCATE_parser, 9997); nit_exit(1);}
16519 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
16520 variable[18] = variable[19];
16521 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
16522 variable[19] = variable[20];
16523 variable[20] = variable[7] /*nodearraylist6*/;
16524 variable[21] = TAG_Bool(( variable[20] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[20] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
16525 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction191___action, LOCATE_parser, 10001); nit_exit(1);}
16526 variable[21] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[20] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[20] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[20] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[20] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
16527 if (UNTAG_Bool(variable[21])) { /*if*/
16528 variable[21] = ((array___AbstractArray___is_empty_t)CALL( variable[18] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[18] /*listnode9*/) /*AbstractArray::is_empty*/;
16529 if (UNTAG_Bool(variable[21])) { /*if*/
16530 variable[18] = variable[20] /*listnode8*/ /*listnode9=*/;
16531 } else { /*if*/
16532 ((abstract_collection___IndexedCollection___append_t)CALL( variable[18] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[18] /*listnode9*/, variable[20] /*listnode8*/) /*IndexedCollection::append*/;
16533 }
16534 }
16535 variable[21] = variable[6] /*nodearraylist7*/;
16536 variable[22] = TAG_Bool(( variable[21] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[21] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
16537 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction191___action, LOCATE_parser, 10010); nit_exit(1);}
16538 variable[22] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[21] /*listnode11*/ == NIT_NULL /*null*/) || (( variable[21] /*listnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[21] /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable[21] /*listnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
16539 if (UNTAG_Bool(variable[22])) { /*if*/
16540 variable[22] = ((array___AbstractArray___is_empty_t)CALL( variable[19] /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable[19] /*listnode12*/) /*AbstractArray::is_empty*/;
16541 if (UNTAG_Bool(variable[22])) { /*if*/
16542 variable[19] = variable[21] /*listnode11*/ /*listnode12=*/;
16543 } else { /*if*/
16544 ((abstract_collection___IndexedCollection___append_t)CALL( variable[19] /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable[19] /*listnode12*/, variable[21] /*listnode11*/) /*IndexedCollection::append*/;
16545 }
16546 }
16547 variable[23] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[18] /*listnode9*/, NIT_NULL /*null*/, variable[19] /*listnode12*/); /*new ASignature*/
16548 variable[22] = variable[23];
16549 variable[24] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef( variable[13] /*pdocnode2*/, variable[14] /*tkwredefnode3*/, variable[15] /*pvisibilitynode4*/, variable[16] /*tkwmethnode5*/, variable[17] /*pmethidnode6*/, variable[22] /*psignaturenode7*/); /*new AInternMethPropdef*/
16550 variable[23] = variable[24];
16551 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
16552 variable[24] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
16553 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
16554 return_label414: while(false);
16555 tracehead = trace.prev;
16556 return;
16557 }
16558 void parser___ReduceAction191___init(val_t self, int* init_table) {
16559 struct trace_t trace = {NULL, NULL, 10034, LOCATE_parser___ReduceAction191___init};
16560 val_t variable[2];
16561 void **closurevariable = NULL;
16562 trace.prev = tracehead; tracehead = &trace;
16563 trace.file = LOCATE_parser;
16564 variable[0] = self;
16565 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction191].i]) return;
16566 return_label415: while(false);
16567 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction191].i] = 1;
16568 tracehead = trace.prev;
16569 return;
16570 }
16571 void parser___ReduceAction192___action(val_t self, val_t param0) {
16572 struct trace_t trace = {NULL, NULL, 10038, LOCATE_parser___ReduceAction192___action};
16573 val_t variable[25];
16574 void **closurevariable = NULL;
16575 trace.prev = tracehead; tracehead = &trace;
16576 trace.file = LOCATE_parser;
16577 variable[0] = self;
16578 variable[1] = param0;
16579 variable[3] = NIT_NULL /*null*/;
16580 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16581 variable[4] = variable[5];
16582 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16583 variable[5] = variable[6];
16584 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16585 variable[6] = variable[7];
16586 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16587 variable[7] = variable[8];
16588 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16589 variable[8] = variable[9];
16590 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16591 variable[9] = variable[10];
16592 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16593 variable[10] = variable[11];
16594 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16595 variable[11] = variable[12];
16596 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16597 variable[12] = variable[13];
16598 variable[13] = variable[12] /*nodearraylist1*/;
16599 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
16600 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction192___action, LOCATE_parser, 10051); nit_exit(1);}
16601 variable[14] = variable[11] /*nodearraylist2*/;
16602 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
16603 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction192___action, LOCATE_parser, 10053); nit_exit(1);}
16604 variable[15] = variable[10] /*nodearraylist3*/;
16605 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
16606 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction192___action, LOCATE_parser, 10055); nit_exit(1);}
16607 variable[16] = variable[9] /*nodearraylist4*/;
16608 variable[17] = TAG_Bool(( variable[16] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
16609 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction192___action, LOCATE_parser, 10057); nit_exit(1);}
16610 variable[17] = variable[8] /*nodearraylist5*/;
16611 variable[18] = TAG_Bool(( variable[17] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[17] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
16612 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction192___action, LOCATE_parser, 10059); nit_exit(1);}
16613 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
16614 variable[18] = variable[19];
16615 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
16616 variable[19] = variable[20];
16617 variable[20] = variable[7] /*nodearraylist6*/;
16618 variable[21] = TAG_Bool(( variable[20] /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable[20] /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
16619 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction192___action, LOCATE_parser, 10063); nit_exit(1);}
16620 variable[21] = variable[6] /*nodearraylist7*/;
16621 variable[22] = TAG_Bool(( variable[21] /*listnode10*/==NIT_NULL) || VAL_ISA( variable[21] /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
16622 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction192___action, LOCATE_parser, 10065); nit_exit(1);}
16623 variable[22] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[21] /*listnode10*/ == NIT_NULL /*null*/) || (( variable[21] /*listnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[21] /*listnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode10*/,COLOR_kernel___Object_____eqeq))( variable[21] /*listnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
16624 if (UNTAG_Bool(variable[22])) { /*if*/
16625 variable[22] = ((array___AbstractArray___is_empty_t)CALL( variable[19] /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable[19] /*listnode11*/) /*AbstractArray::is_empty*/;
16626 if (UNTAG_Bool(variable[22])) { /*if*/
16627 variable[19] = variable[21] /*listnode10*/ /*listnode11=*/;
16628 } else { /*if*/
16629 ((abstract_collection___IndexedCollection___append_t)CALL( variable[19] /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable[19] /*listnode11*/, variable[21] /*listnode10*/) /*IndexedCollection::append*/;
16630 }
16631 }
16632 variable[23] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[18] /*listnode8*/, variable[20] /*ptypenode9*/, variable[19] /*listnode11*/); /*new ASignature*/
16633 variable[22] = variable[23];
16634 variable[24] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef( variable[13] /*pdocnode2*/, variable[14] /*tkwredefnode3*/, variable[15] /*pvisibilitynode4*/, variable[16] /*tkwmethnode5*/, variable[17] /*pmethidnode6*/, variable[22] /*psignaturenode7*/); /*new AInternMethPropdef*/
16635 variable[23] = variable[24];
16636 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
16637 variable[24] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
16638 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
16639 return_label416: while(false);
16640 tracehead = trace.prev;
16641 return;
16642 }
16643 void parser___ReduceAction192___init(val_t self, int* init_table) {
16644 struct trace_t trace = {NULL, NULL, 10089, LOCATE_parser___ReduceAction192___init};
16645 val_t variable[2];
16646 void **closurevariable = NULL;
16647 trace.prev = tracehead; tracehead = &trace;
16648 trace.file = LOCATE_parser;
16649 variable[0] = self;
16650 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction192].i]) return;
16651 return_label417: while(false);
16652 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction192].i] = 1;
16653 tracehead = trace.prev;
16654 return;
16655 }
16656 void parser___ReduceAction193___action(val_t self, val_t param0) {
16657 struct trace_t trace = {NULL, NULL, 10093, LOCATE_parser___ReduceAction193___action};
16658 val_t variable[27];
16659 void **closurevariable = NULL;
16660 trace.prev = tracehead; tracehead = &trace;
16661 trace.file = LOCATE_parser;
16662 variable[0] = self;
16663 variable[1] = param0;
16664 variable[3] = NIT_NULL /*null*/;
16665 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16666 variable[4] = variable[5];
16667 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16668 variable[5] = variable[6];
16669 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16670 variable[6] = variable[7];
16671 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16672 variable[7] = variable[8];
16673 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16674 variable[8] = variable[9];
16675 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16676 variable[9] = variable[10];
16677 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16678 variable[10] = variable[11];
16679 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16680 variable[11] = variable[12];
16681 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16682 variable[12] = variable[13];
16683 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16684 variable[13] = variable[14];
16685 variable[14] = variable[13] /*nodearraylist1*/;
16686 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
16687 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction193___action, LOCATE_parser, 10107); nit_exit(1);}
16688 variable[15] = variable[12] /*nodearraylist2*/;
16689 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
16690 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction193___action, LOCATE_parser, 10109); nit_exit(1);}
16691 variable[16] = variable[11] /*nodearraylist3*/;
16692 variable[17] = TAG_Bool(( variable[16] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[16] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
16693 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction193___action, LOCATE_parser, 10111); nit_exit(1);}
16694 variable[17] = variable[10] /*nodearraylist4*/;
16695 variable[18] = TAG_Bool(( variable[17] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
16696 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction193___action, LOCATE_parser, 10113); nit_exit(1);}
16697 variable[18] = variable[9] /*nodearraylist5*/;
16698 variable[19] = TAG_Bool(( variable[18] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[18] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
16699 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction193___action, LOCATE_parser, 10115); nit_exit(1);}
16700 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
16701 variable[19] = variable[20];
16702 variable[21] = NEW_Array_array___Array___init(); /*new Array[Object]*/
16703 variable[20] = variable[21];
16704 variable[21] = variable[8] /*nodearraylist6*/;
16705 variable[22] = TAG_Bool(( variable[21] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[21] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
16706 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction193___action, LOCATE_parser, 10119); nit_exit(1);}
16707 variable[22] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[21] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[21] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[21] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[21] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
16708 if (UNTAG_Bool(variable[22])) { /*if*/
16709 variable[22] = ((array___AbstractArray___is_empty_t)CALL( variable[19] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[19] /*listnode9*/) /*AbstractArray::is_empty*/;
16710 if (UNTAG_Bool(variable[22])) { /*if*/
16711 variable[19] = variable[21] /*listnode8*/ /*listnode9=*/;
16712 } else { /*if*/
16713 ((abstract_collection___IndexedCollection___append_t)CALL( variable[19] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[19] /*listnode9*/, variable[21] /*listnode8*/) /*IndexedCollection::append*/;
16714 }
16715 }
16716 variable[22] = variable[7] /*nodearraylist7*/;
16717 variable[23] = TAG_Bool(( variable[22] /*ptypenode10*/==NIT_NULL) || VAL_ISA( variable[22] /*ptypenode10*/, COLOR_PType, ID_PType)) /*cast PType*/;
16718 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction193___action, LOCATE_parser, 10128); nit_exit(1);}
16719 variable[23] = variable[6] /*nodearraylist8*/;
16720 variable[24] = TAG_Bool(( variable[23] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[23] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
16721 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction193___action, LOCATE_parser, 10130); nit_exit(1);}
16722 variable[24] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[23] /*listnode11*/ == NIT_NULL /*null*/) || (( variable[23] /*listnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[23] /*listnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[23] /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[23] /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable[23] /*listnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
16723 if (UNTAG_Bool(variable[24])) { /*if*/
16724 variable[24] = ((array___AbstractArray___is_empty_t)CALL( variable[20] /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable[20] /*listnode12*/) /*AbstractArray::is_empty*/;
16725 if (UNTAG_Bool(variable[24])) { /*if*/
16726 variable[20] = variable[23] /*listnode11*/ /*listnode12=*/;
16727 } else { /*if*/
16728 ((abstract_collection___IndexedCollection___append_t)CALL( variable[20] /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable[20] /*listnode12*/, variable[23] /*listnode11*/) /*IndexedCollection::append*/;
16729 }
16730 }
16731 variable[25] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[19] /*listnode9*/, variable[22] /*ptypenode10*/, variable[20] /*listnode12*/); /*new ASignature*/
16732 variable[24] = variable[25];
16733 variable[26] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef( variable[14] /*pdocnode2*/, variable[15] /*tkwredefnode3*/, variable[16] /*pvisibilitynode4*/, variable[17] /*tkwmethnode5*/, variable[18] /*pmethidnode6*/, variable[24] /*psignaturenode7*/); /*new AInternMethPropdef*/
16734 variable[25] = variable[26];
16735 variable[3] = variable[25] /*ppropdefnode1*/ /*node_list=*/;
16736 variable[26] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
16737 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[26], variable[3] /*node_list*/) /*Parser::push*/;
16738 return_label418: while(false);
16739 tracehead = trace.prev;
16740 return;
16741 }
16742 void parser___ReduceAction193___init(val_t self, int* init_table) {
16743 struct trace_t trace = {NULL, NULL, 10154, LOCATE_parser___ReduceAction193___init};
16744 val_t variable[2];
16745 void **closurevariable = NULL;
16746 trace.prev = tracehead; tracehead = &trace;
16747 trace.file = LOCATE_parser;
16748 variable[0] = self;
16749 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction193].i]) return;
16750 return_label419: while(false);
16751 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction193].i] = 1;
16752 tracehead = trace.prev;
16753 return;
16754 }
16755 void parser___ReduceAction194___action(val_t self, val_t param0) {
16756 struct trace_t trace = {NULL, NULL, 10158, LOCATE_parser___ReduceAction194___action};
16757 val_t variable[19];
16758 void **closurevariable = NULL;
16759 trace.prev = tracehead; tracehead = &trace;
16760 trace.file = LOCATE_parser;
16761 variable[0] = self;
16762 variable[1] = param0;
16763 variable[3] = NIT_NULL /*null*/;
16764 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16765 variable[4] = variable[5];
16766 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16767 variable[5] = variable[6];
16768 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16769 variable[6] = variable[7];
16770 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16771 variable[7] = variable[8];
16772 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16773 variable[8] = variable[9];
16774 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16775 variable[9] = variable[10];
16776 variable[10] = variable[9] /*nodearraylist1*/;
16777 variable[11] = TAG_Bool(( variable[10] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
16778 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction194___action, LOCATE_parser, 10168); nit_exit(1);}
16779 variable[11] = variable[8] /*nodearraylist2*/;
16780 variable[12] = TAG_Bool(( variable[11] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[11] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
16781 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction194___action, LOCATE_parser, 10170); nit_exit(1);}
16782 variable[12] = variable[7] /*nodearraylist3*/;
16783 variable[13] = TAG_Bool(( variable[12] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
16784 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction194___action, LOCATE_parser, 10172); nit_exit(1);}
16785 variable[13] = variable[6] /*nodearraylist4*/;
16786 variable[14] = TAG_Bool(( variable[13] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[13] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
16787 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction194___action, LOCATE_parser, 10174); nit_exit(1);}
16788 variable[15] = NEW_Array_array___Array___init(); /*new Array[Object]*/
16789 variable[14] = variable[15];
16790 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
16791 variable[15] = variable[16];
16792 variable[17] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[14] /*listnode8*/, NIT_NULL /*null*/, variable[15] /*listnode10*/); /*new ASignature*/
16793 variable[16] = variable[17];
16794 variable[18] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[10] /*pdocnode2*/, NIT_NULL /*null*/, variable[11] /*pvisibilitynode4*/, variable[12] /*tkwmethnode5*/, variable[13] /*pmethidnode6*/, variable[16] /*psignaturenode7*/, NIT_NULL /*null*/); /*new AExternMethPropdef*/
16795 variable[17] = variable[18];
16796 variable[3] = variable[17] /*ppropdefnode1*/ /*node_list=*/;
16797 variable[18] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
16798 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
16799 return_label420: while(false);
16800 tracehead = trace.prev;
16801 return;
16802 }
16803 void parser___ReduceAction194___init(val_t self, int* init_table) {
16804 struct trace_t trace = {NULL, NULL, 10194, LOCATE_parser___ReduceAction194___init};
16805 val_t variable[2];
16806 void **closurevariable = NULL;
16807 trace.prev = tracehead; tracehead = &trace;
16808 trace.file = LOCATE_parser;
16809 variable[0] = self;
16810 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction194].i]) return;
16811 return_label421: while(false);
16812 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction194].i] = 1;
16813 tracehead = trace.prev;
16814 return;
16815 }
16816 void parser___ReduceAction195___action(val_t self, val_t param0) {
16817 struct trace_t trace = {NULL, NULL, 10198, LOCATE_parser___ReduceAction195___action};
16818 val_t variable[21];
16819 void **closurevariable = NULL;
16820 trace.prev = tracehead; tracehead = &trace;
16821 trace.file = LOCATE_parser;
16822 variable[0] = self;
16823 variable[1] = param0;
16824 variable[3] = NIT_NULL /*null*/;
16825 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16826 variable[4] = variable[5];
16827 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16828 variable[5] = variable[6];
16829 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16830 variable[6] = variable[7];
16831 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16832 variable[7] = variable[8];
16833 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16834 variable[8] = variable[9];
16835 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16836 variable[9] = variable[10];
16837 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16838 variable[10] = variable[11];
16839 variable[11] = variable[10] /*nodearraylist1*/;
16840 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
16841 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction195___action, LOCATE_parser, 10209); nit_exit(1);}
16842 variable[12] = variable[9] /*nodearraylist2*/;
16843 variable[13] = TAG_Bool(( variable[12] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[12] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
16844 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction195___action, LOCATE_parser, 10211); nit_exit(1);}
16845 variable[13] = variable[8] /*nodearraylist3*/;
16846 variable[14] = TAG_Bool(( variable[13] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
16847 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction195___action, LOCATE_parser, 10213); nit_exit(1);}
16848 variable[14] = variable[7] /*nodearraylist4*/;
16849 variable[15] = TAG_Bool(( variable[14] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[14] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
16850 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction195___action, LOCATE_parser, 10215); nit_exit(1);}
16851 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
16852 variable[15] = variable[16];
16853 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
16854 variable[16] = variable[17];
16855 variable[17] = variable[6] /*nodearraylist5*/;
16856 variable[18] = TAG_Bool(( variable[17] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[17] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
16857 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction195___action, LOCATE_parser, 10219); nit_exit(1);}
16858 variable[18] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[17] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[17] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[17] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[17] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[17] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[17] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
16859 if (UNTAG_Bool(variable[18])) { /*if*/
16860 variable[18] = ((array___AbstractArray___is_empty_t)CALL( variable[15] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[15] /*listnode9*/) /*AbstractArray::is_empty*/;
16861 if (UNTAG_Bool(variable[18])) { /*if*/
16862 variable[15] = variable[17] /*listnode8*/ /*listnode9=*/;
16863 } else { /*if*/
16864 ((abstract_collection___IndexedCollection___append_t)CALL( variable[15] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[15] /*listnode9*/, variable[17] /*listnode8*/) /*IndexedCollection::append*/;
16865 }
16866 }
16867 variable[19] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[15] /*listnode9*/, NIT_NULL /*null*/, variable[16] /*listnode11*/); /*new ASignature*/
16868 variable[18] = variable[19];
16869 variable[20] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[11] /*pdocnode2*/, NIT_NULL /*null*/, variable[12] /*pvisibilitynode4*/, variable[13] /*tkwmethnode5*/, variable[14] /*pmethidnode6*/, variable[18] /*psignaturenode7*/, NIT_NULL /*null*/); /*new AExternMethPropdef*/
16870 variable[19] = variable[20];
16871 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
16872 variable[20] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
16873 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
16874 return_label422: while(false);
16875 tracehead = trace.prev;
16876 return;
16877 }
16878 void parser___ReduceAction195___init(val_t self, int* init_table) {
16879 struct trace_t trace = {NULL, NULL, 10244, LOCATE_parser___ReduceAction195___init};
16880 val_t variable[2];
16881 void **closurevariable = NULL;
16882 trace.prev = tracehead; tracehead = &trace;
16883 trace.file = LOCATE_parser;
16884 variable[0] = self;
16885 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction195].i]) return;
16886 return_label423: while(false);
16887 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction195].i] = 1;
16888 tracehead = trace.prev;
16889 return;
16890 }
16891 void parser___ReduceAction196___action(val_t self, val_t param0) {
16892 struct trace_t trace = {NULL, NULL, 10248, LOCATE_parser___ReduceAction196___action};
16893 val_t variable[21];
16894 void **closurevariable = NULL;
16895 trace.prev = tracehead; tracehead = &trace;
16896 trace.file = LOCATE_parser;
16897 variable[0] = self;
16898 variable[1] = param0;
16899 variable[3] = NIT_NULL /*null*/;
16900 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16901 variable[4] = variable[5];
16902 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16903 variable[5] = variable[6];
16904 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16905 variable[6] = variable[7];
16906 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16907 variable[7] = variable[8];
16908 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16909 variable[8] = variable[9];
16910 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16911 variable[9] = variable[10];
16912 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16913 variable[10] = variable[11];
16914 variable[11] = variable[10] /*nodearraylist1*/;
16915 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
16916 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction196___action, LOCATE_parser, 10259); nit_exit(1);}
16917 variable[12] = variable[9] /*nodearraylist2*/;
16918 variable[13] = TAG_Bool(( variable[12] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[12] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
16919 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction196___action, LOCATE_parser, 10261); nit_exit(1);}
16920 variable[13] = variable[8] /*nodearraylist3*/;
16921 variable[14] = TAG_Bool(( variable[13] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
16922 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction196___action, LOCATE_parser, 10263); nit_exit(1);}
16923 variable[14] = variable[7] /*nodearraylist4*/;
16924 variable[15] = TAG_Bool(( variable[14] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[14] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
16925 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction196___action, LOCATE_parser, 10265); nit_exit(1);}
16926 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
16927 variable[15] = variable[16];
16928 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
16929 variable[16] = variable[17];
16930 variable[17] = variable[6] /*nodearraylist5*/;
16931 variable[18] = TAG_Bool(( variable[17] /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable[17] /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
16932 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction196___action, LOCATE_parser, 10269); nit_exit(1);}
16933 variable[19] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[15] /*listnode8*/, variable[17] /*ptypenode9*/, variable[16] /*listnode10*/); /*new ASignature*/
16934 variable[18] = variable[19];
16935 variable[20] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[11] /*pdocnode2*/, NIT_NULL /*null*/, variable[12] /*pvisibilitynode4*/, variable[13] /*tkwmethnode5*/, variable[14] /*pmethidnode6*/, variable[18] /*psignaturenode7*/, NIT_NULL /*null*/); /*new AExternMethPropdef*/
16936 variable[19] = variable[20];
16937 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
16938 variable[20] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
16939 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
16940 return_label424: while(false);
16941 tracehead = trace.prev;
16942 return;
16943 }
16944 void parser___ReduceAction196___init(val_t self, int* init_table) {
16945 struct trace_t trace = {NULL, NULL, 10287, LOCATE_parser___ReduceAction196___init};
16946 val_t variable[2];
16947 void **closurevariable = NULL;
16948 trace.prev = tracehead; tracehead = &trace;
16949 trace.file = LOCATE_parser;
16950 variable[0] = self;
16951 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction196].i]) return;
16952 return_label425: while(false);
16953 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction196].i] = 1;
16954 tracehead = trace.prev;
16955 return;
16956 }
16957 void parser___ReduceAction197___action(val_t self, val_t param0) {
16958 struct trace_t trace = {NULL, NULL, 10291, LOCATE_parser___ReduceAction197___action};
16959 val_t variable[23];
16960 void **closurevariable = NULL;
16961 trace.prev = tracehead; tracehead = &trace;
16962 trace.file = LOCATE_parser;
16963 variable[0] = self;
16964 variable[1] = param0;
16965 variable[3] = NIT_NULL /*null*/;
16966 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16967 variable[4] = variable[5];
16968 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16969 variable[5] = variable[6];
16970 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16971 variable[6] = variable[7];
16972 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16973 variable[7] = variable[8];
16974 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16975 variable[8] = variable[9];
16976 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16977 variable[9] = variable[10];
16978 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16979 variable[10] = variable[11];
16980 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
16981 variable[11] = variable[12];
16982 variable[12] = variable[11] /*nodearraylist1*/;
16983 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
16984 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction197___action, LOCATE_parser, 10303); nit_exit(1);}
16985 variable[13] = variable[10] /*nodearraylist2*/;
16986 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
16987 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction197___action, LOCATE_parser, 10305); nit_exit(1);}
16988 variable[14] = variable[9] /*nodearraylist3*/;
16989 variable[15] = TAG_Bool(( variable[14] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
16990 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction197___action, LOCATE_parser, 10307); nit_exit(1);}
16991 variable[15] = variable[8] /*nodearraylist4*/;
16992 variable[16] = TAG_Bool(( variable[15] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
16993 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction197___action, LOCATE_parser, 10309); nit_exit(1);}
16994 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
16995 variable[16] = variable[17];
16996 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
16997 variable[17] = variable[18];
16998 variable[18] = variable[7] /*nodearraylist5*/;
16999 variable[19] = TAG_Bool(( variable[18] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[18] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
17000 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction197___action, LOCATE_parser, 10313); nit_exit(1);}
17001 variable[19] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[18] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[18] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[18] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[18] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[18] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[18] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17002 if (UNTAG_Bool(variable[19])) { /*if*/
17003 variable[19] = ((array___AbstractArray___is_empty_t)CALL( variable[16] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[16] /*listnode9*/) /*AbstractArray::is_empty*/;
17004 if (UNTAG_Bool(variable[19])) { /*if*/
17005 variable[16] = variable[18] /*listnode8*/ /*listnode9=*/;
17006 } else { /*if*/
17007 ((abstract_collection___IndexedCollection___append_t)CALL( variable[16] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[16] /*listnode9*/, variable[18] /*listnode8*/) /*IndexedCollection::append*/;
17008 }
17009 }
17010 variable[19] = variable[6] /*nodearraylist6*/;
17011 variable[20] = TAG_Bool(( variable[19] /*ptypenode10*/==NIT_NULL) || VAL_ISA( variable[19] /*ptypenode10*/, COLOR_PType, ID_PType)) /*cast PType*/;
17012 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction197___action, LOCATE_parser, 10322); nit_exit(1);}
17013 variable[21] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[16] /*listnode9*/, variable[19] /*ptypenode10*/, variable[17] /*listnode11*/); /*new ASignature*/
17014 variable[20] = variable[21];
17015 variable[22] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[12] /*pdocnode2*/, NIT_NULL /*null*/, variable[13] /*pvisibilitynode4*/, variable[14] /*tkwmethnode5*/, variable[15] /*pmethidnode6*/, variable[20] /*psignaturenode7*/, NIT_NULL /*null*/); /*new AExternMethPropdef*/
17016 variable[21] = variable[22];
17017 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
17018 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
17019 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
17020 return_label426: while(false);
17021 tracehead = trace.prev;
17022 return;
17023 }
17024 void parser___ReduceAction197___init(val_t self, int* init_table) {
17025 struct trace_t trace = {NULL, NULL, 10340, LOCATE_parser___ReduceAction197___init};
17026 val_t variable[2];
17027 void **closurevariable = NULL;
17028 trace.prev = tracehead; tracehead = &trace;
17029 trace.file = LOCATE_parser;
17030 variable[0] = self;
17031 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction197].i]) return;
17032 return_label427: while(false);
17033 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction197].i] = 1;
17034 tracehead = trace.prev;
17035 return;
17036 }
17037 void parser___ReduceAction198___action(val_t self, val_t param0) {
17038 struct trace_t trace = {NULL, NULL, 10344, LOCATE_parser___ReduceAction198___action};
17039 val_t variable[21];
17040 void **closurevariable = NULL;
17041 trace.prev = tracehead; tracehead = &trace;
17042 trace.file = LOCATE_parser;
17043 variable[0] = self;
17044 variable[1] = param0;
17045 variable[3] = NIT_NULL /*null*/;
17046 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17047 variable[4] = variable[5];
17048 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17049 variable[5] = variable[6];
17050 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17051 variable[6] = variable[7];
17052 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17053 variable[7] = variable[8];
17054 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17055 variable[8] = variable[9];
17056 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17057 variable[9] = variable[10];
17058 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17059 variable[10] = variable[11];
17060 variable[11] = variable[10] /*nodearraylist1*/;
17061 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
17062 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction198___action, LOCATE_parser, 10355); nit_exit(1);}
17063 variable[12] = variable[9] /*nodearraylist2*/;
17064 variable[13] = TAG_Bool(( variable[12] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[12] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
17065 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction198___action, LOCATE_parser, 10357); nit_exit(1);}
17066 variable[13] = variable[8] /*nodearraylist3*/;
17067 variable[14] = TAG_Bool(( variable[13] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
17068 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction198___action, LOCATE_parser, 10359); nit_exit(1);}
17069 variable[14] = variable[7] /*nodearraylist4*/;
17070 variable[15] = TAG_Bool(( variable[14] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[14] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
17071 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction198___action, LOCATE_parser, 10361); nit_exit(1);}
17072 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
17073 variable[15] = variable[16];
17074 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
17075 variable[16] = variable[17];
17076 variable[17] = variable[6] /*nodearraylist5*/;
17077 variable[18] = TAG_Bool(( variable[17] /*listnode10*/==NIT_NULL) || VAL_ISA( variable[17] /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
17078 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction198___action, LOCATE_parser, 10365); nit_exit(1);}
17079 variable[18] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[17] /*listnode10*/ == NIT_NULL /*null*/) || (( variable[17] /*listnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[17] /*listnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[17] /*listnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[17] /*listnode10*/,COLOR_kernel___Object_____eqeq))( variable[17] /*listnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17080 if (UNTAG_Bool(variable[18])) { /*if*/
17081 variable[18] = ((array___AbstractArray___is_empty_t)CALL( variable[16] /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable[16] /*listnode11*/) /*AbstractArray::is_empty*/;
17082 if (UNTAG_Bool(variable[18])) { /*if*/
17083 variable[16] = variable[17] /*listnode10*/ /*listnode11=*/;
17084 } else { /*if*/
17085 ((abstract_collection___IndexedCollection___append_t)CALL( variable[16] /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable[16] /*listnode11*/, variable[17] /*listnode10*/) /*IndexedCollection::append*/;
17086 }
17087 }
17088 variable[19] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[15] /*listnode8*/, NIT_NULL /*null*/, variable[16] /*listnode11*/); /*new ASignature*/
17089 variable[18] = variable[19];
17090 variable[20] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[11] /*pdocnode2*/, NIT_NULL /*null*/, variable[12] /*pvisibilitynode4*/, variable[13] /*tkwmethnode5*/, variable[14] /*pmethidnode6*/, variable[18] /*psignaturenode7*/, NIT_NULL /*null*/); /*new AExternMethPropdef*/
17091 variable[19] = variable[20];
17092 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
17093 variable[20] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
17094 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
17095 return_label428: while(false);
17096 tracehead = trace.prev;
17097 return;
17098 }
17099 void parser___ReduceAction198___init(val_t self, int* init_table) {
17100 struct trace_t trace = {NULL, NULL, 10390, LOCATE_parser___ReduceAction198___init};
17101 val_t variable[2];
17102 void **closurevariable = NULL;
17103 trace.prev = tracehead; tracehead = &trace;
17104 trace.file = LOCATE_parser;
17105 variable[0] = self;
17106 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction198].i]) return;
17107 return_label429: while(false);
17108 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction198].i] = 1;
17109 tracehead = trace.prev;
17110 return;
17111 }
17112 void parser___ReduceAction199___action(val_t self, val_t param0) {
17113 struct trace_t trace = {NULL, NULL, 10394, LOCATE_parser___ReduceAction199___action};
17114 val_t variable[23];
17115 void **closurevariable = NULL;
17116 trace.prev = tracehead; tracehead = &trace;
17117 trace.file = LOCATE_parser;
17118 variable[0] = self;
17119 variable[1] = param0;
17120 variable[3] = NIT_NULL /*null*/;
17121 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17122 variable[4] = variable[5];
17123 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17124 variable[5] = variable[6];
17125 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17126 variable[6] = variable[7];
17127 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17128 variable[7] = variable[8];
17129 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17130 variable[8] = variable[9];
17131 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17132 variable[9] = variable[10];
17133 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17134 variable[10] = variable[11];
17135 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17136 variable[11] = variable[12];
17137 variable[12] = variable[11] /*nodearraylist1*/;
17138 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
17139 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction199___action, LOCATE_parser, 10406); nit_exit(1);}
17140 variable[13] = variable[10] /*nodearraylist2*/;
17141 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
17142 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction199___action, LOCATE_parser, 10408); nit_exit(1);}
17143 variable[14] = variable[9] /*nodearraylist3*/;
17144 variable[15] = TAG_Bool(( variable[14] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
17145 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction199___action, LOCATE_parser, 10410); nit_exit(1);}
17146 variable[15] = variable[8] /*nodearraylist4*/;
17147 variable[16] = TAG_Bool(( variable[15] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
17148 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction199___action, LOCATE_parser, 10412); nit_exit(1);}
17149 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
17150 variable[16] = variable[17];
17151 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
17152 variable[17] = variable[18];
17153 variable[18] = variable[7] /*nodearraylist5*/;
17154 variable[19] = TAG_Bool(( variable[18] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[18] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
17155 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction199___action, LOCATE_parser, 10416); nit_exit(1);}
17156 variable[19] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[18] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[18] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[18] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[18] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[18] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[18] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17157 if (UNTAG_Bool(variable[19])) { /*if*/
17158 variable[19] = ((array___AbstractArray___is_empty_t)CALL( variable[16] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[16] /*listnode9*/) /*AbstractArray::is_empty*/;
17159 if (UNTAG_Bool(variable[19])) { /*if*/
17160 variable[16] = variable[18] /*listnode8*/ /*listnode9=*/;
17161 } else { /*if*/
17162 ((abstract_collection___IndexedCollection___append_t)CALL( variable[16] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[16] /*listnode9*/, variable[18] /*listnode8*/) /*IndexedCollection::append*/;
17163 }
17164 }
17165 variable[19] = variable[6] /*nodearraylist6*/;
17166 variable[20] = TAG_Bool(( variable[19] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[19] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
17167 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction199___action, LOCATE_parser, 10425); nit_exit(1);}
17168 variable[20] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[19] /*listnode11*/ == NIT_NULL /*null*/) || (( variable[19] /*listnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[19] /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable[19] /*listnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17169 if (UNTAG_Bool(variable[20])) { /*if*/
17170 variable[20] = ((array___AbstractArray___is_empty_t)CALL( variable[17] /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable[17] /*listnode12*/) /*AbstractArray::is_empty*/;
17171 if (UNTAG_Bool(variable[20])) { /*if*/
17172 variable[17] = variable[19] /*listnode11*/ /*listnode12=*/;
17173 } else { /*if*/
17174 ((abstract_collection___IndexedCollection___append_t)CALL( variable[17] /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable[17] /*listnode12*/, variable[19] /*listnode11*/) /*IndexedCollection::append*/;
17175 }
17176 }
17177 variable[21] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[16] /*listnode9*/, NIT_NULL /*null*/, variable[17] /*listnode12*/); /*new ASignature*/
17178 variable[20] = variable[21];
17179 variable[22] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[12] /*pdocnode2*/, NIT_NULL /*null*/, variable[13] /*pvisibilitynode4*/, variable[14] /*tkwmethnode5*/, variable[15] /*pmethidnode6*/, variable[20] /*psignaturenode7*/, NIT_NULL /*null*/); /*new AExternMethPropdef*/
17180 variable[21] = variable[22];
17181 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
17182 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
17183 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
17184 return_label430: while(false);
17185 tracehead = trace.prev;
17186 return;
17187 }
17188 void parser___ReduceAction199___init(val_t self, int* init_table) {
17189 struct trace_t trace = {NULL, NULL, 10450, LOCATE_parser___ReduceAction199___init};
17190 val_t variable[2];
17191 void **closurevariable = NULL;
17192 trace.prev = tracehead; tracehead = &trace;
17193 trace.file = LOCATE_parser;
17194 variable[0] = self;
17195 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction199].i]) return;
17196 return_label431: while(false);
17197 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction199].i] = 1;
17198 tracehead = trace.prev;
17199 return;
17200 }
17201 void parser___ReduceAction200___action(val_t self, val_t param0) {
17202 struct trace_t trace = {NULL, NULL, 10454, LOCATE_parser___ReduceAction200___action};
17203 val_t variable[23];
17204 void **closurevariable = NULL;
17205 trace.prev = tracehead; tracehead = &trace;
17206 trace.file = LOCATE_parser;
17207 variable[0] = self;
17208 variable[1] = param0;
17209 variable[3] = NIT_NULL /*null*/;
17210 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17211 variable[4] = variable[5];
17212 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17213 variable[5] = variable[6];
17214 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17215 variable[6] = variable[7];
17216 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17217 variable[7] = variable[8];
17218 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17219 variable[8] = variable[9];
17220 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17221 variable[9] = variable[10];
17222 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17223 variable[10] = variable[11];
17224 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17225 variable[11] = variable[12];
17226 variable[12] = variable[11] /*nodearraylist1*/;
17227 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
17228 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction200___action, LOCATE_parser, 10466); nit_exit(1);}
17229 variable[13] = variable[10] /*nodearraylist2*/;
17230 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
17231 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction200___action, LOCATE_parser, 10468); nit_exit(1);}
17232 variable[14] = variable[9] /*nodearraylist3*/;
17233 variable[15] = TAG_Bool(( variable[14] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
17234 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction200___action, LOCATE_parser, 10470); nit_exit(1);}
17235 variable[15] = variable[8] /*nodearraylist4*/;
17236 variable[16] = TAG_Bool(( variable[15] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
17237 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction200___action, LOCATE_parser, 10472); nit_exit(1);}
17238 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
17239 variable[16] = variable[17];
17240 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
17241 variable[17] = variable[18];
17242 variable[18] = variable[7] /*nodearraylist5*/;
17243 variable[19] = TAG_Bool(( variable[18] /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable[18] /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
17244 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction200___action, LOCATE_parser, 10476); nit_exit(1);}
17245 variable[19] = variable[6] /*nodearraylist6*/;
17246 variable[20] = TAG_Bool(( variable[19] /*listnode10*/==NIT_NULL) || VAL_ISA( variable[19] /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
17247 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction200___action, LOCATE_parser, 10478); nit_exit(1);}
17248 variable[20] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[19] /*listnode10*/ == NIT_NULL /*null*/) || (( variable[19] /*listnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[19] /*listnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode10*/,COLOR_kernel___Object_____eqeq))( variable[19] /*listnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17249 if (UNTAG_Bool(variable[20])) { /*if*/
17250 variable[20] = ((array___AbstractArray___is_empty_t)CALL( variable[17] /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable[17] /*listnode11*/) /*AbstractArray::is_empty*/;
17251 if (UNTAG_Bool(variable[20])) { /*if*/
17252 variable[17] = variable[19] /*listnode10*/ /*listnode11=*/;
17253 } else { /*if*/
17254 ((abstract_collection___IndexedCollection___append_t)CALL( variable[17] /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable[17] /*listnode11*/, variable[19] /*listnode10*/) /*IndexedCollection::append*/;
17255 }
17256 }
17257 variable[21] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[16] /*listnode8*/, variable[18] /*ptypenode9*/, variable[17] /*listnode11*/); /*new ASignature*/
17258 variable[20] = variable[21];
17259 variable[22] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[12] /*pdocnode2*/, NIT_NULL /*null*/, variable[13] /*pvisibilitynode4*/, variable[14] /*tkwmethnode5*/, variable[15] /*pmethidnode6*/, variable[20] /*psignaturenode7*/, NIT_NULL /*null*/); /*new AExternMethPropdef*/
17260 variable[21] = variable[22];
17261 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
17262 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
17263 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
17264 return_label432: while(false);
17265 tracehead = trace.prev;
17266 return;
17267 }
17268 void parser___ReduceAction200___init(val_t self, int* init_table) {
17269 struct trace_t trace = {NULL, NULL, 10503, LOCATE_parser___ReduceAction200___init};
17270 val_t variable[2];
17271 void **closurevariable = NULL;
17272 trace.prev = tracehead; tracehead = &trace;
17273 trace.file = LOCATE_parser;
17274 variable[0] = self;
17275 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction200].i]) return;
17276 return_label433: while(false);
17277 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction200].i] = 1;
17278 tracehead = trace.prev;
17279 return;
17280 }
17281 void parser___ReduceAction201___action(val_t self, val_t param0) {
17282 struct trace_t trace = {NULL, NULL, 10507, LOCATE_parser___ReduceAction201___action};
17283 val_t variable[25];
17284 void **closurevariable = NULL;
17285 trace.prev = tracehead; tracehead = &trace;
17286 trace.file = LOCATE_parser;
17287 variable[0] = self;
17288 variable[1] = param0;
17289 variable[3] = NIT_NULL /*null*/;
17290 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17291 variable[4] = variable[5];
17292 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17293 variable[5] = variable[6];
17294 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17295 variable[6] = variable[7];
17296 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17297 variable[7] = variable[8];
17298 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17299 variable[8] = variable[9];
17300 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17301 variable[9] = variable[10];
17302 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17303 variable[10] = variable[11];
17304 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17305 variable[11] = variable[12];
17306 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17307 variable[12] = variable[13];
17308 variable[13] = variable[12] /*nodearraylist1*/;
17309 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
17310 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction201___action, LOCATE_parser, 10520); nit_exit(1);}
17311 variable[14] = variable[11] /*nodearraylist2*/;
17312 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
17313 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction201___action, LOCATE_parser, 10522); nit_exit(1);}
17314 variable[15] = variable[10] /*nodearraylist3*/;
17315 variable[16] = TAG_Bool(( variable[15] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
17316 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction201___action, LOCATE_parser, 10524); nit_exit(1);}
17317 variable[16] = variable[9] /*nodearraylist4*/;
17318 variable[17] = TAG_Bool(( variable[16] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[16] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
17319 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction201___action, LOCATE_parser, 10526); nit_exit(1);}
17320 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
17321 variable[17] = variable[18];
17322 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
17323 variable[18] = variable[19];
17324 variable[19] = variable[8] /*nodearraylist5*/;
17325 variable[20] = TAG_Bool(( variable[19] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[19] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
17326 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction201___action, LOCATE_parser, 10530); nit_exit(1);}
17327 variable[20] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[19] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[19] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[19] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[19] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17328 if (UNTAG_Bool(variable[20])) { /*if*/
17329 variable[20] = ((array___AbstractArray___is_empty_t)CALL( variable[17] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[17] /*listnode9*/) /*AbstractArray::is_empty*/;
17330 if (UNTAG_Bool(variable[20])) { /*if*/
17331 variable[17] = variable[19] /*listnode8*/ /*listnode9=*/;
17332 } else { /*if*/
17333 ((abstract_collection___IndexedCollection___append_t)CALL( variable[17] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[17] /*listnode9*/, variable[19] /*listnode8*/) /*IndexedCollection::append*/;
17334 }
17335 }
17336 variable[20] = variable[7] /*nodearraylist6*/;
17337 variable[21] = TAG_Bool(( variable[20] /*ptypenode10*/==NIT_NULL) || VAL_ISA( variable[20] /*ptypenode10*/, COLOR_PType, ID_PType)) /*cast PType*/;
17338 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction201___action, LOCATE_parser, 10539); nit_exit(1);}
17339 variable[21] = variable[6] /*nodearraylist7*/;
17340 variable[22] = TAG_Bool(( variable[21] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[21] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
17341 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction201___action, LOCATE_parser, 10541); nit_exit(1);}
17342 variable[22] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[21] /*listnode11*/ == NIT_NULL /*null*/) || (( variable[21] /*listnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[21] /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable[21] /*listnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17343 if (UNTAG_Bool(variable[22])) { /*if*/
17344 variable[22] = ((array___AbstractArray___is_empty_t)CALL( variable[18] /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable[18] /*listnode12*/) /*AbstractArray::is_empty*/;
17345 if (UNTAG_Bool(variable[22])) { /*if*/
17346 variable[18] = variable[21] /*listnode11*/ /*listnode12=*/;
17347 } else { /*if*/
17348 ((abstract_collection___IndexedCollection___append_t)CALL( variable[18] /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable[18] /*listnode12*/, variable[21] /*listnode11*/) /*IndexedCollection::append*/;
17349 }
17350 }
17351 variable[23] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[17] /*listnode9*/, variable[20] /*ptypenode10*/, variable[18] /*listnode12*/); /*new ASignature*/
17352 variable[22] = variable[23];
17353 variable[24] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[13] /*pdocnode2*/, NIT_NULL /*null*/, variable[14] /*pvisibilitynode4*/, variable[15] /*tkwmethnode5*/, variable[16] /*pmethidnode6*/, variable[22] /*psignaturenode7*/, NIT_NULL /*null*/); /*new AExternMethPropdef*/
17354 variable[23] = variable[24];
17355 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
17356 variable[24] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
17357 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
17358 return_label434: while(false);
17359 tracehead = trace.prev;
17360 return;
17361 }
17362 void parser___ReduceAction201___init(val_t self, int* init_table) {
17363 struct trace_t trace = {NULL, NULL, 10566, LOCATE_parser___ReduceAction201___init};
17364 val_t variable[2];
17365 void **closurevariable = NULL;
17366 trace.prev = tracehead; tracehead = &trace;
17367 trace.file = LOCATE_parser;
17368 variable[0] = self;
17369 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction201].i]) return;
17370 return_label435: while(false);
17371 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction201].i] = 1;
17372 tracehead = trace.prev;
17373 return;
17374 }
17375 void parser___ReduceAction202___action(val_t self, val_t param0) {
17376 struct trace_t trace = {NULL, NULL, 10570, LOCATE_parser___ReduceAction202___action};
17377 val_t variable[21];
17378 void **closurevariable = NULL;
17379 trace.prev = tracehead; tracehead = &trace;
17380 trace.file = LOCATE_parser;
17381 variable[0] = self;
17382 variable[1] = param0;
17383 variable[3] = NIT_NULL /*null*/;
17384 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17385 variable[4] = variable[5];
17386 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17387 variable[5] = variable[6];
17388 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17389 variable[6] = variable[7];
17390 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17391 variable[7] = variable[8];
17392 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17393 variable[8] = variable[9];
17394 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17395 variable[9] = variable[10];
17396 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17397 variable[10] = variable[11];
17398 variable[11] = variable[10] /*nodearraylist1*/;
17399 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
17400 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction202___action, LOCATE_parser, 10581); nit_exit(1);}
17401 variable[12] = variable[9] /*nodearraylist2*/;
17402 variable[13] = TAG_Bool(( variable[12] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
17403 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction202___action, LOCATE_parser, 10583); nit_exit(1);}
17404 variable[13] = variable[8] /*nodearraylist3*/;
17405 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
17406 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction202___action, LOCATE_parser, 10585); nit_exit(1);}
17407 variable[14] = variable[7] /*nodearraylist4*/;
17408 variable[15] = TAG_Bool(( variable[14] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
17409 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction202___action, LOCATE_parser, 10587); nit_exit(1);}
17410 variable[15] = variable[6] /*nodearraylist5*/;
17411 variable[16] = TAG_Bool(( variable[15] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
17412 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction202___action, LOCATE_parser, 10589); nit_exit(1);}
17413 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
17414 variable[16] = variable[17];
17415 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
17416 variable[17] = variable[18];
17417 variable[19] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[16] /*listnode8*/, NIT_NULL /*null*/, variable[17] /*listnode10*/); /*new ASignature*/
17418 variable[18] = variable[19];
17419 variable[20] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[11] /*pdocnode2*/, variable[12] /*tkwredefnode3*/, variable[13] /*pvisibilitynode4*/, variable[14] /*tkwmethnode5*/, variable[15] /*pmethidnode6*/, variable[18] /*psignaturenode7*/, NIT_NULL /*null*/); /*new AExternMethPropdef*/
17420 variable[19] = variable[20];
17421 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
17422 variable[20] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
17423 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
17424 return_label436: while(false);
17425 tracehead = trace.prev;
17426 return;
17427 }
17428 void parser___ReduceAction202___init(val_t self, int* init_table) {
17429 struct trace_t trace = {NULL, NULL, 10609, LOCATE_parser___ReduceAction202___init};
17430 val_t variable[2];
17431 void **closurevariable = NULL;
17432 trace.prev = tracehead; tracehead = &trace;
17433 trace.file = LOCATE_parser;
17434 variable[0] = self;
17435 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction202].i]) return;
17436 return_label437: while(false);
17437 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction202].i] = 1;
17438 tracehead = trace.prev;
17439 return;
17440 }
17441 void parser___ReduceAction203___action(val_t self, val_t param0) {
17442 struct trace_t trace = {NULL, NULL, 10613, LOCATE_parser___ReduceAction203___action};
17443 val_t variable[23];
17444 void **closurevariable = NULL;
17445 trace.prev = tracehead; tracehead = &trace;
17446 trace.file = LOCATE_parser;
17447 variable[0] = self;
17448 variable[1] = param0;
17449 variable[3] = NIT_NULL /*null*/;
17450 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17451 variable[4] = variable[5];
17452 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17453 variable[5] = variable[6];
17454 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17455 variable[6] = variable[7];
17456 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17457 variable[7] = variable[8];
17458 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17459 variable[8] = variable[9];
17460 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17461 variable[9] = variable[10];
17462 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17463 variable[10] = variable[11];
17464 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17465 variable[11] = variable[12];
17466 variable[12] = variable[11] /*nodearraylist1*/;
17467 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
17468 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction203___action, LOCATE_parser, 10625); nit_exit(1);}
17469 variable[13] = variable[10] /*nodearraylist2*/;
17470 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
17471 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction203___action, LOCATE_parser, 10627); nit_exit(1);}
17472 variable[14] = variable[9] /*nodearraylist3*/;
17473 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
17474 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction203___action, LOCATE_parser, 10629); nit_exit(1);}
17475 variable[15] = variable[8] /*nodearraylist4*/;
17476 variable[16] = TAG_Bool(( variable[15] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
17477 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction203___action, LOCATE_parser, 10631); nit_exit(1);}
17478 variable[16] = variable[7] /*nodearraylist5*/;
17479 variable[17] = TAG_Bool(( variable[16] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[16] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
17480 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction203___action, LOCATE_parser, 10633); nit_exit(1);}
17481 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
17482 variable[17] = variable[18];
17483 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
17484 variable[18] = variable[19];
17485 variable[19] = variable[6] /*nodearraylist6*/;
17486 variable[20] = TAG_Bool(( variable[19] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[19] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
17487 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction203___action, LOCATE_parser, 10637); nit_exit(1);}
17488 variable[20] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[19] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[19] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[19] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[19] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17489 if (UNTAG_Bool(variable[20])) { /*if*/
17490 variable[20] = ((array___AbstractArray___is_empty_t)CALL( variable[17] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[17] /*listnode9*/) /*AbstractArray::is_empty*/;
17491 if (UNTAG_Bool(variable[20])) { /*if*/
17492 variable[17] = variable[19] /*listnode8*/ /*listnode9=*/;
17493 } else { /*if*/
17494 ((abstract_collection___IndexedCollection___append_t)CALL( variable[17] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[17] /*listnode9*/, variable[19] /*listnode8*/) /*IndexedCollection::append*/;
17495 }
17496 }
17497 variable[21] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[17] /*listnode9*/, NIT_NULL /*null*/, variable[18] /*listnode11*/); /*new ASignature*/
17498 variable[20] = variable[21];
17499 variable[22] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[12] /*pdocnode2*/, variable[13] /*tkwredefnode3*/, variable[14] /*pvisibilitynode4*/, variable[15] /*tkwmethnode5*/, variable[16] /*pmethidnode6*/, variable[20] /*psignaturenode7*/, NIT_NULL /*null*/); /*new AExternMethPropdef*/
17500 variable[21] = variable[22];
17501 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
17502 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
17503 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
17504 return_label438: while(false);
17505 tracehead = trace.prev;
17506 return;
17507 }
17508 void parser___ReduceAction203___init(val_t self, int* init_table) {
17509 struct trace_t trace = {NULL, NULL, 10662, LOCATE_parser___ReduceAction203___init};
17510 val_t variable[2];
17511 void **closurevariable = NULL;
17512 trace.prev = tracehead; tracehead = &trace;
17513 trace.file = LOCATE_parser;
17514 variable[0] = self;
17515 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction203].i]) return;
17516 return_label439: while(false);
17517 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction203].i] = 1;
17518 tracehead = trace.prev;
17519 return;
17520 }
17521 void parser___ReduceAction204___action(val_t self, val_t param0) {
17522 struct trace_t trace = {NULL, NULL, 10666, LOCATE_parser___ReduceAction204___action};
17523 val_t variable[23];
17524 void **closurevariable = NULL;
17525 trace.prev = tracehead; tracehead = &trace;
17526 trace.file = LOCATE_parser;
17527 variable[0] = self;
17528 variable[1] = param0;
17529 variable[3] = NIT_NULL /*null*/;
17530 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17531 variable[4] = variable[5];
17532 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17533 variable[5] = variable[6];
17534 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17535 variable[6] = variable[7];
17536 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17537 variable[7] = variable[8];
17538 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17539 variable[8] = variable[9];
17540 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17541 variable[9] = variable[10];
17542 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17543 variable[10] = variable[11];
17544 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17545 variable[11] = variable[12];
17546 variable[12] = variable[11] /*nodearraylist1*/;
17547 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
17548 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction204___action, LOCATE_parser, 10678); nit_exit(1);}
17549 variable[13] = variable[10] /*nodearraylist2*/;
17550 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
17551 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction204___action, LOCATE_parser, 10680); nit_exit(1);}
17552 variable[14] = variable[9] /*nodearraylist3*/;
17553 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
17554 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction204___action, LOCATE_parser, 10682); nit_exit(1);}
17555 variable[15] = variable[8] /*nodearraylist4*/;
17556 variable[16] = TAG_Bool(( variable[15] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
17557 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction204___action, LOCATE_parser, 10684); nit_exit(1);}
17558 variable[16] = variable[7] /*nodearraylist5*/;
17559 variable[17] = TAG_Bool(( variable[16] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[16] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
17560 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction204___action, LOCATE_parser, 10686); nit_exit(1);}
17561 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
17562 variable[17] = variable[18];
17563 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
17564 variable[18] = variable[19];
17565 variable[19] = variable[6] /*nodearraylist6*/;
17566 variable[20] = TAG_Bool(( variable[19] /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable[19] /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
17567 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction204___action, LOCATE_parser, 10690); nit_exit(1);}
17568 variable[21] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[17] /*listnode8*/, variable[19] /*ptypenode9*/, variable[18] /*listnode10*/); /*new ASignature*/
17569 variable[20] = variable[21];
17570 variable[22] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[12] /*pdocnode2*/, variable[13] /*tkwredefnode3*/, variable[14] /*pvisibilitynode4*/, variable[15] /*tkwmethnode5*/, variable[16] /*pmethidnode6*/, variable[20] /*psignaturenode7*/, NIT_NULL /*null*/); /*new AExternMethPropdef*/
17571 variable[21] = variable[22];
17572 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
17573 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
17574 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
17575 return_label440: while(false);
17576 tracehead = trace.prev;
17577 return;
17578 }
17579 void parser___ReduceAction204___init(val_t self, int* init_table) {
17580 struct trace_t trace = {NULL, NULL, 10708, LOCATE_parser___ReduceAction204___init};
17581 val_t variable[2];
17582 void **closurevariable = NULL;
17583 trace.prev = tracehead; tracehead = &trace;
17584 trace.file = LOCATE_parser;
17585 variable[0] = self;
17586 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction204].i]) return;
17587 return_label441: while(false);
17588 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction204].i] = 1;
17589 tracehead = trace.prev;
17590 return;
17591 }
17592 void parser___ReduceAction205___action(val_t self, val_t param0) {
17593 struct trace_t trace = {NULL, NULL, 10712, LOCATE_parser___ReduceAction205___action};
17594 val_t variable[25];
17595 void **closurevariable = NULL;
17596 trace.prev = tracehead; tracehead = &trace;
17597 trace.file = LOCATE_parser;
17598 variable[0] = self;
17599 variable[1] = param0;
17600 variable[3] = NIT_NULL /*null*/;
17601 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17602 variable[4] = variable[5];
17603 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17604 variable[5] = variable[6];
17605 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17606 variable[6] = variable[7];
17607 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17608 variable[7] = variable[8];
17609 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17610 variable[8] = variable[9];
17611 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17612 variable[9] = variable[10];
17613 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17614 variable[10] = variable[11];
17615 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17616 variable[11] = variable[12];
17617 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17618 variable[12] = variable[13];
17619 variable[13] = variable[12] /*nodearraylist1*/;
17620 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
17621 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction205___action, LOCATE_parser, 10725); nit_exit(1);}
17622 variable[14] = variable[11] /*nodearraylist2*/;
17623 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
17624 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction205___action, LOCATE_parser, 10727); nit_exit(1);}
17625 variable[15] = variable[10] /*nodearraylist3*/;
17626 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
17627 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction205___action, LOCATE_parser, 10729); nit_exit(1);}
17628 variable[16] = variable[9] /*nodearraylist4*/;
17629 variable[17] = TAG_Bool(( variable[16] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
17630 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction205___action, LOCATE_parser, 10731); nit_exit(1);}
17631 variable[17] = variable[8] /*nodearraylist5*/;
17632 variable[18] = TAG_Bool(( variable[17] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[17] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
17633 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction205___action, LOCATE_parser, 10733); nit_exit(1);}
17634 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
17635 variable[18] = variable[19];
17636 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
17637 variable[19] = variable[20];
17638 variable[20] = variable[7] /*nodearraylist6*/;
17639 variable[21] = TAG_Bool(( variable[20] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[20] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
17640 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction205___action, LOCATE_parser, 10737); nit_exit(1);}
17641 variable[21] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[20] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[20] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[20] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[20] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17642 if (UNTAG_Bool(variable[21])) { /*if*/
17643 variable[21] = ((array___AbstractArray___is_empty_t)CALL( variable[18] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[18] /*listnode9*/) /*AbstractArray::is_empty*/;
17644 if (UNTAG_Bool(variable[21])) { /*if*/
17645 variable[18] = variable[20] /*listnode8*/ /*listnode9=*/;
17646 } else { /*if*/
17647 ((abstract_collection___IndexedCollection___append_t)CALL( variable[18] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[18] /*listnode9*/, variable[20] /*listnode8*/) /*IndexedCollection::append*/;
17648 }
17649 }
17650 variable[21] = variable[6] /*nodearraylist7*/;
17651 variable[22] = TAG_Bool(( variable[21] /*ptypenode10*/==NIT_NULL) || VAL_ISA( variable[21] /*ptypenode10*/, COLOR_PType, ID_PType)) /*cast PType*/;
17652 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction205___action, LOCATE_parser, 10746); nit_exit(1);}
17653 variable[23] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[18] /*listnode9*/, variable[21] /*ptypenode10*/, variable[19] /*listnode11*/); /*new ASignature*/
17654 variable[22] = variable[23];
17655 variable[24] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[13] /*pdocnode2*/, variable[14] /*tkwredefnode3*/, variable[15] /*pvisibilitynode4*/, variable[16] /*tkwmethnode5*/, variable[17] /*pmethidnode6*/, variable[22] /*psignaturenode7*/, NIT_NULL /*null*/); /*new AExternMethPropdef*/
17656 variable[23] = variable[24];
17657 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
17658 variable[24] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
17659 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
17660 return_label442: while(false);
17661 tracehead = trace.prev;
17662 return;
17663 }
17664 void parser___ReduceAction205___init(val_t self, int* init_table) {
17665 struct trace_t trace = {NULL, NULL, 10764, LOCATE_parser___ReduceAction205___init};
17666 val_t variable[2];
17667 void **closurevariable = NULL;
17668 trace.prev = tracehead; tracehead = &trace;
17669 trace.file = LOCATE_parser;
17670 variable[0] = self;
17671 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction205].i]) return;
17672 return_label443: while(false);
17673 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction205].i] = 1;
17674 tracehead = trace.prev;
17675 return;
17676 }
17677 void parser___ReduceAction206___action(val_t self, val_t param0) {
17678 struct trace_t trace = {NULL, NULL, 10768, LOCATE_parser___ReduceAction206___action};
17679 val_t variable[23];
17680 void **closurevariable = NULL;
17681 trace.prev = tracehead; tracehead = &trace;
17682 trace.file = LOCATE_parser;
17683 variable[0] = self;
17684 variable[1] = param0;
17685 variable[3] = NIT_NULL /*null*/;
17686 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17687 variable[4] = variable[5];
17688 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17689 variable[5] = variable[6];
17690 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17691 variable[6] = variable[7];
17692 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17693 variable[7] = variable[8];
17694 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17695 variable[8] = variable[9];
17696 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17697 variable[9] = variable[10];
17698 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17699 variable[10] = variable[11];
17700 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17701 variable[11] = variable[12];
17702 variable[12] = variable[11] /*nodearraylist1*/;
17703 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
17704 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction206___action, LOCATE_parser, 10780); nit_exit(1);}
17705 variable[13] = variable[10] /*nodearraylist2*/;
17706 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
17707 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction206___action, LOCATE_parser, 10782); nit_exit(1);}
17708 variable[14] = variable[9] /*nodearraylist3*/;
17709 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
17710 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction206___action, LOCATE_parser, 10784); nit_exit(1);}
17711 variable[15] = variable[8] /*nodearraylist4*/;
17712 variable[16] = TAG_Bool(( variable[15] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
17713 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction206___action, LOCATE_parser, 10786); nit_exit(1);}
17714 variable[16] = variable[7] /*nodearraylist5*/;
17715 variable[17] = TAG_Bool(( variable[16] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[16] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
17716 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction206___action, LOCATE_parser, 10788); nit_exit(1);}
17717 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
17718 variable[17] = variable[18];
17719 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
17720 variable[18] = variable[19];
17721 variable[19] = variable[6] /*nodearraylist6*/;
17722 variable[20] = TAG_Bool(( variable[19] /*listnode10*/==NIT_NULL) || VAL_ISA( variable[19] /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
17723 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction206___action, LOCATE_parser, 10792); nit_exit(1);}
17724 variable[20] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[19] /*listnode10*/ == NIT_NULL /*null*/) || (( variable[19] /*listnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[19] /*listnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode10*/,COLOR_kernel___Object_____eqeq))( variable[19] /*listnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17725 if (UNTAG_Bool(variable[20])) { /*if*/
17726 variable[20] = ((array___AbstractArray___is_empty_t)CALL( variable[18] /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable[18] /*listnode11*/) /*AbstractArray::is_empty*/;
17727 if (UNTAG_Bool(variable[20])) { /*if*/
17728 variable[18] = variable[19] /*listnode10*/ /*listnode11=*/;
17729 } else { /*if*/
17730 ((abstract_collection___IndexedCollection___append_t)CALL( variable[18] /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable[18] /*listnode11*/, variable[19] /*listnode10*/) /*IndexedCollection::append*/;
17731 }
17732 }
17733 variable[21] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[17] /*listnode8*/, NIT_NULL /*null*/, variable[18] /*listnode11*/); /*new ASignature*/
17734 variable[20] = variable[21];
17735 variable[22] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[12] /*pdocnode2*/, variable[13] /*tkwredefnode3*/, variable[14] /*pvisibilitynode4*/, variable[15] /*tkwmethnode5*/, variable[16] /*pmethidnode6*/, variable[20] /*psignaturenode7*/, NIT_NULL /*null*/); /*new AExternMethPropdef*/
17736 variable[21] = variable[22];
17737 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
17738 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
17739 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
17740 return_label444: while(false);
17741 tracehead = trace.prev;
17742 return;
17743 }
17744 void parser___ReduceAction206___init(val_t self, int* init_table) {
17745 struct trace_t trace = {NULL, NULL, 10817, LOCATE_parser___ReduceAction206___init};
17746 val_t variable[2];
17747 void **closurevariable = NULL;
17748 trace.prev = tracehead; tracehead = &trace;
17749 trace.file = LOCATE_parser;
17750 variable[0] = self;
17751 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction206].i]) return;
17752 return_label445: while(false);
17753 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction206].i] = 1;
17754 tracehead = trace.prev;
17755 return;
17756 }
17757 void parser___ReduceAction207___action(val_t self, val_t param0) {
17758 struct trace_t trace = {NULL, NULL, 10821, LOCATE_parser___ReduceAction207___action};
17759 val_t variable[25];
17760 void **closurevariable = NULL;
17761 trace.prev = tracehead; tracehead = &trace;
17762 trace.file = LOCATE_parser;
17763 variable[0] = self;
17764 variable[1] = param0;
17765 variable[3] = NIT_NULL /*null*/;
17766 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17767 variable[4] = variable[5];
17768 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17769 variable[5] = variable[6];
17770 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17771 variable[6] = variable[7];
17772 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17773 variable[7] = variable[8];
17774 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17775 variable[8] = variable[9];
17776 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17777 variable[9] = variable[10];
17778 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17779 variable[10] = variable[11];
17780 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17781 variable[11] = variable[12];
17782 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17783 variable[12] = variable[13];
17784 variable[13] = variable[12] /*nodearraylist1*/;
17785 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
17786 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction207___action, LOCATE_parser, 10834); nit_exit(1);}
17787 variable[14] = variable[11] /*nodearraylist2*/;
17788 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
17789 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction207___action, LOCATE_parser, 10836); nit_exit(1);}
17790 variable[15] = variable[10] /*nodearraylist3*/;
17791 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
17792 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction207___action, LOCATE_parser, 10838); nit_exit(1);}
17793 variable[16] = variable[9] /*nodearraylist4*/;
17794 variable[17] = TAG_Bool(( variable[16] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
17795 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction207___action, LOCATE_parser, 10840); nit_exit(1);}
17796 variable[17] = variable[8] /*nodearraylist5*/;
17797 variable[18] = TAG_Bool(( variable[17] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[17] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
17798 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction207___action, LOCATE_parser, 10842); nit_exit(1);}
17799 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
17800 variable[18] = variable[19];
17801 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
17802 variable[19] = variable[20];
17803 variable[20] = variable[7] /*nodearraylist6*/;
17804 variable[21] = TAG_Bool(( variable[20] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[20] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
17805 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction207___action, LOCATE_parser, 10846); nit_exit(1);}
17806 variable[21] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[20] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[20] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[20] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[20] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17807 if (UNTAG_Bool(variable[21])) { /*if*/
17808 variable[21] = ((array___AbstractArray___is_empty_t)CALL( variable[18] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[18] /*listnode9*/) /*AbstractArray::is_empty*/;
17809 if (UNTAG_Bool(variable[21])) { /*if*/
17810 variable[18] = variable[20] /*listnode8*/ /*listnode9=*/;
17811 } else { /*if*/
17812 ((abstract_collection___IndexedCollection___append_t)CALL( variable[18] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[18] /*listnode9*/, variable[20] /*listnode8*/) /*IndexedCollection::append*/;
17813 }
17814 }
17815 variable[21] = variable[6] /*nodearraylist7*/;
17816 variable[22] = TAG_Bool(( variable[21] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[21] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
17817 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction207___action, LOCATE_parser, 10855); nit_exit(1);}
17818 variable[22] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[21] /*listnode11*/ == NIT_NULL /*null*/) || (( variable[21] /*listnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[21] /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable[21] /*listnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17819 if (UNTAG_Bool(variable[22])) { /*if*/
17820 variable[22] = ((array___AbstractArray___is_empty_t)CALL( variable[19] /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable[19] /*listnode12*/) /*AbstractArray::is_empty*/;
17821 if (UNTAG_Bool(variable[22])) { /*if*/
17822 variable[19] = variable[21] /*listnode11*/ /*listnode12=*/;
17823 } else { /*if*/
17824 ((abstract_collection___IndexedCollection___append_t)CALL( variable[19] /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable[19] /*listnode12*/, variable[21] /*listnode11*/) /*IndexedCollection::append*/;
17825 }
17826 }
17827 variable[23] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[18] /*listnode9*/, NIT_NULL /*null*/, variable[19] /*listnode12*/); /*new ASignature*/
17828 variable[22] = variable[23];
17829 variable[24] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[13] /*pdocnode2*/, variable[14] /*tkwredefnode3*/, variable[15] /*pvisibilitynode4*/, variable[16] /*tkwmethnode5*/, variable[17] /*pmethidnode6*/, variable[22] /*psignaturenode7*/, NIT_NULL /*null*/); /*new AExternMethPropdef*/
17830 variable[23] = variable[24];
17831 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
17832 variable[24] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
17833 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
17834 return_label446: while(false);
17835 tracehead = trace.prev;
17836 return;
17837 }
17838 void parser___ReduceAction207___init(val_t self, int* init_table) {
17839 struct trace_t trace = {NULL, NULL, 10880, LOCATE_parser___ReduceAction207___init};
17840 val_t variable[2];
17841 void **closurevariable = NULL;
17842 trace.prev = tracehead; tracehead = &trace;
17843 trace.file = LOCATE_parser;
17844 variable[0] = self;
17845 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction207].i]) return;
17846 return_label447: while(false);
17847 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction207].i] = 1;
17848 tracehead = trace.prev;
17849 return;
17850 }
17851 void parser___ReduceAction208___action(val_t self, val_t param0) {
17852 struct trace_t trace = {NULL, NULL, 10884, LOCATE_parser___ReduceAction208___action};
17853 val_t variable[25];
17854 void **closurevariable = NULL;
17855 trace.prev = tracehead; tracehead = &trace;
17856 trace.file = LOCATE_parser;
17857 variable[0] = self;
17858 variable[1] = param0;
17859 variable[3] = NIT_NULL /*null*/;
17860 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17861 variable[4] = variable[5];
17862 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17863 variable[5] = variable[6];
17864 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17865 variable[6] = variable[7];
17866 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17867 variable[7] = variable[8];
17868 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17869 variable[8] = variable[9];
17870 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17871 variable[9] = variable[10];
17872 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17873 variable[10] = variable[11];
17874 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17875 variable[11] = variable[12];
17876 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17877 variable[12] = variable[13];
17878 variable[13] = variable[12] /*nodearraylist1*/;
17879 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
17880 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction208___action, LOCATE_parser, 10897); nit_exit(1);}
17881 variable[14] = variable[11] /*nodearraylist2*/;
17882 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
17883 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction208___action, LOCATE_parser, 10899); nit_exit(1);}
17884 variable[15] = variable[10] /*nodearraylist3*/;
17885 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
17886 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction208___action, LOCATE_parser, 10901); nit_exit(1);}
17887 variable[16] = variable[9] /*nodearraylist4*/;
17888 variable[17] = TAG_Bool(( variable[16] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
17889 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction208___action, LOCATE_parser, 10903); nit_exit(1);}
17890 variable[17] = variable[8] /*nodearraylist5*/;
17891 variable[18] = TAG_Bool(( variable[17] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[17] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
17892 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction208___action, LOCATE_parser, 10905); nit_exit(1);}
17893 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
17894 variable[18] = variable[19];
17895 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
17896 variable[19] = variable[20];
17897 variable[20] = variable[7] /*nodearraylist6*/;
17898 variable[21] = TAG_Bool(( variable[20] /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable[20] /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
17899 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction208___action, LOCATE_parser, 10909); nit_exit(1);}
17900 variable[21] = variable[6] /*nodearraylist7*/;
17901 variable[22] = TAG_Bool(( variable[21] /*listnode10*/==NIT_NULL) || VAL_ISA( variable[21] /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
17902 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction208___action, LOCATE_parser, 10911); nit_exit(1);}
17903 variable[22] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[21] /*listnode10*/ == NIT_NULL /*null*/) || (( variable[21] /*listnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[21] /*listnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode10*/,COLOR_kernel___Object_____eqeq))( variable[21] /*listnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17904 if (UNTAG_Bool(variable[22])) { /*if*/
17905 variable[22] = ((array___AbstractArray___is_empty_t)CALL( variable[19] /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable[19] /*listnode11*/) /*AbstractArray::is_empty*/;
17906 if (UNTAG_Bool(variable[22])) { /*if*/
17907 variable[19] = variable[21] /*listnode10*/ /*listnode11=*/;
17908 } else { /*if*/
17909 ((abstract_collection___IndexedCollection___append_t)CALL( variable[19] /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable[19] /*listnode11*/, variable[21] /*listnode10*/) /*IndexedCollection::append*/;
17910 }
17911 }
17912 variable[23] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[18] /*listnode8*/, variable[20] /*ptypenode9*/, variable[19] /*listnode11*/); /*new ASignature*/
17913 variable[22] = variable[23];
17914 variable[24] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[13] /*pdocnode2*/, variable[14] /*tkwredefnode3*/, variable[15] /*pvisibilitynode4*/, variable[16] /*tkwmethnode5*/, variable[17] /*pmethidnode6*/, variable[22] /*psignaturenode7*/, NIT_NULL /*null*/); /*new AExternMethPropdef*/
17915 variable[23] = variable[24];
17916 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
17917 variable[24] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
17918 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
17919 return_label448: while(false);
17920 tracehead = trace.prev;
17921 return;
17922 }
17923 void parser___ReduceAction208___init(val_t self, int* init_table) {
17924 struct trace_t trace = {NULL, NULL, 10936, LOCATE_parser___ReduceAction208___init};
17925 val_t variable[2];
17926 void **closurevariable = NULL;
17927 trace.prev = tracehead; tracehead = &trace;
17928 trace.file = LOCATE_parser;
17929 variable[0] = self;
17930 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction208].i]) return;
17931 return_label449: while(false);
17932 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction208].i] = 1;
17933 tracehead = trace.prev;
17934 return;
17935 }
17936 void parser___ReduceAction209___action(val_t self, val_t param0) {
17937 struct trace_t trace = {NULL, NULL, 10940, LOCATE_parser___ReduceAction209___action};
17938 val_t variable[27];
17939 void **closurevariable = NULL;
17940 trace.prev = tracehead; tracehead = &trace;
17941 trace.file = LOCATE_parser;
17942 variable[0] = self;
17943 variable[1] = param0;
17944 variable[3] = NIT_NULL /*null*/;
17945 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17946 variable[4] = variable[5];
17947 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17948 variable[5] = variable[6];
17949 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17950 variable[6] = variable[7];
17951 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17952 variable[7] = variable[8];
17953 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17954 variable[8] = variable[9];
17955 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17956 variable[9] = variable[10];
17957 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17958 variable[10] = variable[11];
17959 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17960 variable[11] = variable[12];
17961 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17962 variable[12] = variable[13];
17963 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
17964 variable[13] = variable[14];
17965 variable[14] = variable[13] /*nodearraylist1*/;
17966 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
17967 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction209___action, LOCATE_parser, 10954); nit_exit(1);}
17968 variable[15] = variable[12] /*nodearraylist2*/;
17969 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
17970 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction209___action, LOCATE_parser, 10956); nit_exit(1);}
17971 variable[16] = variable[11] /*nodearraylist3*/;
17972 variable[17] = TAG_Bool(( variable[16] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[16] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
17973 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction209___action, LOCATE_parser, 10958); nit_exit(1);}
17974 variable[17] = variable[10] /*nodearraylist4*/;
17975 variable[18] = TAG_Bool(( variable[17] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
17976 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction209___action, LOCATE_parser, 10960); nit_exit(1);}
17977 variable[18] = variable[9] /*nodearraylist5*/;
17978 variable[19] = TAG_Bool(( variable[18] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[18] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
17979 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction209___action, LOCATE_parser, 10962); nit_exit(1);}
17980 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
17981 variable[19] = variable[20];
17982 variable[21] = NEW_Array_array___Array___init(); /*new Array[Object]*/
17983 variable[20] = variable[21];
17984 variable[21] = variable[8] /*nodearraylist6*/;
17985 variable[22] = TAG_Bool(( variable[21] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[21] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
17986 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction209___action, LOCATE_parser, 10966); nit_exit(1);}
17987 variable[22] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[21] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[21] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[21] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[21] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17988 if (UNTAG_Bool(variable[22])) { /*if*/
17989 variable[22] = ((array___AbstractArray___is_empty_t)CALL( variable[19] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[19] /*listnode9*/) /*AbstractArray::is_empty*/;
17990 if (UNTAG_Bool(variable[22])) { /*if*/
17991 variable[19] = variable[21] /*listnode8*/ /*listnode9=*/;
17992 } else { /*if*/
17993 ((abstract_collection___IndexedCollection___append_t)CALL( variable[19] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[19] /*listnode9*/, variable[21] /*listnode8*/) /*IndexedCollection::append*/;
17994 }
17995 }
17996 variable[22] = variable[7] /*nodearraylist7*/;
17997 variable[23] = TAG_Bool(( variable[22] /*ptypenode10*/==NIT_NULL) || VAL_ISA( variable[22] /*ptypenode10*/, COLOR_PType, ID_PType)) /*cast PType*/;
17998 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction209___action, LOCATE_parser, 10975); nit_exit(1);}
17999 variable[23] = variable[6] /*nodearraylist8*/;
18000 variable[24] = TAG_Bool(( variable[23] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[23] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
18001 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction209___action, LOCATE_parser, 10977); nit_exit(1);}
18002 variable[24] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[23] /*listnode11*/ == NIT_NULL /*null*/) || (( variable[23] /*listnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[23] /*listnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[23] /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[23] /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable[23] /*listnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
18003 if (UNTAG_Bool(variable[24])) { /*if*/
18004 variable[24] = ((array___AbstractArray___is_empty_t)CALL( variable[20] /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable[20] /*listnode12*/) /*AbstractArray::is_empty*/;
18005 if (UNTAG_Bool(variable[24])) { /*if*/
18006 variable[20] = variable[23] /*listnode11*/ /*listnode12=*/;
18007 } else { /*if*/
18008 ((abstract_collection___IndexedCollection___append_t)CALL( variable[20] /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable[20] /*listnode12*/, variable[23] /*listnode11*/) /*IndexedCollection::append*/;
18009 }
18010 }
18011 variable[25] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[19] /*listnode9*/, variable[22] /*ptypenode10*/, variable[20] /*listnode12*/); /*new ASignature*/
18012 variable[24] = variable[25];
18013 variable[26] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[14] /*pdocnode2*/, variable[15] /*tkwredefnode3*/, variable[16] /*pvisibilitynode4*/, variable[17] /*tkwmethnode5*/, variable[18] /*pmethidnode6*/, variable[24] /*psignaturenode7*/, NIT_NULL /*null*/); /*new AExternMethPropdef*/
18014 variable[25] = variable[26];
18015 variable[3] = variable[25] /*ppropdefnode1*/ /*node_list=*/;
18016 variable[26] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
18017 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[26], variable[3] /*node_list*/) /*Parser::push*/;
18018 return_label450: while(false);
18019 tracehead = trace.prev;
18020 return;
18021 }
18022 void parser___ReduceAction209___init(val_t self, int* init_table) {
18023 struct trace_t trace = {NULL, NULL, 11002, LOCATE_parser___ReduceAction209___init};
18024 val_t variable[2];
18025 void **closurevariable = NULL;
18026 trace.prev = tracehead; tracehead = &trace;
18027 trace.file = LOCATE_parser;
18028 variable[0] = self;
18029 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction209].i]) return;
18030 return_label451: while(false);
18031 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction209].i] = 1;
18032 tracehead = trace.prev;
18033 return;
18034 }
18035 void parser___ReduceAction210___action(val_t self, val_t param0) {
18036 struct trace_t trace = {NULL, NULL, 11006, LOCATE_parser___ReduceAction210___action};
18037 val_t variable[21];
18038 void **closurevariable = NULL;
18039 trace.prev = tracehead; tracehead = &trace;
18040 trace.file = LOCATE_parser;
18041 variable[0] = self;
18042 variable[1] = param0;
18043 variable[3] = NIT_NULL /*null*/;
18044 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18045 variable[4] = variable[5];
18046 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18047 variable[5] = variable[6];
18048 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18049 variable[6] = variable[7];
18050 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18051 variable[7] = variable[8];
18052 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18053 variable[8] = variable[9];
18054 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18055 variable[9] = variable[10];
18056 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18057 variable[10] = variable[11];
18058 variable[11] = variable[10] /*nodearraylist1*/;
18059 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
18060 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction210___action, LOCATE_parser, 11017); nit_exit(1);}
18061 variable[12] = variable[9] /*nodearraylist2*/;
18062 variable[13] = TAG_Bool(( variable[12] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[12] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
18063 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction210___action, LOCATE_parser, 11019); nit_exit(1);}
18064 variable[13] = variable[8] /*nodearraylist3*/;
18065 variable[14] = TAG_Bool(( variable[13] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
18066 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction210___action, LOCATE_parser, 11021); nit_exit(1);}
18067 variable[14] = variable[7] /*nodearraylist4*/;
18068 variable[15] = TAG_Bool(( variable[14] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[14] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
18069 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction210___action, LOCATE_parser, 11023); nit_exit(1);}
18070 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
18071 variable[15] = variable[16];
18072 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
18073 variable[16] = variable[17];
18074 variable[18] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[15] /*listnode8*/, NIT_NULL /*null*/, variable[16] /*listnode10*/); /*new ASignature*/
18075 variable[17] = variable[18];
18076 variable[18] = variable[4] /*nodearraylist7*/;
18077 variable[19] = TAG_Bool(( variable[18] /*tstringnode11*/==NIT_NULL) || VAL_ISA( variable[18] /*tstringnode11*/, COLOR_TString, ID_TString)) /*cast TString*/;
18078 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction210___action, LOCATE_parser, 11032); nit_exit(1);}
18079 variable[20] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[11] /*pdocnode2*/, NIT_NULL /*null*/, variable[12] /*pvisibilitynode4*/, variable[13] /*tkwmethnode5*/, variable[14] /*pmethidnode6*/, variable[17] /*psignaturenode7*/, variable[18] /*tstringnode11*/); /*new AExternMethPropdef*/
18080 variable[19] = variable[20];
18081 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
18082 variable[20] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
18083 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
18084 return_label452: while(false);
18085 tracehead = trace.prev;
18086 return;
18087 }
18088 void parser___ReduceAction210___init(val_t self, int* init_table) {
18089 struct trace_t trace = {NULL, NULL, 11045, LOCATE_parser___ReduceAction210___init};
18090 val_t variable[2];
18091 void **closurevariable = NULL;
18092 trace.prev = tracehead; tracehead = &trace;
18093 trace.file = LOCATE_parser;
18094 variable[0] = self;
18095 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction210].i]) return;
18096 return_label453: while(false);
18097 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction210].i] = 1;
18098 tracehead = trace.prev;
18099 return;
18100 }
18101 void parser___ReduceAction211___action(val_t self, val_t param0) {
18102 struct trace_t trace = {NULL, NULL, 11049, LOCATE_parser___ReduceAction211___action};
18103 val_t variable[23];
18104 void **closurevariable = NULL;
18105 trace.prev = tracehead; tracehead = &trace;
18106 trace.file = LOCATE_parser;
18107 variable[0] = self;
18108 variable[1] = param0;
18109 variable[3] = NIT_NULL /*null*/;
18110 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18111 variable[4] = variable[5];
18112 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18113 variable[5] = variable[6];
18114 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18115 variable[6] = variable[7];
18116 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18117 variable[7] = variable[8];
18118 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18119 variable[8] = variable[9];
18120 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18121 variable[9] = variable[10];
18122 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18123 variable[10] = variable[11];
18124 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18125 variable[11] = variable[12];
18126 variable[12] = variable[11] /*nodearraylist1*/;
18127 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
18128 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction211___action, LOCATE_parser, 11061); nit_exit(1);}
18129 variable[13] = variable[10] /*nodearraylist2*/;
18130 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
18131 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction211___action, LOCATE_parser, 11063); nit_exit(1);}
18132 variable[14] = variable[9] /*nodearraylist3*/;
18133 variable[15] = TAG_Bool(( variable[14] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
18134 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction211___action, LOCATE_parser, 11065); nit_exit(1);}
18135 variable[15] = variable[8] /*nodearraylist4*/;
18136 variable[16] = TAG_Bool(( variable[15] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
18137 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction211___action, LOCATE_parser, 11067); nit_exit(1);}
18138 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
18139 variable[16] = variable[17];
18140 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
18141 variable[17] = variable[18];
18142 variable[18] = variable[7] /*nodearraylist5*/;
18143 variable[19] = TAG_Bool(( variable[18] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[18] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
18144 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction211___action, LOCATE_parser, 11071); nit_exit(1);}
18145 variable[19] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[18] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[18] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[18] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[18] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[18] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[18] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
18146 if (UNTAG_Bool(variable[19])) { /*if*/
18147 variable[19] = ((array___AbstractArray___is_empty_t)CALL( variable[16] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[16] /*listnode9*/) /*AbstractArray::is_empty*/;
18148 if (UNTAG_Bool(variable[19])) { /*if*/
18149 variable[16] = variable[18] /*listnode8*/ /*listnode9=*/;
18150 } else { /*if*/
18151 ((abstract_collection___IndexedCollection___append_t)CALL( variable[16] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[16] /*listnode9*/, variable[18] /*listnode8*/) /*IndexedCollection::append*/;
18152 }
18153 }
18154 variable[20] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[16] /*listnode9*/, NIT_NULL /*null*/, variable[17] /*listnode11*/); /*new ASignature*/
18155 variable[19] = variable[20];
18156 variable[20] = variable[4] /*nodearraylist8*/;
18157 variable[21] = TAG_Bool(( variable[20] /*tstringnode12*/==NIT_NULL) || VAL_ISA( variable[20] /*tstringnode12*/, COLOR_TString, ID_TString)) /*cast TString*/;
18158 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction211___action, LOCATE_parser, 11085); nit_exit(1);}
18159 variable[22] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[12] /*pdocnode2*/, NIT_NULL /*null*/, variable[13] /*pvisibilitynode4*/, variable[14] /*tkwmethnode5*/, variable[15] /*pmethidnode6*/, variable[19] /*psignaturenode7*/, variable[20] /*tstringnode12*/); /*new AExternMethPropdef*/
18160 variable[21] = variable[22];
18161 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
18162 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
18163 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
18164 return_label454: while(false);
18165 tracehead = trace.prev;
18166 return;
18167 }
18168 void parser___ReduceAction211___init(val_t self, int* init_table) {
18169 struct trace_t trace = {NULL, NULL, 11098, LOCATE_parser___ReduceAction211___init};
18170 val_t variable[2];
18171 void **closurevariable = NULL;
18172 trace.prev = tracehead; tracehead = &trace;
18173 trace.file = LOCATE_parser;
18174 variable[0] = self;
18175 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction211].i]) return;
18176 return_label455: while(false);
18177 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction211].i] = 1;
18178 tracehead = trace.prev;
18179 return;
18180 }
18181 void parser___ReduceAction212___action(val_t self, val_t param0) {
18182 struct trace_t trace = {NULL, NULL, 11102, LOCATE_parser___ReduceAction212___action};
18183 val_t variable[23];
18184 void **closurevariable = NULL;
18185 trace.prev = tracehead; tracehead = &trace;
18186 trace.file = LOCATE_parser;
18187 variable[0] = self;
18188 variable[1] = param0;
18189 variable[3] = NIT_NULL /*null*/;
18190 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18191 variable[4] = variable[5];
18192 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18193 variable[5] = variable[6];
18194 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18195 variable[6] = variable[7];
18196 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18197 variable[7] = variable[8];
18198 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18199 variable[8] = variable[9];
18200 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18201 variable[9] = variable[10];
18202 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18203 variable[10] = variable[11];
18204 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18205 variable[11] = variable[12];
18206 variable[12] = variable[11] /*nodearraylist1*/;
18207 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
18208 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction212___action, LOCATE_parser, 11114); nit_exit(1);}
18209 variable[13] = variable[10] /*nodearraylist2*/;
18210 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
18211 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction212___action, LOCATE_parser, 11116); nit_exit(1);}
18212 variable[14] = variable[9] /*nodearraylist3*/;
18213 variable[15] = TAG_Bool(( variable[14] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
18214 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction212___action, LOCATE_parser, 11118); nit_exit(1);}
18215 variable[15] = variable[8] /*nodearraylist4*/;
18216 variable[16] = TAG_Bool(( variable[15] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
18217 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction212___action, LOCATE_parser, 11120); nit_exit(1);}
18218 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
18219 variable[16] = variable[17];
18220 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
18221 variable[17] = variable[18];
18222 variable[18] = variable[7] /*nodearraylist5*/;
18223 variable[19] = TAG_Bool(( variable[18] /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable[18] /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
18224 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction212___action, LOCATE_parser, 11124); nit_exit(1);}
18225 variable[20] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[16] /*listnode8*/, variable[18] /*ptypenode9*/, variable[17] /*listnode10*/); /*new ASignature*/
18226 variable[19] = variable[20];
18227 variable[20] = variable[4] /*nodearraylist8*/;
18228 variable[21] = TAG_Bool(( variable[20] /*tstringnode11*/==NIT_NULL) || VAL_ISA( variable[20] /*tstringnode11*/, COLOR_TString, ID_TString)) /*cast TString*/;
18229 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction212___action, LOCATE_parser, 11131); nit_exit(1);}
18230 variable[22] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[12] /*pdocnode2*/, NIT_NULL /*null*/, variable[13] /*pvisibilitynode4*/, variable[14] /*tkwmethnode5*/, variable[15] /*pmethidnode6*/, variable[19] /*psignaturenode7*/, variable[20] /*tstringnode11*/); /*new AExternMethPropdef*/
18231 variable[21] = variable[22];
18232 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
18233 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
18234 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
18235 return_label456: while(false);
18236 tracehead = trace.prev;
18237 return;
18238 }
18239 void parser___ReduceAction212___init(val_t self, int* init_table) {
18240 struct trace_t trace = {NULL, NULL, 11144, LOCATE_parser___ReduceAction212___init};
18241 val_t variable[2];
18242 void **closurevariable = NULL;
18243 trace.prev = tracehead; tracehead = &trace;
18244 trace.file = LOCATE_parser;
18245 variable[0] = self;
18246 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction212].i]) return;
18247 return_label457: while(false);
18248 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction212].i] = 1;
18249 tracehead = trace.prev;
18250 return;
18251 }
18252 void parser___ReduceAction213___action(val_t self, val_t param0) {
18253 struct trace_t trace = {NULL, NULL, 11148, LOCATE_parser___ReduceAction213___action};
18254 val_t variable[25];
18255 void **closurevariable = NULL;
18256 trace.prev = tracehead; tracehead = &trace;
18257 trace.file = LOCATE_parser;
18258 variable[0] = self;
18259 variable[1] = param0;
18260 variable[3] = NIT_NULL /*null*/;
18261 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18262 variable[4] = variable[5];
18263 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18264 variable[5] = variable[6];
18265 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18266 variable[6] = variable[7];
18267 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18268 variable[7] = variable[8];
18269 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18270 variable[8] = variable[9];
18271 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18272 variable[9] = variable[10];
18273 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18274 variable[10] = variable[11];
18275 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18276 variable[11] = variable[12];
18277 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18278 variable[12] = variable[13];
18279 variable[13] = variable[12] /*nodearraylist1*/;
18280 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
18281 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction213___action, LOCATE_parser, 11161); nit_exit(1);}
18282 variable[14] = variable[11] /*nodearraylist2*/;
18283 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
18284 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction213___action, LOCATE_parser, 11163); nit_exit(1);}
18285 variable[15] = variable[10] /*nodearraylist3*/;
18286 variable[16] = TAG_Bool(( variable[15] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
18287 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction213___action, LOCATE_parser, 11165); nit_exit(1);}
18288 variable[16] = variable[9] /*nodearraylist4*/;
18289 variable[17] = TAG_Bool(( variable[16] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[16] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
18290 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction213___action, LOCATE_parser, 11167); nit_exit(1);}
18291 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
18292 variable[17] = variable[18];
18293 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
18294 variable[18] = variable[19];
18295 variable[19] = variable[8] /*nodearraylist5*/;
18296 variable[20] = TAG_Bool(( variable[19] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[19] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
18297 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction213___action, LOCATE_parser, 11171); nit_exit(1);}
18298 variable[20] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[19] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[19] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[19] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[19] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
18299 if (UNTAG_Bool(variable[20])) { /*if*/
18300 variable[20] = ((array___AbstractArray___is_empty_t)CALL( variable[17] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[17] /*listnode9*/) /*AbstractArray::is_empty*/;
18301 if (UNTAG_Bool(variable[20])) { /*if*/
18302 variable[17] = variable[19] /*listnode8*/ /*listnode9=*/;
18303 } else { /*if*/
18304 ((abstract_collection___IndexedCollection___append_t)CALL( variable[17] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[17] /*listnode9*/, variable[19] /*listnode8*/) /*IndexedCollection::append*/;
18305 }
18306 }
18307 variable[20] = variable[7] /*nodearraylist6*/;
18308 variable[21] = TAG_Bool(( variable[20] /*ptypenode10*/==NIT_NULL) || VAL_ISA( variable[20] /*ptypenode10*/, COLOR_PType, ID_PType)) /*cast PType*/;
18309 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction213___action, LOCATE_parser, 11180); nit_exit(1);}
18310 variable[22] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[17] /*listnode9*/, variable[20] /*ptypenode10*/, variable[18] /*listnode11*/); /*new ASignature*/
18311 variable[21] = variable[22];
18312 variable[22] = variable[4] /*nodearraylist9*/;
18313 variable[23] = TAG_Bool(( variable[22] /*tstringnode12*/==NIT_NULL) || VAL_ISA( variable[22] /*tstringnode12*/, COLOR_TString, ID_TString)) /*cast TString*/;
18314 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction213___action, LOCATE_parser, 11187); nit_exit(1);}
18315 variable[24] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[13] /*pdocnode2*/, NIT_NULL /*null*/, variable[14] /*pvisibilitynode4*/, variable[15] /*tkwmethnode5*/, variable[16] /*pmethidnode6*/, variable[21] /*psignaturenode7*/, variable[22] /*tstringnode12*/); /*new AExternMethPropdef*/
18316 variable[23] = variable[24];
18317 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
18318 variable[24] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
18319 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
18320 return_label458: while(false);
18321 tracehead = trace.prev;
18322 return;
18323 }
18324 void parser___ReduceAction213___init(val_t self, int* init_table) {
18325 struct trace_t trace = {NULL, NULL, 11200, LOCATE_parser___ReduceAction213___init};
18326 val_t variable[2];
18327 void **closurevariable = NULL;
18328 trace.prev = tracehead; tracehead = &trace;
18329 trace.file = LOCATE_parser;
18330 variable[0] = self;
18331 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction213].i]) return;
18332 return_label459: while(false);
18333 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction213].i] = 1;
18334 tracehead = trace.prev;
18335 return;
18336 }
18337 void parser___ReduceAction214___action(val_t self, val_t param0) {
18338 struct trace_t trace = {NULL, NULL, 11204, LOCATE_parser___ReduceAction214___action};
18339 val_t variable[23];
18340 void **closurevariable = NULL;
18341 trace.prev = tracehead; tracehead = &trace;
18342 trace.file = LOCATE_parser;
18343 variable[0] = self;
18344 variable[1] = param0;
18345 variable[3] = NIT_NULL /*null*/;
18346 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18347 variable[4] = variable[5];
18348 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18349 variable[5] = variable[6];
18350 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18351 variable[6] = variable[7];
18352 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18353 variable[7] = variable[8];
18354 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18355 variable[8] = variable[9];
18356 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18357 variable[9] = variable[10];
18358 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18359 variable[10] = variable[11];
18360 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18361 variable[11] = variable[12];
18362 variable[12] = variable[11] /*nodearraylist1*/;
18363 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
18364 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction214___action, LOCATE_parser, 11216); nit_exit(1);}
18365 variable[13] = variable[10] /*nodearraylist2*/;
18366 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
18367 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction214___action, LOCATE_parser, 11218); nit_exit(1);}
18368 variable[14] = variable[9] /*nodearraylist3*/;
18369 variable[15] = TAG_Bool(( variable[14] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
18370 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction214___action, LOCATE_parser, 11220); nit_exit(1);}
18371 variable[15] = variable[8] /*nodearraylist4*/;
18372 variable[16] = TAG_Bool(( variable[15] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
18373 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction214___action, LOCATE_parser, 11222); nit_exit(1);}
18374 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
18375 variable[16] = variable[17];
18376 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
18377 variable[17] = variable[18];
18378 variable[18] = variable[7] /*nodearraylist5*/;
18379 variable[19] = TAG_Bool(( variable[18] /*listnode10*/==NIT_NULL) || VAL_ISA( variable[18] /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
18380 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction214___action, LOCATE_parser, 11226); nit_exit(1);}
18381 variable[19] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[18] /*listnode10*/ == NIT_NULL /*null*/) || (( variable[18] /*listnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[18] /*listnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[18] /*listnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[18] /*listnode10*/,COLOR_kernel___Object_____eqeq))( variable[18] /*listnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
18382 if (UNTAG_Bool(variable[19])) { /*if*/
18383 variable[19] = ((array___AbstractArray___is_empty_t)CALL( variable[17] /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable[17] /*listnode11*/) /*AbstractArray::is_empty*/;
18384 if (UNTAG_Bool(variable[19])) { /*if*/
18385 variable[17] = variable[18] /*listnode10*/ /*listnode11=*/;
18386 } else { /*if*/
18387 ((abstract_collection___IndexedCollection___append_t)CALL( variable[17] /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable[17] /*listnode11*/, variable[18] /*listnode10*/) /*IndexedCollection::append*/;
18388 }
18389 }
18390 variable[20] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[16] /*listnode8*/, NIT_NULL /*null*/, variable[17] /*listnode11*/); /*new ASignature*/
18391 variable[19] = variable[20];
18392 variable[20] = variable[4] /*nodearraylist8*/;
18393 variable[21] = TAG_Bool(( variable[20] /*tstringnode12*/==NIT_NULL) || VAL_ISA( variable[20] /*tstringnode12*/, COLOR_TString, ID_TString)) /*cast TString*/;
18394 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction214___action, LOCATE_parser, 11240); nit_exit(1);}
18395 variable[22] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[12] /*pdocnode2*/, NIT_NULL /*null*/, variable[13] /*pvisibilitynode4*/, variable[14] /*tkwmethnode5*/, variable[15] /*pmethidnode6*/, variable[19] /*psignaturenode7*/, variable[20] /*tstringnode12*/); /*new AExternMethPropdef*/
18396 variable[21] = variable[22];
18397 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
18398 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
18399 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
18400 return_label460: while(false);
18401 tracehead = trace.prev;
18402 return;
18403 }
18404 void parser___ReduceAction214___init(val_t self, int* init_table) {
18405 struct trace_t trace = {NULL, NULL, 11253, LOCATE_parser___ReduceAction214___init};
18406 val_t variable[2];
18407 void **closurevariable = NULL;
18408 trace.prev = tracehead; tracehead = &trace;
18409 trace.file = LOCATE_parser;
18410 variable[0] = self;
18411 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction214].i]) return;
18412 return_label461: while(false);
18413 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction214].i] = 1;
18414 tracehead = trace.prev;
18415 return;
18416 }
18417 void parser___ReduceAction215___action(val_t self, val_t param0) {
18418 struct trace_t trace = {NULL, NULL, 11257, LOCATE_parser___ReduceAction215___action};
18419 val_t variable[25];
18420 void **closurevariable = NULL;
18421 trace.prev = tracehead; tracehead = &trace;
18422 trace.file = LOCATE_parser;
18423 variable[0] = self;
18424 variable[1] = param0;
18425 variable[3] = NIT_NULL /*null*/;
18426 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18427 variable[4] = variable[5];
18428 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18429 variable[5] = variable[6];
18430 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18431 variable[6] = variable[7];
18432 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18433 variable[7] = variable[8];
18434 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18435 variable[8] = variable[9];
18436 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18437 variable[9] = variable[10];
18438 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18439 variable[10] = variable[11];
18440 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18441 variable[11] = variable[12];
18442 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18443 variable[12] = variable[13];
18444 variable[13] = variable[12] /*nodearraylist1*/;
18445 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
18446 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction215___action, LOCATE_parser, 11270); nit_exit(1);}
18447 variable[14] = variable[11] /*nodearraylist2*/;
18448 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
18449 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction215___action, LOCATE_parser, 11272); nit_exit(1);}
18450 variable[15] = variable[10] /*nodearraylist3*/;
18451 variable[16] = TAG_Bool(( variable[15] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
18452 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction215___action, LOCATE_parser, 11274); nit_exit(1);}
18453 variable[16] = variable[9] /*nodearraylist4*/;
18454 variable[17] = TAG_Bool(( variable[16] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[16] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
18455 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction215___action, LOCATE_parser, 11276); nit_exit(1);}
18456 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
18457 variable[17] = variable[18];
18458 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
18459 variable[18] = variable[19];
18460 variable[19] = variable[8] /*nodearraylist5*/;
18461 variable[20] = TAG_Bool(( variable[19] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[19] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
18462 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction215___action, LOCATE_parser, 11280); nit_exit(1);}
18463 variable[20] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[19] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[19] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[19] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[19] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
18464 if (UNTAG_Bool(variable[20])) { /*if*/
18465 variable[20] = ((array___AbstractArray___is_empty_t)CALL( variable[17] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[17] /*listnode9*/) /*AbstractArray::is_empty*/;
18466 if (UNTAG_Bool(variable[20])) { /*if*/
18467 variable[17] = variable[19] /*listnode8*/ /*listnode9=*/;
18468 } else { /*if*/
18469 ((abstract_collection___IndexedCollection___append_t)CALL( variable[17] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[17] /*listnode9*/, variable[19] /*listnode8*/) /*IndexedCollection::append*/;
18470 }
18471 }
18472 variable[20] = variable[7] /*nodearraylist6*/;
18473 variable[21] = TAG_Bool(( variable[20] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[20] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
18474 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction215___action, LOCATE_parser, 11289); nit_exit(1);}
18475 variable[21] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[20] /*listnode11*/ == NIT_NULL /*null*/) || (( variable[20] /*listnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[20] /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable[20] /*listnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
18476 if (UNTAG_Bool(variable[21])) { /*if*/
18477 variable[21] = ((array___AbstractArray___is_empty_t)CALL( variable[18] /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable[18] /*listnode12*/) /*AbstractArray::is_empty*/;
18478 if (UNTAG_Bool(variable[21])) { /*if*/
18479 variable[18] = variable[20] /*listnode11*/ /*listnode12=*/;
18480 } else { /*if*/
18481 ((abstract_collection___IndexedCollection___append_t)CALL( variable[18] /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable[18] /*listnode12*/, variable[20] /*listnode11*/) /*IndexedCollection::append*/;
18482 }
18483 }
18484 variable[22] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[17] /*listnode9*/, NIT_NULL /*null*/, variable[18] /*listnode12*/); /*new ASignature*/
18485 variable[21] = variable[22];
18486 variable[22] = variable[4] /*nodearraylist9*/;
18487 variable[23] = TAG_Bool(( variable[22] /*tstringnode13*/==NIT_NULL) || VAL_ISA( variable[22] /*tstringnode13*/, COLOR_TString, ID_TString)) /*cast TString*/;
18488 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction215___action, LOCATE_parser, 11303); nit_exit(1);}
18489 variable[24] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[13] /*pdocnode2*/, NIT_NULL /*null*/, variable[14] /*pvisibilitynode4*/, variable[15] /*tkwmethnode5*/, variable[16] /*pmethidnode6*/, variable[21] /*psignaturenode7*/, variable[22] /*tstringnode13*/); /*new AExternMethPropdef*/
18490 variable[23] = variable[24];
18491 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
18492 variable[24] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
18493 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
18494 return_label462: while(false);
18495 tracehead = trace.prev;
18496 return;
18497 }
18498 void parser___ReduceAction215___init(val_t self, int* init_table) {
18499 struct trace_t trace = {NULL, NULL, 11316, LOCATE_parser___ReduceAction215___init};
18500 val_t variable[2];
18501 void **closurevariable = NULL;
18502 trace.prev = tracehead; tracehead = &trace;
18503 trace.file = LOCATE_parser;
18504 variable[0] = self;
18505 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction215].i]) return;
18506 return_label463: while(false);
18507 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction215].i] = 1;
18508 tracehead = trace.prev;
18509 return;
18510 }
18511 void parser___ReduceAction216___action(val_t self, val_t param0) {
18512 struct trace_t trace = {NULL, NULL, 11320, LOCATE_parser___ReduceAction216___action};
18513 val_t variable[25];
18514 void **closurevariable = NULL;
18515 trace.prev = tracehead; tracehead = &trace;
18516 trace.file = LOCATE_parser;
18517 variable[0] = self;
18518 variable[1] = param0;
18519 variable[3] = NIT_NULL /*null*/;
18520 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18521 variable[4] = variable[5];
18522 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18523 variable[5] = variable[6];
18524 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18525 variable[6] = variable[7];
18526 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18527 variable[7] = variable[8];
18528 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18529 variable[8] = variable[9];
18530 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18531 variable[9] = variable[10];
18532 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18533 variable[10] = variable[11];
18534 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18535 variable[11] = variable[12];
18536 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18537 variable[12] = variable[13];
18538 variable[13] = variable[12] /*nodearraylist1*/;
18539 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
18540 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction216___action, LOCATE_parser, 11333); nit_exit(1);}
18541 variable[14] = variable[11] /*nodearraylist2*/;
18542 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
18543 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction216___action, LOCATE_parser, 11335); nit_exit(1);}
18544 variable[15] = variable[10] /*nodearraylist3*/;
18545 variable[16] = TAG_Bool(( variable[15] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
18546 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction216___action, LOCATE_parser, 11337); nit_exit(1);}
18547 variable[16] = variable[9] /*nodearraylist4*/;
18548 variable[17] = TAG_Bool(( variable[16] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[16] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
18549 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction216___action, LOCATE_parser, 11339); nit_exit(1);}
18550 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
18551 variable[17] = variable[18];
18552 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
18553 variable[18] = variable[19];
18554 variable[19] = variable[8] /*nodearraylist5*/;
18555 variable[20] = TAG_Bool(( variable[19] /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable[19] /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
18556 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction216___action, LOCATE_parser, 11343); nit_exit(1);}
18557 variable[20] = variable[7] /*nodearraylist6*/;
18558 variable[21] = TAG_Bool(( variable[20] /*listnode10*/==NIT_NULL) || VAL_ISA( variable[20] /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
18559 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction216___action, LOCATE_parser, 11345); nit_exit(1);}
18560 variable[21] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[20] /*listnode10*/ == NIT_NULL /*null*/) || (( variable[20] /*listnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[20] /*listnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode10*/,COLOR_kernel___Object_____eqeq))( variable[20] /*listnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
18561 if (UNTAG_Bool(variable[21])) { /*if*/
18562 variable[21] = ((array___AbstractArray___is_empty_t)CALL( variable[18] /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable[18] /*listnode11*/) /*AbstractArray::is_empty*/;
18563 if (UNTAG_Bool(variable[21])) { /*if*/
18564 variable[18] = variable[20] /*listnode10*/ /*listnode11=*/;
18565 } else { /*if*/
18566 ((abstract_collection___IndexedCollection___append_t)CALL( variable[18] /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable[18] /*listnode11*/, variable[20] /*listnode10*/) /*IndexedCollection::append*/;
18567 }
18568 }
18569 variable[22] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[17] /*listnode8*/, variable[19] /*ptypenode9*/, variable[18] /*listnode11*/); /*new ASignature*/
18570 variable[21] = variable[22];
18571 variable[22] = variable[4] /*nodearraylist9*/;
18572 variable[23] = TAG_Bool(( variable[22] /*tstringnode12*/==NIT_NULL) || VAL_ISA( variable[22] /*tstringnode12*/, COLOR_TString, ID_TString)) /*cast TString*/;
18573 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction216___action, LOCATE_parser, 11359); nit_exit(1);}
18574 variable[24] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[13] /*pdocnode2*/, NIT_NULL /*null*/, variable[14] /*pvisibilitynode4*/, variable[15] /*tkwmethnode5*/, variable[16] /*pmethidnode6*/, variable[21] /*psignaturenode7*/, variable[22] /*tstringnode12*/); /*new AExternMethPropdef*/
18575 variable[23] = variable[24];
18576 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
18577 variable[24] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
18578 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
18579 return_label464: while(false);
18580 tracehead = trace.prev;
18581 return;
18582 }
18583 void parser___ReduceAction216___init(val_t self, int* init_table) {
18584 struct trace_t trace = {NULL, NULL, 11372, LOCATE_parser___ReduceAction216___init};
18585 val_t variable[2];
18586 void **closurevariable = NULL;
18587 trace.prev = tracehead; tracehead = &trace;
18588 trace.file = LOCATE_parser;
18589 variable[0] = self;
18590 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction216].i]) return;
18591 return_label465: while(false);
18592 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction216].i] = 1;
18593 tracehead = trace.prev;
18594 return;
18595 }
18596 void parser___ReduceAction217___action(val_t self, val_t param0) {
18597 struct trace_t trace = {NULL, NULL, 11376, LOCATE_parser___ReduceAction217___action};
18598 val_t variable[27];
18599 void **closurevariable = NULL;
18600 trace.prev = tracehead; tracehead = &trace;
18601 trace.file = LOCATE_parser;
18602 variable[0] = self;
18603 variable[1] = param0;
18604 variable[3] = NIT_NULL /*null*/;
18605 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18606 variable[4] = variable[5];
18607 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18608 variable[5] = variable[6];
18609 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18610 variable[6] = variable[7];
18611 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18612 variable[7] = variable[8];
18613 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18614 variable[8] = variable[9];
18615 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18616 variable[9] = variable[10];
18617 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18618 variable[10] = variable[11];
18619 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18620 variable[11] = variable[12];
18621 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18622 variable[12] = variable[13];
18623 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18624 variable[13] = variable[14];
18625 variable[14] = variable[13] /*nodearraylist1*/;
18626 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
18627 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction217___action, LOCATE_parser, 11390); nit_exit(1);}
18628 variable[15] = variable[12] /*nodearraylist2*/;
18629 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
18630 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction217___action, LOCATE_parser, 11392); nit_exit(1);}
18631 variable[16] = variable[11] /*nodearraylist3*/;
18632 variable[17] = TAG_Bool(( variable[16] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
18633 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction217___action, LOCATE_parser, 11394); nit_exit(1);}
18634 variable[17] = variable[10] /*nodearraylist4*/;
18635 variable[18] = TAG_Bool(( variable[17] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[17] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
18636 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction217___action, LOCATE_parser, 11396); nit_exit(1);}
18637 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
18638 variable[18] = variable[19];
18639 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
18640 variable[19] = variable[20];
18641 variable[20] = variable[9] /*nodearraylist5*/;
18642 variable[21] = TAG_Bool(( variable[20] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[20] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
18643 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction217___action, LOCATE_parser, 11400); nit_exit(1);}
18644 variable[21] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[20] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[20] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[20] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[20] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
18645 if (UNTAG_Bool(variable[21])) { /*if*/
18646 variable[21] = ((array___AbstractArray___is_empty_t)CALL( variable[18] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[18] /*listnode9*/) /*AbstractArray::is_empty*/;
18647 if (UNTAG_Bool(variable[21])) { /*if*/
18648 variable[18] = variable[20] /*listnode8*/ /*listnode9=*/;
18649 } else { /*if*/
18650 ((abstract_collection___IndexedCollection___append_t)CALL( variable[18] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[18] /*listnode9*/, variable[20] /*listnode8*/) /*IndexedCollection::append*/;
18651 }
18652 }
18653 variable[21] = variable[8] /*nodearraylist6*/;
18654 variable[22] = TAG_Bool(( variable[21] /*ptypenode10*/==NIT_NULL) || VAL_ISA( variable[21] /*ptypenode10*/, COLOR_PType, ID_PType)) /*cast PType*/;
18655 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction217___action, LOCATE_parser, 11409); nit_exit(1);}
18656 variable[22] = variable[7] /*nodearraylist7*/;
18657 variable[23] = TAG_Bool(( variable[22] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[22] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
18658 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction217___action, LOCATE_parser, 11411); nit_exit(1);}
18659 variable[23] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[22] /*listnode11*/ == NIT_NULL /*null*/) || (( variable[22] /*listnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[22] /*listnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[22] /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[22] /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable[22] /*listnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
18660 if (UNTAG_Bool(variable[23])) { /*if*/
18661 variable[23] = ((array___AbstractArray___is_empty_t)CALL( variable[19] /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable[19] /*listnode12*/) /*AbstractArray::is_empty*/;
18662 if (UNTAG_Bool(variable[23])) { /*if*/
18663 variable[19] = variable[22] /*listnode11*/ /*listnode12=*/;
18664 } else { /*if*/
18665 ((abstract_collection___IndexedCollection___append_t)CALL( variable[19] /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable[19] /*listnode12*/, variable[22] /*listnode11*/) /*IndexedCollection::append*/;
18666 }
18667 }
18668 variable[24] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[18] /*listnode9*/, variable[21] /*ptypenode10*/, variable[19] /*listnode12*/); /*new ASignature*/
18669 variable[23] = variable[24];
18670 variable[24] = variable[4] /*nodearraylist10*/;
18671 variable[25] = TAG_Bool(( variable[24] /*tstringnode13*/==NIT_NULL) || VAL_ISA( variable[24] /*tstringnode13*/, COLOR_TString, ID_TString)) /*cast TString*/;
18672 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction217___action, LOCATE_parser, 11425); nit_exit(1);}
18673 variable[26] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[14] /*pdocnode2*/, NIT_NULL /*null*/, variable[15] /*pvisibilitynode4*/, variable[16] /*tkwmethnode5*/, variable[17] /*pmethidnode6*/, variable[23] /*psignaturenode7*/, variable[24] /*tstringnode13*/); /*new AExternMethPropdef*/
18674 variable[25] = variable[26];
18675 variable[3] = variable[25] /*ppropdefnode1*/ /*node_list=*/;
18676 variable[26] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
18677 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[26], variable[3] /*node_list*/) /*Parser::push*/;
18678 return_label466: while(false);
18679 tracehead = trace.prev;
18680 return;
18681 }
18682 void parser___ReduceAction217___init(val_t self, int* init_table) {
18683 struct trace_t trace = {NULL, NULL, 11438, LOCATE_parser___ReduceAction217___init};
18684 val_t variable[2];
18685 void **closurevariable = NULL;
18686 trace.prev = tracehead; tracehead = &trace;
18687 trace.file = LOCATE_parser;
18688 variable[0] = self;
18689 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction217].i]) return;
18690 return_label467: while(false);
18691 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction217].i] = 1;
18692 tracehead = trace.prev;
18693 return;
18694 }
18695 void parser___ReduceAction218___action(val_t self, val_t param0) {
18696 struct trace_t trace = {NULL, NULL, 11442, LOCATE_parser___ReduceAction218___action};
18697 val_t variable[23];
18698 void **closurevariable = NULL;
18699 trace.prev = tracehead; tracehead = &trace;
18700 trace.file = LOCATE_parser;
18701 variable[0] = self;
18702 variable[1] = param0;
18703 variable[3] = NIT_NULL /*null*/;
18704 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18705 variable[4] = variable[5];
18706 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18707 variable[5] = variable[6];
18708 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18709 variable[6] = variable[7];
18710 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18711 variable[7] = variable[8];
18712 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18713 variable[8] = variable[9];
18714 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18715 variable[9] = variable[10];
18716 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18717 variable[10] = variable[11];
18718 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18719 variable[11] = variable[12];
18720 variable[12] = variable[11] /*nodearraylist1*/;
18721 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
18722 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction218___action, LOCATE_parser, 11454); nit_exit(1);}
18723 variable[13] = variable[10] /*nodearraylist2*/;
18724 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
18725 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction218___action, LOCATE_parser, 11456); nit_exit(1);}
18726 variable[14] = variable[9] /*nodearraylist3*/;
18727 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
18728 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction218___action, LOCATE_parser, 11458); nit_exit(1);}
18729 variable[15] = variable[8] /*nodearraylist4*/;
18730 variable[16] = TAG_Bool(( variable[15] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
18731 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction218___action, LOCATE_parser, 11460); nit_exit(1);}
18732 variable[16] = variable[7] /*nodearraylist5*/;
18733 variable[17] = TAG_Bool(( variable[16] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[16] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
18734 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction218___action, LOCATE_parser, 11462); nit_exit(1);}
18735 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
18736 variable[17] = variable[18];
18737 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
18738 variable[18] = variable[19];
18739 variable[20] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[17] /*listnode8*/, NIT_NULL /*null*/, variable[18] /*listnode10*/); /*new ASignature*/
18740 variable[19] = variable[20];
18741 variable[20] = variable[4] /*nodearraylist8*/;
18742 variable[21] = TAG_Bool(( variable[20] /*tstringnode11*/==NIT_NULL) || VAL_ISA( variable[20] /*tstringnode11*/, COLOR_TString, ID_TString)) /*cast TString*/;
18743 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction218___action, LOCATE_parser, 11471); nit_exit(1);}
18744 variable[22] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[12] /*pdocnode2*/, variable[13] /*tkwredefnode3*/, variable[14] /*pvisibilitynode4*/, variable[15] /*tkwmethnode5*/, variable[16] /*pmethidnode6*/, variable[19] /*psignaturenode7*/, variable[20] /*tstringnode11*/); /*new AExternMethPropdef*/
18745 variable[21] = variable[22];
18746 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
18747 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
18748 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
18749 return_label468: while(false);
18750 tracehead = trace.prev;
18751 return;
18752 }
18753 void parser___ReduceAction218___init(val_t self, int* init_table) {
18754 struct trace_t trace = {NULL, NULL, 11484, LOCATE_parser___ReduceAction218___init};
18755 val_t variable[2];
18756 void **closurevariable = NULL;
18757 trace.prev = tracehead; tracehead = &trace;
18758 trace.file = LOCATE_parser;
18759 variable[0] = self;
18760 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction218].i]) return;
18761 return_label469: while(false);
18762 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction218].i] = 1;
18763 tracehead = trace.prev;
18764 return;
18765 }
18766 void parser___ReduceAction219___action(val_t self, val_t param0) {
18767 struct trace_t trace = {NULL, NULL, 11488, LOCATE_parser___ReduceAction219___action};
18768 val_t variable[25];
18769 void **closurevariable = NULL;
18770 trace.prev = tracehead; tracehead = &trace;
18771 trace.file = LOCATE_parser;
18772 variable[0] = self;
18773 variable[1] = param0;
18774 variable[3] = NIT_NULL /*null*/;
18775 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18776 variable[4] = variable[5];
18777 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18778 variable[5] = variable[6];
18779 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18780 variable[6] = variable[7];
18781 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18782 variable[7] = variable[8];
18783 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18784 variable[8] = variable[9];
18785 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18786 variable[9] = variable[10];
18787 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18788 variable[10] = variable[11];
18789 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18790 variable[11] = variable[12];
18791 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18792 variable[12] = variable[13];
18793 variable[13] = variable[12] /*nodearraylist1*/;
18794 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
18795 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction219___action, LOCATE_parser, 11501); nit_exit(1);}
18796 variable[14] = variable[11] /*nodearraylist2*/;
18797 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
18798 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction219___action, LOCATE_parser, 11503); nit_exit(1);}
18799 variable[15] = variable[10] /*nodearraylist3*/;
18800 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
18801 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction219___action, LOCATE_parser, 11505); nit_exit(1);}
18802 variable[16] = variable[9] /*nodearraylist4*/;
18803 variable[17] = TAG_Bool(( variable[16] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
18804 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction219___action, LOCATE_parser, 11507); nit_exit(1);}
18805 variable[17] = variable[8] /*nodearraylist5*/;
18806 variable[18] = TAG_Bool(( variable[17] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[17] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
18807 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction219___action, LOCATE_parser, 11509); nit_exit(1);}
18808 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
18809 variable[18] = variable[19];
18810 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
18811 variable[19] = variable[20];
18812 variable[20] = variable[7] /*nodearraylist6*/;
18813 variable[21] = TAG_Bool(( variable[20] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[20] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
18814 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction219___action, LOCATE_parser, 11513); nit_exit(1);}
18815 variable[21] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[20] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[20] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[20] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[20] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
18816 if (UNTAG_Bool(variable[21])) { /*if*/
18817 variable[21] = ((array___AbstractArray___is_empty_t)CALL( variable[18] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[18] /*listnode9*/) /*AbstractArray::is_empty*/;
18818 if (UNTAG_Bool(variable[21])) { /*if*/
18819 variable[18] = variable[20] /*listnode8*/ /*listnode9=*/;
18820 } else { /*if*/
18821 ((abstract_collection___IndexedCollection___append_t)CALL( variable[18] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[18] /*listnode9*/, variable[20] /*listnode8*/) /*IndexedCollection::append*/;
18822 }
18823 }
18824 variable[22] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[18] /*listnode9*/, NIT_NULL /*null*/, variable[19] /*listnode11*/); /*new ASignature*/
18825 variable[21] = variable[22];
18826 variable[22] = variable[4] /*nodearraylist9*/;
18827 variable[23] = TAG_Bool(( variable[22] /*tstringnode12*/==NIT_NULL) || VAL_ISA( variable[22] /*tstringnode12*/, COLOR_TString, ID_TString)) /*cast TString*/;
18828 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction219___action, LOCATE_parser, 11527); nit_exit(1);}
18829 variable[24] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[13] /*pdocnode2*/, variable[14] /*tkwredefnode3*/, variable[15] /*pvisibilitynode4*/, variable[16] /*tkwmethnode5*/, variable[17] /*pmethidnode6*/, variable[21] /*psignaturenode7*/, variable[22] /*tstringnode12*/); /*new AExternMethPropdef*/
18830 variable[23] = variable[24];
18831 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
18832 variable[24] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
18833 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
18834 return_label470: while(false);
18835 tracehead = trace.prev;
18836 return;
18837 }
18838 void parser___ReduceAction219___init(val_t self, int* init_table) {
18839 struct trace_t trace = {NULL, NULL, 11540, LOCATE_parser___ReduceAction219___init};
18840 val_t variable[2];
18841 void **closurevariable = NULL;
18842 trace.prev = tracehead; tracehead = &trace;
18843 trace.file = LOCATE_parser;
18844 variable[0] = self;
18845 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction219].i]) return;
18846 return_label471: while(false);
18847 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction219].i] = 1;
18848 tracehead = trace.prev;
18849 return;
18850 }
18851 void parser___ReduceAction220___action(val_t self, val_t param0) {
18852 struct trace_t trace = {NULL, NULL, 11544, LOCATE_parser___ReduceAction220___action};
18853 val_t variable[25];
18854 void **closurevariable = NULL;
18855 trace.prev = tracehead; tracehead = &trace;
18856 trace.file = LOCATE_parser;
18857 variable[0] = self;
18858 variable[1] = param0;
18859 variable[3] = NIT_NULL /*null*/;
18860 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18861 variable[4] = variable[5];
18862 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18863 variable[5] = variable[6];
18864 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18865 variable[6] = variable[7];
18866 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18867 variable[7] = variable[8];
18868 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18869 variable[8] = variable[9];
18870 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18871 variable[9] = variable[10];
18872 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18873 variable[10] = variable[11];
18874 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18875 variable[11] = variable[12];
18876 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18877 variable[12] = variable[13];
18878 variable[13] = variable[12] /*nodearraylist1*/;
18879 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
18880 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction220___action, LOCATE_parser, 11557); nit_exit(1);}
18881 variable[14] = variable[11] /*nodearraylist2*/;
18882 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
18883 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction220___action, LOCATE_parser, 11559); nit_exit(1);}
18884 variable[15] = variable[10] /*nodearraylist3*/;
18885 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
18886 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction220___action, LOCATE_parser, 11561); nit_exit(1);}
18887 variable[16] = variable[9] /*nodearraylist4*/;
18888 variable[17] = TAG_Bool(( variable[16] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
18889 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction220___action, LOCATE_parser, 11563); nit_exit(1);}
18890 variable[17] = variable[8] /*nodearraylist5*/;
18891 variable[18] = TAG_Bool(( variable[17] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[17] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
18892 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction220___action, LOCATE_parser, 11565); nit_exit(1);}
18893 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
18894 variable[18] = variable[19];
18895 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
18896 variable[19] = variable[20];
18897 variable[20] = variable[7] /*nodearraylist6*/;
18898 variable[21] = TAG_Bool(( variable[20] /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable[20] /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
18899 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction220___action, LOCATE_parser, 11569); nit_exit(1);}
18900 variable[22] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[18] /*listnode8*/, variable[20] /*ptypenode9*/, variable[19] /*listnode10*/); /*new ASignature*/
18901 variable[21] = variable[22];
18902 variable[22] = variable[4] /*nodearraylist9*/;
18903 variable[23] = TAG_Bool(( variable[22] /*tstringnode11*/==NIT_NULL) || VAL_ISA( variable[22] /*tstringnode11*/, COLOR_TString, ID_TString)) /*cast TString*/;
18904 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction220___action, LOCATE_parser, 11576); nit_exit(1);}
18905 variable[24] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[13] /*pdocnode2*/, variable[14] /*tkwredefnode3*/, variable[15] /*pvisibilitynode4*/, variable[16] /*tkwmethnode5*/, variable[17] /*pmethidnode6*/, variable[21] /*psignaturenode7*/, variable[22] /*tstringnode11*/); /*new AExternMethPropdef*/
18906 variable[23] = variable[24];
18907 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
18908 variable[24] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
18909 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
18910 return_label472: while(false);
18911 tracehead = trace.prev;
18912 return;
18913 }
18914 void parser___ReduceAction220___init(val_t self, int* init_table) {
18915 struct trace_t trace = {NULL, NULL, 11589, LOCATE_parser___ReduceAction220___init};
18916 val_t variable[2];
18917 void **closurevariable = NULL;
18918 trace.prev = tracehead; tracehead = &trace;
18919 trace.file = LOCATE_parser;
18920 variable[0] = self;
18921 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction220].i]) return;
18922 return_label473: while(false);
18923 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction220].i] = 1;
18924 tracehead = trace.prev;
18925 return;
18926 }
18927 void parser___ReduceAction221___action(val_t self, val_t param0) {
18928 struct trace_t trace = {NULL, NULL, 11593, LOCATE_parser___ReduceAction221___action};
18929 val_t variable[27];
18930 void **closurevariable = NULL;
18931 trace.prev = tracehead; tracehead = &trace;
18932 trace.file = LOCATE_parser;
18933 variable[0] = self;
18934 variable[1] = param0;
18935 variable[3] = NIT_NULL /*null*/;
18936 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18937 variable[4] = variable[5];
18938 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18939 variable[5] = variable[6];
18940 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18941 variable[6] = variable[7];
18942 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18943 variable[7] = variable[8];
18944 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18945 variable[8] = variable[9];
18946 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18947 variable[9] = variable[10];
18948 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18949 variable[10] = variable[11];
18950 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18951 variable[11] = variable[12];
18952 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18953 variable[12] = variable[13];
18954 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
18955 variable[13] = variable[14];
18956 variable[14] = variable[13] /*nodearraylist1*/;
18957 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
18958 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction221___action, LOCATE_parser, 11607); nit_exit(1);}
18959 variable[15] = variable[12] /*nodearraylist2*/;
18960 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
18961 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction221___action, LOCATE_parser, 11609); nit_exit(1);}
18962 variable[16] = variable[11] /*nodearraylist3*/;
18963 variable[17] = TAG_Bool(( variable[16] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[16] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
18964 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction221___action, LOCATE_parser, 11611); nit_exit(1);}
18965 variable[17] = variable[10] /*nodearraylist4*/;
18966 variable[18] = TAG_Bool(( variable[17] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
18967 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction221___action, LOCATE_parser, 11613); nit_exit(1);}
18968 variable[18] = variable[9] /*nodearraylist5*/;
18969 variable[19] = TAG_Bool(( variable[18] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[18] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
18970 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction221___action, LOCATE_parser, 11615); nit_exit(1);}
18971 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
18972 variable[19] = variable[20];
18973 variable[21] = NEW_Array_array___Array___init(); /*new Array[Object]*/
18974 variable[20] = variable[21];
18975 variable[21] = variable[8] /*nodearraylist6*/;
18976 variable[22] = TAG_Bool(( variable[21] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[21] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
18977 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction221___action, LOCATE_parser, 11619); nit_exit(1);}
18978 variable[22] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[21] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[21] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[21] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[21] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
18979 if (UNTAG_Bool(variable[22])) { /*if*/
18980 variable[22] = ((array___AbstractArray___is_empty_t)CALL( variable[19] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[19] /*listnode9*/) /*AbstractArray::is_empty*/;
18981 if (UNTAG_Bool(variable[22])) { /*if*/
18982 variable[19] = variable[21] /*listnode8*/ /*listnode9=*/;
18983 } else { /*if*/
18984 ((abstract_collection___IndexedCollection___append_t)CALL( variable[19] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[19] /*listnode9*/, variable[21] /*listnode8*/) /*IndexedCollection::append*/;
18985 }
18986 }
18987 variable[22] = variable[7] /*nodearraylist7*/;
18988 variable[23] = TAG_Bool(( variable[22] /*ptypenode10*/==NIT_NULL) || VAL_ISA( variable[22] /*ptypenode10*/, COLOR_PType, ID_PType)) /*cast PType*/;
18989 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction221___action, LOCATE_parser, 11628); nit_exit(1);}
18990 variable[24] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[19] /*listnode9*/, variable[22] /*ptypenode10*/, variable[20] /*listnode11*/); /*new ASignature*/
18991 variable[23] = variable[24];
18992 variable[24] = variable[4] /*nodearraylist10*/;
18993 variable[25] = TAG_Bool(( variable[24] /*tstringnode12*/==NIT_NULL) || VAL_ISA( variable[24] /*tstringnode12*/, COLOR_TString, ID_TString)) /*cast TString*/;
18994 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction221___action, LOCATE_parser, 11635); nit_exit(1);}
18995 variable[26] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[14] /*pdocnode2*/, variable[15] /*tkwredefnode3*/, variable[16] /*pvisibilitynode4*/, variable[17] /*tkwmethnode5*/, variable[18] /*pmethidnode6*/, variable[23] /*psignaturenode7*/, variable[24] /*tstringnode12*/); /*new AExternMethPropdef*/
18996 variable[25] = variable[26];
18997 variable[3] = variable[25] /*ppropdefnode1*/ /*node_list=*/;
18998 variable[26] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
18999 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[26], variable[3] /*node_list*/) /*Parser::push*/;
19000 return_label474: while(false);
19001 tracehead = trace.prev;
19002 return;
19003 }
19004 void parser___ReduceAction221___init(val_t self, int* init_table) {
19005 struct trace_t trace = {NULL, NULL, 11648, LOCATE_parser___ReduceAction221___init};
19006 val_t variable[2];
19007 void **closurevariable = NULL;
19008 trace.prev = tracehead; tracehead = &trace;
19009 trace.file = LOCATE_parser;
19010 variable[0] = self;
19011 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction221].i]) return;
19012 return_label475: while(false);
19013 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction221].i] = 1;
19014 tracehead = trace.prev;
19015 return;
19016 }
19017 void parser___ReduceAction222___action(val_t self, val_t param0) {
19018 struct trace_t trace = {NULL, NULL, 11652, LOCATE_parser___ReduceAction222___action};
19019 val_t variable[25];
19020 void **closurevariable = NULL;
19021 trace.prev = tracehead; tracehead = &trace;
19022 trace.file = LOCATE_parser;
19023 variable[0] = self;
19024 variable[1] = param0;
19025 variable[3] = NIT_NULL /*null*/;
19026 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19027 variable[4] = variable[5];
19028 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19029 variable[5] = variable[6];
19030 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19031 variable[6] = variable[7];
19032 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19033 variable[7] = variable[8];
19034 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19035 variable[8] = variable[9];
19036 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19037 variable[9] = variable[10];
19038 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19039 variable[10] = variable[11];
19040 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19041 variable[11] = variable[12];
19042 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19043 variable[12] = variable[13];
19044 variable[13] = variable[12] /*nodearraylist1*/;
19045 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
19046 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction222___action, LOCATE_parser, 11665); nit_exit(1);}
19047 variable[14] = variable[11] /*nodearraylist2*/;
19048 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
19049 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction222___action, LOCATE_parser, 11667); nit_exit(1);}
19050 variable[15] = variable[10] /*nodearraylist3*/;
19051 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
19052 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction222___action, LOCATE_parser, 11669); nit_exit(1);}
19053 variable[16] = variable[9] /*nodearraylist4*/;
19054 variable[17] = TAG_Bool(( variable[16] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
19055 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction222___action, LOCATE_parser, 11671); nit_exit(1);}
19056 variable[17] = variable[8] /*nodearraylist5*/;
19057 variable[18] = TAG_Bool(( variable[17] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[17] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
19058 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction222___action, LOCATE_parser, 11673); nit_exit(1);}
19059 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
19060 variable[18] = variable[19];
19061 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
19062 variable[19] = variable[20];
19063 variable[20] = variable[7] /*nodearraylist6*/;
19064 variable[21] = TAG_Bool(( variable[20] /*listnode10*/==NIT_NULL) || VAL_ISA( variable[20] /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
19065 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction222___action, LOCATE_parser, 11677); nit_exit(1);}
19066 variable[21] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[20] /*listnode10*/ == NIT_NULL /*null*/) || (( variable[20] /*listnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[20] /*listnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode10*/,COLOR_kernel___Object_____eqeq))( variable[20] /*listnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19067 if (UNTAG_Bool(variable[21])) { /*if*/
19068 variable[21] = ((array___AbstractArray___is_empty_t)CALL( variable[19] /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable[19] /*listnode11*/) /*AbstractArray::is_empty*/;
19069 if (UNTAG_Bool(variable[21])) { /*if*/
19070 variable[19] = variable[20] /*listnode10*/ /*listnode11=*/;
19071 } else { /*if*/
19072 ((abstract_collection___IndexedCollection___append_t)CALL( variable[19] /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable[19] /*listnode11*/, variable[20] /*listnode10*/) /*IndexedCollection::append*/;
19073 }
19074 }
19075 variable[22] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[18] /*listnode8*/, NIT_NULL /*null*/, variable[19] /*listnode11*/); /*new ASignature*/
19076 variable[21] = variable[22];
19077 variable[22] = variable[4] /*nodearraylist9*/;
19078 variable[23] = TAG_Bool(( variable[22] /*tstringnode12*/==NIT_NULL) || VAL_ISA( variable[22] /*tstringnode12*/, COLOR_TString, ID_TString)) /*cast TString*/;
19079 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction222___action, LOCATE_parser, 11691); nit_exit(1);}
19080 variable[24] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[13] /*pdocnode2*/, variable[14] /*tkwredefnode3*/, variable[15] /*pvisibilitynode4*/, variable[16] /*tkwmethnode5*/, variable[17] /*pmethidnode6*/, variable[21] /*psignaturenode7*/, variable[22] /*tstringnode12*/); /*new AExternMethPropdef*/
19081 variable[23] = variable[24];
19082 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
19083 variable[24] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
19084 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
19085 return_label476: while(false);
19086 tracehead = trace.prev;
19087 return;
19088 }
19089 void parser___ReduceAction222___init(val_t self, int* init_table) {
19090 struct trace_t trace = {NULL, NULL, 11704, LOCATE_parser___ReduceAction222___init};
19091 val_t variable[2];
19092 void **closurevariable = NULL;
19093 trace.prev = tracehead; tracehead = &trace;
19094 trace.file = LOCATE_parser;
19095 variable[0] = self;
19096 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction222].i]) return;
19097 return_label477: while(false);
19098 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction222].i] = 1;
19099 tracehead = trace.prev;
19100 return;
19101 }
19102 void parser___ReduceAction223___action(val_t self, val_t param0) {
19103 struct trace_t trace = {NULL, NULL, 11708, LOCATE_parser___ReduceAction223___action};
19104 val_t variable[27];
19105 void **closurevariable = NULL;
19106 trace.prev = tracehead; tracehead = &trace;
19107 trace.file = LOCATE_parser;
19108 variable[0] = self;
19109 variable[1] = param0;
19110 variable[3] = NIT_NULL /*null*/;
19111 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19112 variable[4] = variable[5];
19113 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19114 variable[5] = variable[6];
19115 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19116 variable[6] = variable[7];
19117 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19118 variable[7] = variable[8];
19119 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19120 variable[8] = variable[9];
19121 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19122 variable[9] = variable[10];
19123 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19124 variable[10] = variable[11];
19125 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19126 variable[11] = variable[12];
19127 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19128 variable[12] = variable[13];
19129 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19130 variable[13] = variable[14];
19131 variable[14] = variable[13] /*nodearraylist1*/;
19132 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
19133 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction223___action, LOCATE_parser, 11722); nit_exit(1);}
19134 variable[15] = variable[12] /*nodearraylist2*/;
19135 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
19136 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction223___action, LOCATE_parser, 11724); nit_exit(1);}
19137 variable[16] = variable[11] /*nodearraylist3*/;
19138 variable[17] = TAG_Bool(( variable[16] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[16] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
19139 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction223___action, LOCATE_parser, 11726); nit_exit(1);}
19140 variable[17] = variable[10] /*nodearraylist4*/;
19141 variable[18] = TAG_Bool(( variable[17] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
19142 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction223___action, LOCATE_parser, 11728); nit_exit(1);}
19143 variable[18] = variable[9] /*nodearraylist5*/;
19144 variable[19] = TAG_Bool(( variable[18] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[18] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
19145 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction223___action, LOCATE_parser, 11730); nit_exit(1);}
19146 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
19147 variable[19] = variable[20];
19148 variable[21] = NEW_Array_array___Array___init(); /*new Array[Object]*/
19149 variable[20] = variable[21];
19150 variable[21] = variable[8] /*nodearraylist6*/;
19151 variable[22] = TAG_Bool(( variable[21] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[21] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
19152 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction223___action, LOCATE_parser, 11734); nit_exit(1);}
19153 variable[22] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[21] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[21] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[21] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[21] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19154 if (UNTAG_Bool(variable[22])) { /*if*/
19155 variable[22] = ((array___AbstractArray___is_empty_t)CALL( variable[19] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[19] /*listnode9*/) /*AbstractArray::is_empty*/;
19156 if (UNTAG_Bool(variable[22])) { /*if*/
19157 variable[19] = variable[21] /*listnode8*/ /*listnode9=*/;
19158 } else { /*if*/
19159 ((abstract_collection___IndexedCollection___append_t)CALL( variable[19] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[19] /*listnode9*/, variable[21] /*listnode8*/) /*IndexedCollection::append*/;
19160 }
19161 }
19162 variable[22] = variable[7] /*nodearraylist7*/;
19163 variable[23] = TAG_Bool(( variable[22] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[22] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
19164 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction223___action, LOCATE_parser, 11743); nit_exit(1);}
19165 variable[23] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[22] /*listnode11*/ == NIT_NULL /*null*/) || (( variable[22] /*listnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[22] /*listnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[22] /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[22] /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable[22] /*listnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19166 if (UNTAG_Bool(variable[23])) { /*if*/
19167 variable[23] = ((array___AbstractArray___is_empty_t)CALL( variable[20] /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable[20] /*listnode12*/) /*AbstractArray::is_empty*/;
19168 if (UNTAG_Bool(variable[23])) { /*if*/
19169 variable[20] = variable[22] /*listnode11*/ /*listnode12=*/;
19170 } else { /*if*/
19171 ((abstract_collection___IndexedCollection___append_t)CALL( variable[20] /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable[20] /*listnode12*/, variable[22] /*listnode11*/) /*IndexedCollection::append*/;
19172 }
19173 }
19174 variable[24] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[19] /*listnode9*/, NIT_NULL /*null*/, variable[20] /*listnode12*/); /*new ASignature*/
19175 variable[23] = variable[24];
19176 variable[24] = variable[4] /*nodearraylist10*/;
19177 variable[25] = TAG_Bool(( variable[24] /*tstringnode13*/==NIT_NULL) || VAL_ISA( variable[24] /*tstringnode13*/, COLOR_TString, ID_TString)) /*cast TString*/;
19178 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction223___action, LOCATE_parser, 11757); nit_exit(1);}
19179 variable[26] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[14] /*pdocnode2*/, variable[15] /*tkwredefnode3*/, variable[16] /*pvisibilitynode4*/, variable[17] /*tkwmethnode5*/, variable[18] /*pmethidnode6*/, variable[23] /*psignaturenode7*/, variable[24] /*tstringnode13*/); /*new AExternMethPropdef*/
19180 variable[25] = variable[26];
19181 variable[3] = variable[25] /*ppropdefnode1*/ /*node_list=*/;
19182 variable[26] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
19183 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[26], variable[3] /*node_list*/) /*Parser::push*/;
19184 return_label478: while(false);
19185 tracehead = trace.prev;
19186 return;
19187 }
19188 void parser___ReduceAction223___init(val_t self, int* init_table) {
19189 struct trace_t trace = {NULL, NULL, 11770, LOCATE_parser___ReduceAction223___init};
19190 val_t variable[2];
19191 void **closurevariable = NULL;
19192 trace.prev = tracehead; tracehead = &trace;
19193 trace.file = LOCATE_parser;
19194 variable[0] = self;
19195 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction223].i]) return;
19196 return_label479: while(false);
19197 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction223].i] = 1;
19198 tracehead = trace.prev;
19199 return;
19200 }
19201 void parser___ReduceAction224___action(val_t self, val_t param0) {
19202 struct trace_t trace = {NULL, NULL, 11774, LOCATE_parser___ReduceAction224___action};
19203 val_t variable[27];
19204 void **closurevariable = NULL;
19205 trace.prev = tracehead; tracehead = &trace;
19206 trace.file = LOCATE_parser;
19207 variable[0] = self;
19208 variable[1] = param0;
19209 variable[3] = NIT_NULL /*null*/;
19210 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19211 variable[4] = variable[5];
19212 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19213 variable[5] = variable[6];
19214 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19215 variable[6] = variable[7];
19216 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19217 variable[7] = variable[8];
19218 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19219 variable[8] = variable[9];
19220 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19221 variable[9] = variable[10];
19222 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19223 variable[10] = variable[11];
19224 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19225 variable[11] = variable[12];
19226 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19227 variable[12] = variable[13];
19228 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19229 variable[13] = variable[14];
19230 variable[14] = variable[13] /*nodearraylist1*/;
19231 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
19232 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction224___action, LOCATE_parser, 11788); nit_exit(1);}
19233 variable[15] = variable[12] /*nodearraylist2*/;
19234 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
19235 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction224___action, LOCATE_parser, 11790); nit_exit(1);}
19236 variable[16] = variable[11] /*nodearraylist3*/;
19237 variable[17] = TAG_Bool(( variable[16] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[16] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
19238 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction224___action, LOCATE_parser, 11792); nit_exit(1);}
19239 variable[17] = variable[10] /*nodearraylist4*/;
19240 variable[18] = TAG_Bool(( variable[17] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
19241 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction224___action, LOCATE_parser, 11794); nit_exit(1);}
19242 variable[18] = variable[9] /*nodearraylist5*/;
19243 variable[19] = TAG_Bool(( variable[18] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[18] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
19244 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction224___action, LOCATE_parser, 11796); nit_exit(1);}
19245 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
19246 variable[19] = variable[20];
19247 variable[21] = NEW_Array_array___Array___init(); /*new Array[Object]*/
19248 variable[20] = variable[21];
19249 variable[21] = variable[8] /*nodearraylist6*/;
19250 variable[22] = TAG_Bool(( variable[21] /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable[21] /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
19251 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction224___action, LOCATE_parser, 11800); nit_exit(1);}
19252 variable[22] = variable[7] /*nodearraylist7*/;
19253 variable[23] = TAG_Bool(( variable[22] /*listnode10*/==NIT_NULL) || VAL_ISA( variable[22] /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
19254 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction224___action, LOCATE_parser, 11802); nit_exit(1);}
19255 variable[23] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[22] /*listnode10*/ == NIT_NULL /*null*/) || (( variable[22] /*listnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[22] /*listnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[22] /*listnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[22] /*listnode10*/,COLOR_kernel___Object_____eqeq))( variable[22] /*listnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19256 if (UNTAG_Bool(variable[23])) { /*if*/
19257 variable[23] = ((array___AbstractArray___is_empty_t)CALL( variable[20] /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable[20] /*listnode11*/) /*AbstractArray::is_empty*/;
19258 if (UNTAG_Bool(variable[23])) { /*if*/
19259 variable[20] = variable[22] /*listnode10*/ /*listnode11=*/;
19260 } else { /*if*/
19261 ((abstract_collection___IndexedCollection___append_t)CALL( variable[20] /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable[20] /*listnode11*/, variable[22] /*listnode10*/) /*IndexedCollection::append*/;
19262 }
19263 }
19264 variable[24] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[19] /*listnode8*/, variable[21] /*ptypenode9*/, variable[20] /*listnode11*/); /*new ASignature*/
19265 variable[23] = variable[24];
19266 variable[24] = variable[4] /*nodearraylist10*/;
19267 variable[25] = TAG_Bool(( variable[24] /*tstringnode12*/==NIT_NULL) || VAL_ISA( variable[24] /*tstringnode12*/, COLOR_TString, ID_TString)) /*cast TString*/;
19268 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction224___action, LOCATE_parser, 11816); nit_exit(1);}
19269 variable[26] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[14] /*pdocnode2*/, variable[15] /*tkwredefnode3*/, variable[16] /*pvisibilitynode4*/, variable[17] /*tkwmethnode5*/, variable[18] /*pmethidnode6*/, variable[23] /*psignaturenode7*/, variable[24] /*tstringnode12*/); /*new AExternMethPropdef*/
19270 variable[25] = variable[26];
19271 variable[3] = variable[25] /*ppropdefnode1*/ /*node_list=*/;
19272 variable[26] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
19273 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[26], variable[3] /*node_list*/) /*Parser::push*/;
19274 return_label480: while(false);
19275 tracehead = trace.prev;
19276 return;
19277 }
19278 void parser___ReduceAction224___init(val_t self, int* init_table) {
19279 struct trace_t trace = {NULL, NULL, 11829, LOCATE_parser___ReduceAction224___init};
19280 val_t variable[2];
19281 void **closurevariable = NULL;
19282 trace.prev = tracehead; tracehead = &trace;
19283 trace.file = LOCATE_parser;
19284 variable[0] = self;
19285 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction224].i]) return;
19286 return_label481: while(false);
19287 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction224].i] = 1;
19288 tracehead = trace.prev;
19289 return;
19290 }
19291 void parser___ReduceAction225___action(val_t self, val_t param0) {
19292 struct trace_t trace = {NULL, NULL, 11833, LOCATE_parser___ReduceAction225___action};
19293 val_t variable[29];
19294 void **closurevariable = NULL;
19295 trace.prev = tracehead; tracehead = &trace;
19296 trace.file = LOCATE_parser;
19297 variable[0] = self;
19298 variable[1] = param0;
19299 variable[3] = NIT_NULL /*null*/;
19300 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19301 variable[4] = variable[5];
19302 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19303 variable[5] = variable[6];
19304 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19305 variable[6] = variable[7];
19306 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19307 variable[7] = variable[8];
19308 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19309 variable[8] = variable[9];
19310 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19311 variable[9] = variable[10];
19312 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19313 variable[10] = variable[11];
19314 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19315 variable[11] = variable[12];
19316 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19317 variable[12] = variable[13];
19318 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19319 variable[13] = variable[14];
19320 variable[15] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19321 variable[14] = variable[15];
19322 variable[15] = variable[14] /*nodearraylist1*/;
19323 variable[16] = TAG_Bool(( variable[15] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
19324 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction225___action, LOCATE_parser, 11848); nit_exit(1);}
19325 variable[16] = variable[13] /*nodearraylist2*/;
19326 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
19327 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction225___action, LOCATE_parser, 11850); nit_exit(1);}
19328 variable[17] = variable[12] /*nodearraylist3*/;
19329 variable[18] = TAG_Bool(( variable[17] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[17] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
19330 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction225___action, LOCATE_parser, 11852); nit_exit(1);}
19331 variable[18] = variable[11] /*nodearraylist4*/;
19332 variable[19] = TAG_Bool(( variable[18] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
19333 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction225___action, LOCATE_parser, 11854); nit_exit(1);}
19334 variable[19] = variable[10] /*nodearraylist5*/;
19335 variable[20] = TAG_Bool(( variable[19] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[19] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
19336 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction225___action, LOCATE_parser, 11856); nit_exit(1);}
19337 variable[21] = NEW_Array_array___Array___init(); /*new Array[Object]*/
19338 variable[20] = variable[21];
19339 variable[22] = NEW_Array_array___Array___init(); /*new Array[Object]*/
19340 variable[21] = variable[22];
19341 variable[22] = variable[9] /*nodearraylist6*/;
19342 variable[23] = TAG_Bool(( variable[22] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[22] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
19343 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction225___action, LOCATE_parser, 11860); nit_exit(1);}
19344 variable[23] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[22] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[22] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[22] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[22] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[22] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[22] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19345 if (UNTAG_Bool(variable[23])) { /*if*/
19346 variable[23] = ((array___AbstractArray___is_empty_t)CALL( variable[20] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[20] /*listnode9*/) /*AbstractArray::is_empty*/;
19347 if (UNTAG_Bool(variable[23])) { /*if*/
19348 variable[20] = variable[22] /*listnode8*/ /*listnode9=*/;
19349 } else { /*if*/
19350 ((abstract_collection___IndexedCollection___append_t)CALL( variable[20] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[20] /*listnode9*/, variable[22] /*listnode8*/) /*IndexedCollection::append*/;
19351 }
19352 }
19353 variable[23] = variable[8] /*nodearraylist7*/;
19354 variable[24] = TAG_Bool(( variable[23] /*ptypenode10*/==NIT_NULL) || VAL_ISA( variable[23] /*ptypenode10*/, COLOR_PType, ID_PType)) /*cast PType*/;
19355 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction225___action, LOCATE_parser, 11869); nit_exit(1);}
19356 variable[24] = variable[7] /*nodearraylist8*/;
19357 variable[25] = TAG_Bool(( variable[24] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[24] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
19358 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction225___action, LOCATE_parser, 11871); nit_exit(1);}
19359 variable[25] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[24] /*listnode11*/ == NIT_NULL /*null*/) || (( variable[24] /*listnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[24] /*listnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[24] /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[24] /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable[24] /*listnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19360 if (UNTAG_Bool(variable[25])) { /*if*/
19361 variable[25] = ((array___AbstractArray___is_empty_t)CALL( variable[21] /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable[21] /*listnode12*/) /*AbstractArray::is_empty*/;
19362 if (UNTAG_Bool(variable[25])) { /*if*/
19363 variable[21] = variable[24] /*listnode11*/ /*listnode12=*/;
19364 } else { /*if*/
19365 ((abstract_collection___IndexedCollection___append_t)CALL( variable[21] /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable[21] /*listnode12*/, variable[24] /*listnode11*/) /*IndexedCollection::append*/;
19366 }
19367 }
19368 variable[26] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[20] /*listnode9*/, variable[23] /*ptypenode10*/, variable[21] /*listnode12*/); /*new ASignature*/
19369 variable[25] = variable[26];
19370 variable[26] = variable[4] /*nodearraylist11*/;
19371 variable[27] = TAG_Bool(( variable[26] /*tstringnode13*/==NIT_NULL) || VAL_ISA( variable[26] /*tstringnode13*/, COLOR_TString, ID_TString)) /*cast TString*/;
19372 if (!UNTAG_Bool(variable[27])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction225___action, LOCATE_parser, 11885); nit_exit(1);}
19373 variable[28] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[15] /*pdocnode2*/, variable[16] /*tkwredefnode3*/, variable[17] /*pvisibilitynode4*/, variable[18] /*tkwmethnode5*/, variable[19] /*pmethidnode6*/, variable[25] /*psignaturenode7*/, variable[26] /*tstringnode13*/); /*new AExternMethPropdef*/
19374 variable[27] = variable[28];
19375 variable[3] = variable[27] /*ppropdefnode1*/ /*node_list=*/;
19376 variable[28] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
19377 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[28], variable[3] /*node_list*/) /*Parser::push*/;
19378 return_label482: while(false);
19379 tracehead = trace.prev;
19380 return;
19381 }
19382 void parser___ReduceAction225___init(val_t self, int* init_table) {
19383 struct trace_t trace = {NULL, NULL, 11898, LOCATE_parser___ReduceAction225___init};
19384 val_t variable[2];
19385 void **closurevariable = NULL;
19386 trace.prev = tracehead; tracehead = &trace;
19387 trace.file = LOCATE_parser;
19388 variable[0] = self;
19389 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction225].i]) return;
19390 return_label483: while(false);
19391 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction225].i] = 1;
19392 tracehead = trace.prev;
19393 return;
19394 }
19395 void parser___ReduceAction226___action(val_t self, val_t param0) {
19396 struct trace_t trace = {NULL, NULL, 11902, LOCATE_parser___ReduceAction226___action};
19397 val_t variable[21];
19398 void **closurevariable = NULL;
19399 trace.prev = tracehead; tracehead = &trace;
19400 trace.file = LOCATE_parser;
19401 variable[0] = self;
19402 variable[1] = param0;
19403 variable[3] = NIT_NULL /*null*/;
19404 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19405 variable[4] = variable[5];
19406 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19407 variable[5] = variable[6];
19408 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19409 variable[6] = variable[7];
19410 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19411 variable[7] = variable[8];
19412 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19413 variable[8] = variable[9];
19414 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19415 variable[9] = variable[10];
19416 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19417 variable[10] = variable[11];
19418 variable[11] = variable[10] /*nodearraylist1*/;
19419 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
19420 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction226___action, LOCATE_parser, 11913); nit_exit(1);}
19421 variable[12] = variable[9] /*nodearraylist2*/;
19422 variable[13] = TAG_Bool(( variable[12] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[12] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
19423 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction226___action, LOCATE_parser, 11915); nit_exit(1);}
19424 variable[13] = variable[8] /*nodearraylist3*/;
19425 variable[14] = TAG_Bool(( variable[13] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
19426 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction226___action, LOCATE_parser, 11917); nit_exit(1);}
19427 variable[14] = variable[7] /*nodearraylist4*/;
19428 variable[15] = TAG_Bool(( variable[14] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[14] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
19429 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction226___action, LOCATE_parser, 11919); nit_exit(1);}
19430 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
19431 variable[15] = variable[16];
19432 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
19433 variable[16] = variable[17];
19434 variable[18] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[15] /*listnode8*/, NIT_NULL /*null*/, variable[16] /*listnode10*/); /*new ASignature*/
19435 variable[17] = variable[18];
19436 variable[18] = variable[4] /*nodearraylist7*/;
19437 variable[19] = TAG_Bool(( variable[18] /*pexprnode11*/==NIT_NULL) || VAL_ISA( variable[18] /*pexprnode11*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
19438 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction226___action, LOCATE_parser, 11928); nit_exit(1);}
19439 variable[20] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable[11] /*pdocnode2*/, NIT_NULL /*null*/, variable[12] /*pvisibilitynode4*/, variable[13] /*tkwmethnode5*/, variable[14] /*pmethidnode6*/, variable[17] /*psignaturenode7*/, variable[18] /*pexprnode11*/); /*new AConcreteMethPropdef*/
19440 variable[19] = variable[20];
19441 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
19442 variable[20] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
19443 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
19444 return_label484: while(false);
19445 tracehead = trace.prev;
19446 return;
19447 }
19448 void parser___ReduceAction226___init(val_t self, int* init_table) {
19449 struct trace_t trace = {NULL, NULL, 11941, LOCATE_parser___ReduceAction226___init};
19450 val_t variable[2];
19451 void **closurevariable = NULL;
19452 trace.prev = tracehead; tracehead = &trace;
19453 trace.file = LOCATE_parser;
19454 variable[0] = self;
19455 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction226].i]) return;
19456 return_label485: while(false);
19457 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction226].i] = 1;
19458 tracehead = trace.prev;
19459 return;
19460 }
19461 void parser___ReduceAction227___action(val_t self, val_t param0) {
19462 struct trace_t trace = {NULL, NULL, 11945, LOCATE_parser___ReduceAction227___action};
19463 val_t variable[23];
19464 void **closurevariable = NULL;
19465 trace.prev = tracehead; tracehead = &trace;
19466 trace.file = LOCATE_parser;
19467 variable[0] = self;
19468 variable[1] = param0;
19469 variable[3] = NIT_NULL /*null*/;
19470 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19471 variable[4] = variable[5];
19472 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19473 variable[5] = variable[6];
19474 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19475 variable[6] = variable[7];
19476 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19477 variable[7] = variable[8];
19478 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19479 variable[8] = variable[9];
19480 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19481 variable[9] = variable[10];
19482 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19483 variable[10] = variable[11];
19484 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19485 variable[11] = variable[12];
19486 variable[12] = variable[11] /*nodearraylist1*/;
19487 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
19488 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction227___action, LOCATE_parser, 11957); nit_exit(1);}
19489 variable[13] = variable[10] /*nodearraylist2*/;
19490 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
19491 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction227___action, LOCATE_parser, 11959); nit_exit(1);}
19492 variable[14] = variable[9] /*nodearraylist3*/;
19493 variable[15] = TAG_Bool(( variable[14] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
19494 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction227___action, LOCATE_parser, 11961); nit_exit(1);}
19495 variable[15] = variable[8] /*nodearraylist4*/;
19496 variable[16] = TAG_Bool(( variable[15] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
19497 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction227___action, LOCATE_parser, 11963); nit_exit(1);}
19498 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
19499 variable[16] = variable[17];
19500 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
19501 variable[17] = variable[18];
19502 variable[18] = variable[7] /*nodearraylist5*/;
19503 variable[19] = TAG_Bool(( variable[18] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[18] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
19504 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction227___action, LOCATE_parser, 11967); nit_exit(1);}
19505 variable[19] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[18] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[18] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[18] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[18] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[18] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[18] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19506 if (UNTAG_Bool(variable[19])) { /*if*/
19507 variable[19] = ((array___AbstractArray___is_empty_t)CALL( variable[16] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[16] /*listnode9*/) /*AbstractArray::is_empty*/;
19508 if (UNTAG_Bool(variable[19])) { /*if*/
19509 variable[16] = variable[18] /*listnode8*/ /*listnode9=*/;
19510 } else { /*if*/
19511 ((abstract_collection___IndexedCollection___append_t)CALL( variable[16] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[16] /*listnode9*/, variable[18] /*listnode8*/) /*IndexedCollection::append*/;
19512 }
19513 }
19514 variable[20] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[16] /*listnode9*/, NIT_NULL /*null*/, variable[17] /*listnode11*/); /*new ASignature*/
19515 variable[19] = variable[20];
19516 variable[20] = variable[4] /*nodearraylist8*/;
19517 variable[21] = TAG_Bool(( variable[20] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[20] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
19518 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction227___action, LOCATE_parser, 11981); nit_exit(1);}
19519 variable[22] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable[12] /*pdocnode2*/, NIT_NULL /*null*/, variable[13] /*pvisibilitynode4*/, variable[14] /*tkwmethnode5*/, variable[15] /*pmethidnode6*/, variable[19] /*psignaturenode7*/, variable[20] /*pexprnode12*/); /*new AConcreteMethPropdef*/
19520 variable[21] = variable[22];
19521 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
19522 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
19523 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
19524 return_label486: while(false);
19525 tracehead = trace.prev;
19526 return;
19527 }
19528 void parser___ReduceAction227___init(val_t self, int* init_table) {
19529 struct trace_t trace = {NULL, NULL, 11994, LOCATE_parser___ReduceAction227___init};
19530 val_t variable[2];
19531 void **closurevariable = NULL;
19532 trace.prev = tracehead; tracehead = &trace;
19533 trace.file = LOCATE_parser;
19534 variable[0] = self;
19535 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction227].i]) return;
19536 return_label487: while(false);
19537 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction227].i] = 1;
19538 tracehead = trace.prev;
19539 return;
19540 }
19541 void parser___ReduceAction228___action(val_t self, val_t param0) {
19542 struct trace_t trace = {NULL, NULL, 11998, LOCATE_parser___ReduceAction228___action};
19543 val_t variable[23];
19544 void **closurevariable = NULL;
19545 trace.prev = tracehead; tracehead = &trace;
19546 trace.file = LOCATE_parser;
19547 variable[0] = self;
19548 variable[1] = param0;
19549 variable[3] = NIT_NULL /*null*/;
19550 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19551 variable[4] = variable[5];
19552 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19553 variable[5] = variable[6];
19554 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19555 variable[6] = variable[7];
19556 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19557 variable[7] = variable[8];
19558 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19559 variable[8] = variable[9];
19560 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19561 variable[9] = variable[10];
19562 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19563 variable[10] = variable[11];
19564 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19565 variable[11] = variable[12];
19566 variable[12] = variable[11] /*nodearraylist1*/;
19567 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
19568 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction228___action, LOCATE_parser, 12010); nit_exit(1);}
19569 variable[13] = variable[10] /*nodearraylist2*/;
19570 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
19571 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction228___action, LOCATE_parser, 12012); nit_exit(1);}
19572 variable[14] = variable[9] /*nodearraylist3*/;
19573 variable[15] = TAG_Bool(( variable[14] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
19574 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction228___action, LOCATE_parser, 12014); nit_exit(1);}
19575 variable[15] = variable[8] /*nodearraylist4*/;
19576 variable[16] = TAG_Bool(( variable[15] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
19577 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction228___action, LOCATE_parser, 12016); nit_exit(1);}
19578 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
19579 variable[16] = variable[17];
19580 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
19581 variable[17] = variable[18];
19582 variable[18] = variable[7] /*nodearraylist5*/;
19583 variable[19] = TAG_Bool(( variable[18] /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable[18] /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
19584 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction228___action, LOCATE_parser, 12020); nit_exit(1);}
19585 variable[20] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[16] /*listnode8*/, variable[18] /*ptypenode9*/, variable[17] /*listnode10*/); /*new ASignature*/
19586 variable[19] = variable[20];
19587 variable[20] = variable[4] /*nodearraylist8*/;
19588 variable[21] = TAG_Bool(( variable[20] /*pexprnode11*/==NIT_NULL) || VAL_ISA( variable[20] /*pexprnode11*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
19589 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction228___action, LOCATE_parser, 12027); nit_exit(1);}
19590 variable[22] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable[12] /*pdocnode2*/, NIT_NULL /*null*/, variable[13] /*pvisibilitynode4*/, variable[14] /*tkwmethnode5*/, variable[15] /*pmethidnode6*/, variable[19] /*psignaturenode7*/, variable[20] /*pexprnode11*/); /*new AConcreteMethPropdef*/
19591 variable[21] = variable[22];
19592 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
19593 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
19594 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
19595 return_label488: while(false);
19596 tracehead = trace.prev;
19597 return;
19598 }
19599 void parser___ReduceAction228___init(val_t self, int* init_table) {
19600 struct trace_t trace = {NULL, NULL, 12040, LOCATE_parser___ReduceAction228___init};
19601 val_t variable[2];
19602 void **closurevariable = NULL;
19603 trace.prev = tracehead; tracehead = &trace;
19604 trace.file = LOCATE_parser;
19605 variable[0] = self;
19606 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction228].i]) return;
19607 return_label489: while(false);
19608 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction228].i] = 1;
19609 tracehead = trace.prev;
19610 return;
19611 }
19612 void parser___ReduceAction229___action(val_t self, val_t param0) {
19613 struct trace_t trace = {NULL, NULL, 12044, LOCATE_parser___ReduceAction229___action};
19614 val_t variable[25];
19615 void **closurevariable = NULL;
19616 trace.prev = tracehead; tracehead = &trace;
19617 trace.file = LOCATE_parser;
19618 variable[0] = self;
19619 variable[1] = param0;
19620 variable[3] = NIT_NULL /*null*/;
19621 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19622 variable[4] = variable[5];
19623 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19624 variable[5] = variable[6];
19625 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19626 variable[6] = variable[7];
19627 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19628 variable[7] = variable[8];
19629 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19630 variable[8] = variable[9];
19631 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19632 variable[9] = variable[10];
19633 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19634 variable[10] = variable[11];
19635 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19636 variable[11] = variable[12];
19637 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19638 variable[12] = variable[13];
19639 variable[13] = variable[12] /*nodearraylist1*/;
19640 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
19641 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction229___action, LOCATE_parser, 12057); nit_exit(1);}
19642 variable[14] = variable[11] /*nodearraylist2*/;
19643 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
19644 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction229___action, LOCATE_parser, 12059); nit_exit(1);}
19645 variable[15] = variable[10] /*nodearraylist3*/;
19646 variable[16] = TAG_Bool(( variable[15] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
19647 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction229___action, LOCATE_parser, 12061); nit_exit(1);}
19648 variable[16] = variable[9] /*nodearraylist4*/;
19649 variable[17] = TAG_Bool(( variable[16] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[16] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
19650 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction229___action, LOCATE_parser, 12063); nit_exit(1);}
19651 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
19652 variable[17] = variable[18];
19653 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
19654 variable[18] = variable[19];
19655 variable[19] = variable[8] /*nodearraylist5*/;
19656 variable[20] = TAG_Bool(( variable[19] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[19] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
19657 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction229___action, LOCATE_parser, 12067); nit_exit(1);}
19658 variable[20] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[19] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[19] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[19] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[19] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19659 if (UNTAG_Bool(variable[20])) { /*if*/
19660 variable[20] = ((array___AbstractArray___is_empty_t)CALL( variable[17] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[17] /*listnode9*/) /*AbstractArray::is_empty*/;
19661 if (UNTAG_Bool(variable[20])) { /*if*/
19662 variable[17] = variable[19] /*listnode8*/ /*listnode9=*/;
19663 } else { /*if*/
19664 ((abstract_collection___IndexedCollection___append_t)CALL( variable[17] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[17] /*listnode9*/, variable[19] /*listnode8*/) /*IndexedCollection::append*/;
19665 }
19666 }
19667 variable[20] = variable[7] /*nodearraylist6*/;
19668 variable[21] = TAG_Bool(( variable[20] /*ptypenode10*/==NIT_NULL) || VAL_ISA( variable[20] /*ptypenode10*/, COLOR_PType, ID_PType)) /*cast PType*/;
19669 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction229___action, LOCATE_parser, 12076); nit_exit(1);}
19670 variable[22] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[17] /*listnode9*/, variable[20] /*ptypenode10*/, variable[18] /*listnode11*/); /*new ASignature*/
19671 variable[21] = variable[22];
19672 variable[22] = variable[4] /*nodearraylist9*/;
19673 variable[23] = TAG_Bool(( variable[22] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[22] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
19674 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction229___action, LOCATE_parser, 12083); nit_exit(1);}
19675 variable[24] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable[13] /*pdocnode2*/, NIT_NULL /*null*/, variable[14] /*pvisibilitynode4*/, variable[15] /*tkwmethnode5*/, variable[16] /*pmethidnode6*/, variable[21] /*psignaturenode7*/, variable[22] /*pexprnode12*/); /*new AConcreteMethPropdef*/
19676 variable[23] = variable[24];
19677 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
19678 variable[24] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
19679 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
19680 return_label490: while(false);
19681 tracehead = trace.prev;
19682 return;
19683 }
19684 void parser___ReduceAction229___init(val_t self, int* init_table) {
19685 struct trace_t trace = {NULL, NULL, 12096, LOCATE_parser___ReduceAction229___init};
19686 val_t variable[2];
19687 void **closurevariable = NULL;
19688 trace.prev = tracehead; tracehead = &trace;
19689 trace.file = LOCATE_parser;
19690 variable[0] = self;
19691 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction229].i]) return;
19692 return_label491: while(false);
19693 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction229].i] = 1;
19694 tracehead = trace.prev;
19695 return;
19696 }
19697 void parser___ReduceAction230___action(val_t self, val_t param0) {
19698 struct trace_t trace = {NULL, NULL, 12100, LOCATE_parser___ReduceAction230___action};
19699 val_t variable[23];
19700 void **closurevariable = NULL;
19701 trace.prev = tracehead; tracehead = &trace;
19702 trace.file = LOCATE_parser;
19703 variable[0] = self;
19704 variable[1] = param0;
19705 variable[3] = NIT_NULL /*null*/;
19706 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19707 variable[4] = variable[5];
19708 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19709 variable[5] = variable[6];
19710 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19711 variable[6] = variable[7];
19712 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19713 variable[7] = variable[8];
19714 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19715 variable[8] = variable[9];
19716 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19717 variable[9] = variable[10];
19718 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19719 variable[10] = variable[11];
19720 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19721 variable[11] = variable[12];
19722 variable[12] = variable[11] /*nodearraylist1*/;
19723 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
19724 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction230___action, LOCATE_parser, 12112); nit_exit(1);}
19725 variable[13] = variable[10] /*nodearraylist2*/;
19726 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
19727 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction230___action, LOCATE_parser, 12114); nit_exit(1);}
19728 variable[14] = variable[9] /*nodearraylist3*/;
19729 variable[15] = TAG_Bool(( variable[14] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
19730 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction230___action, LOCATE_parser, 12116); nit_exit(1);}
19731 variable[15] = variable[8] /*nodearraylist4*/;
19732 variable[16] = TAG_Bool(( variable[15] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
19733 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction230___action, LOCATE_parser, 12118); nit_exit(1);}
19734 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
19735 variable[16] = variable[17];
19736 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
19737 variable[17] = variable[18];
19738 variable[18] = variable[7] /*nodearraylist5*/;
19739 variable[19] = TAG_Bool(( variable[18] /*listnode10*/==NIT_NULL) || VAL_ISA( variable[18] /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
19740 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction230___action, LOCATE_parser, 12122); nit_exit(1);}
19741 variable[19] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[18] /*listnode10*/ == NIT_NULL /*null*/) || (( variable[18] /*listnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[18] /*listnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[18] /*listnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[18] /*listnode10*/,COLOR_kernel___Object_____eqeq))( variable[18] /*listnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19742 if (UNTAG_Bool(variable[19])) { /*if*/
19743 variable[19] = ((array___AbstractArray___is_empty_t)CALL( variable[17] /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable[17] /*listnode11*/) /*AbstractArray::is_empty*/;
19744 if (UNTAG_Bool(variable[19])) { /*if*/
19745 variable[17] = variable[18] /*listnode10*/ /*listnode11=*/;
19746 } else { /*if*/
19747 ((abstract_collection___IndexedCollection___append_t)CALL( variable[17] /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable[17] /*listnode11*/, variable[18] /*listnode10*/) /*IndexedCollection::append*/;
19748 }
19749 }
19750 variable[20] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[16] /*listnode8*/, NIT_NULL /*null*/, variable[17] /*listnode11*/); /*new ASignature*/
19751 variable[19] = variable[20];
19752 variable[20] = variable[4] /*nodearraylist8*/;
19753 variable[21] = TAG_Bool(( variable[20] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[20] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
19754 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction230___action, LOCATE_parser, 12136); nit_exit(1);}
19755 variable[22] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable[12] /*pdocnode2*/, NIT_NULL /*null*/, variable[13] /*pvisibilitynode4*/, variable[14] /*tkwmethnode5*/, variable[15] /*pmethidnode6*/, variable[19] /*psignaturenode7*/, variable[20] /*pexprnode12*/); /*new AConcreteMethPropdef*/
19756 variable[21] = variable[22];
19757 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
19758 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
19759 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
19760 return_label492: while(false);
19761 tracehead = trace.prev;
19762 return;
19763 }
19764 void parser___ReduceAction230___init(val_t self, int* init_table) {
19765 struct trace_t trace = {NULL, NULL, 12149, LOCATE_parser___ReduceAction230___init};
19766 val_t variable[2];
19767 void **closurevariable = NULL;
19768 trace.prev = tracehead; tracehead = &trace;
19769 trace.file = LOCATE_parser;
19770 variable[0] = self;
19771 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction230].i]) return;
19772 return_label493: while(false);
19773 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction230].i] = 1;
19774 tracehead = trace.prev;
19775 return;
19776 }
19777 void parser___ReduceAction231___action(val_t self, val_t param0) {
19778 struct trace_t trace = {NULL, NULL, 12153, LOCATE_parser___ReduceAction231___action};
19779 val_t variable[25];
19780 void **closurevariable = NULL;
19781 trace.prev = tracehead; tracehead = &trace;
19782 trace.file = LOCATE_parser;
19783 variable[0] = self;
19784 variable[1] = param0;
19785 variable[3] = NIT_NULL /*null*/;
19786 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19787 variable[4] = variable[5];
19788 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19789 variable[5] = variable[6];
19790 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19791 variable[6] = variable[7];
19792 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19793 variable[7] = variable[8];
19794 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19795 variable[8] = variable[9];
19796 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19797 variable[9] = variable[10];
19798 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19799 variable[10] = variable[11];
19800 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19801 variable[11] = variable[12];
19802 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19803 variable[12] = variable[13];
19804 variable[13] = variable[12] /*nodearraylist1*/;
19805 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
19806 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction231___action, LOCATE_parser, 12166); nit_exit(1);}
19807 variable[14] = variable[11] /*nodearraylist2*/;
19808 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
19809 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction231___action, LOCATE_parser, 12168); nit_exit(1);}
19810 variable[15] = variable[10] /*nodearraylist3*/;
19811 variable[16] = TAG_Bool(( variable[15] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
19812 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction231___action, LOCATE_parser, 12170); nit_exit(1);}
19813 variable[16] = variable[9] /*nodearraylist4*/;
19814 variable[17] = TAG_Bool(( variable[16] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[16] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
19815 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction231___action, LOCATE_parser, 12172); nit_exit(1);}
19816 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
19817 variable[17] = variable[18];
19818 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
19819 variable[18] = variable[19];
19820 variable[19] = variable[8] /*nodearraylist5*/;
19821 variable[20] = TAG_Bool(( variable[19] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[19] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
19822 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction231___action, LOCATE_parser, 12176); nit_exit(1);}
19823 variable[20] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[19] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[19] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[19] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[19] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19824 if (UNTAG_Bool(variable[20])) { /*if*/
19825 variable[20] = ((array___AbstractArray___is_empty_t)CALL( variable[17] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[17] /*listnode9*/) /*AbstractArray::is_empty*/;
19826 if (UNTAG_Bool(variable[20])) { /*if*/
19827 variable[17] = variable[19] /*listnode8*/ /*listnode9=*/;
19828 } else { /*if*/
19829 ((abstract_collection___IndexedCollection___append_t)CALL( variable[17] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[17] /*listnode9*/, variable[19] /*listnode8*/) /*IndexedCollection::append*/;
19830 }
19831 }
19832 variable[20] = variable[7] /*nodearraylist6*/;
19833 variable[21] = TAG_Bool(( variable[20] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[20] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
19834 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction231___action, LOCATE_parser, 12185); nit_exit(1);}
19835 variable[21] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[20] /*listnode11*/ == NIT_NULL /*null*/) || (( variable[20] /*listnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[20] /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable[20] /*listnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19836 if (UNTAG_Bool(variable[21])) { /*if*/
19837 variable[21] = ((array___AbstractArray___is_empty_t)CALL( variable[18] /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable[18] /*listnode12*/) /*AbstractArray::is_empty*/;
19838 if (UNTAG_Bool(variable[21])) { /*if*/
19839 variable[18] = variable[20] /*listnode11*/ /*listnode12=*/;
19840 } else { /*if*/
19841 ((abstract_collection___IndexedCollection___append_t)CALL( variable[18] /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable[18] /*listnode12*/, variable[20] /*listnode11*/) /*IndexedCollection::append*/;
19842 }
19843 }
19844 variable[22] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[17] /*listnode9*/, NIT_NULL /*null*/, variable[18] /*listnode12*/); /*new ASignature*/
19845 variable[21] = variable[22];
19846 variable[22] = variable[4] /*nodearraylist9*/;
19847 variable[23] = TAG_Bool(( variable[22] /*pexprnode13*/==NIT_NULL) || VAL_ISA( variable[22] /*pexprnode13*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
19848 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction231___action, LOCATE_parser, 12199); nit_exit(1);}
19849 variable[24] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable[13] /*pdocnode2*/, NIT_NULL /*null*/, variable[14] /*pvisibilitynode4*/, variable[15] /*tkwmethnode5*/, variable[16] /*pmethidnode6*/, variable[21] /*psignaturenode7*/, variable[22] /*pexprnode13*/); /*new AConcreteMethPropdef*/
19850 variable[23] = variable[24];
19851 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
19852 variable[24] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
19853 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
19854 return_label494: while(false);
19855 tracehead = trace.prev;
19856 return;
19857 }
19858 void parser___ReduceAction231___init(val_t self, int* init_table) {
19859 struct trace_t trace = {NULL, NULL, 12212, LOCATE_parser___ReduceAction231___init};
19860 val_t variable[2];
19861 void **closurevariable = NULL;
19862 trace.prev = tracehead; tracehead = &trace;
19863 trace.file = LOCATE_parser;
19864 variable[0] = self;
19865 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction231].i]) return;
19866 return_label495: while(false);
19867 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction231].i] = 1;
19868 tracehead = trace.prev;
19869 return;
19870 }
19871 void parser___ReduceAction232___action(val_t self, val_t param0) {
19872 struct trace_t trace = {NULL, NULL, 12216, LOCATE_parser___ReduceAction232___action};
19873 val_t variable[25];
19874 void **closurevariable = NULL;
19875 trace.prev = tracehead; tracehead = &trace;
19876 trace.file = LOCATE_parser;
19877 variable[0] = self;
19878 variable[1] = param0;
19879 variable[3] = NIT_NULL /*null*/;
19880 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19881 variable[4] = variable[5];
19882 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19883 variable[5] = variable[6];
19884 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19885 variable[6] = variable[7];
19886 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19887 variable[7] = variable[8];
19888 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19889 variable[8] = variable[9];
19890 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19891 variable[9] = variable[10];
19892 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19893 variable[10] = variable[11];
19894 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19895 variable[11] = variable[12];
19896 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19897 variable[12] = variable[13];
19898 variable[13] = variable[12] /*nodearraylist1*/;
19899 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
19900 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction232___action, LOCATE_parser, 12229); nit_exit(1);}
19901 variable[14] = variable[11] /*nodearraylist2*/;
19902 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
19903 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction232___action, LOCATE_parser, 12231); nit_exit(1);}
19904 variable[15] = variable[10] /*nodearraylist3*/;
19905 variable[16] = TAG_Bool(( variable[15] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
19906 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction232___action, LOCATE_parser, 12233); nit_exit(1);}
19907 variable[16] = variable[9] /*nodearraylist4*/;
19908 variable[17] = TAG_Bool(( variable[16] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[16] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
19909 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction232___action, LOCATE_parser, 12235); nit_exit(1);}
19910 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
19911 variable[17] = variable[18];
19912 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
19913 variable[18] = variable[19];
19914 variable[19] = variable[8] /*nodearraylist5*/;
19915 variable[20] = TAG_Bool(( variable[19] /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable[19] /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
19916 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction232___action, LOCATE_parser, 12239); nit_exit(1);}
19917 variable[20] = variable[7] /*nodearraylist6*/;
19918 variable[21] = TAG_Bool(( variable[20] /*listnode10*/==NIT_NULL) || VAL_ISA( variable[20] /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
19919 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction232___action, LOCATE_parser, 12241); nit_exit(1);}
19920 variable[21] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[20] /*listnode10*/ == NIT_NULL /*null*/) || (( variable[20] /*listnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[20] /*listnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode10*/,COLOR_kernel___Object_____eqeq))( variable[20] /*listnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
19921 if (UNTAG_Bool(variable[21])) { /*if*/
19922 variable[21] = ((array___AbstractArray___is_empty_t)CALL( variable[18] /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable[18] /*listnode11*/) /*AbstractArray::is_empty*/;
19923 if (UNTAG_Bool(variable[21])) { /*if*/
19924 variable[18] = variable[20] /*listnode10*/ /*listnode11=*/;
19925 } else { /*if*/
19926 ((abstract_collection___IndexedCollection___append_t)CALL( variable[18] /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable[18] /*listnode11*/, variable[20] /*listnode10*/) /*IndexedCollection::append*/;
19927 }
19928 }
19929 variable[22] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[17] /*listnode8*/, variable[19] /*ptypenode9*/, variable[18] /*listnode11*/); /*new ASignature*/
19930 variable[21] = variable[22];
19931 variable[22] = variable[4] /*nodearraylist9*/;
19932 variable[23] = TAG_Bool(( variable[22] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[22] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
19933 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction232___action, LOCATE_parser, 12255); nit_exit(1);}
19934 variable[24] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable[13] /*pdocnode2*/, NIT_NULL /*null*/, variable[14] /*pvisibilitynode4*/, variable[15] /*tkwmethnode5*/, variable[16] /*pmethidnode6*/, variable[21] /*psignaturenode7*/, variable[22] /*pexprnode12*/); /*new AConcreteMethPropdef*/
19935 variable[23] = variable[24];
19936 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
19937 variable[24] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
19938 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
19939 return_label496: while(false);
19940 tracehead = trace.prev;
19941 return;
19942 }
19943 void parser___ReduceAction232___init(val_t self, int* init_table) {
19944 struct trace_t trace = {NULL, NULL, 12268, LOCATE_parser___ReduceAction232___init};
19945 val_t variable[2];
19946 void **closurevariable = NULL;
19947 trace.prev = tracehead; tracehead = &trace;
19948 trace.file = LOCATE_parser;
19949 variable[0] = self;
19950 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction232].i]) return;
19951 return_label497: while(false);
19952 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction232].i] = 1;
19953 tracehead = trace.prev;
19954 return;
19955 }
19956 void parser___ReduceAction233___action(val_t self, val_t param0) {
19957 struct trace_t trace = {NULL, NULL, 12272, LOCATE_parser___ReduceAction233___action};
19958 val_t variable[27];
19959 void **closurevariable = NULL;
19960 trace.prev = tracehead; tracehead = &trace;
19961 trace.file = LOCATE_parser;
19962 variable[0] = self;
19963 variable[1] = param0;
19964 variable[3] = NIT_NULL /*null*/;
19965 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19966 variable[4] = variable[5];
19967 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19968 variable[5] = variable[6];
19969 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19970 variable[6] = variable[7];
19971 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19972 variable[7] = variable[8];
19973 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19974 variable[8] = variable[9];
19975 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19976 variable[9] = variable[10];
19977 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19978 variable[10] = variable[11];
19979 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19980 variable[11] = variable[12];
19981 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19982 variable[12] = variable[13];
19983 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
19984 variable[13] = variable[14];
19985 variable[14] = variable[13] /*nodearraylist1*/;
19986 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
19987 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction233___action, LOCATE_parser, 12286); nit_exit(1);}
19988 variable[15] = variable[12] /*nodearraylist2*/;
19989 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
19990 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction233___action, LOCATE_parser, 12288); nit_exit(1);}
19991 variable[16] = variable[11] /*nodearraylist3*/;
19992 variable[17] = TAG_Bool(( variable[16] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
19993 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction233___action, LOCATE_parser, 12290); nit_exit(1);}
19994 variable[17] = variable[10] /*nodearraylist4*/;
19995 variable[18] = TAG_Bool(( variable[17] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[17] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
19996 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction233___action, LOCATE_parser, 12292); nit_exit(1);}
19997 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
19998 variable[18] = variable[19];
19999 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
20000 variable[19] = variable[20];
20001 variable[20] = variable[9] /*nodearraylist5*/;
20002 variable[21] = TAG_Bool(( variable[20] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[20] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
20003 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction233___action, LOCATE_parser, 12296); nit_exit(1);}
20004 variable[21] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[20] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[20] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[20] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[20] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
20005 if (UNTAG_Bool(variable[21])) { /*if*/
20006 variable[21] = ((array___AbstractArray___is_empty_t)CALL( variable[18] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[18] /*listnode9*/) /*AbstractArray::is_empty*/;
20007 if (UNTAG_Bool(variable[21])) { /*if*/
20008 variable[18] = variable[20] /*listnode8*/ /*listnode9=*/;
20009 } else { /*if*/
20010 ((abstract_collection___IndexedCollection___append_t)CALL( variable[18] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[18] /*listnode9*/, variable[20] /*listnode8*/) /*IndexedCollection::append*/;
20011 }
20012 }
20013 variable[21] = variable[8] /*nodearraylist6*/;
20014 variable[22] = TAG_Bool(( variable[21] /*ptypenode10*/==NIT_NULL) || VAL_ISA( variable[21] /*ptypenode10*/, COLOR_PType, ID_PType)) /*cast PType*/;
20015 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction233___action, LOCATE_parser, 12305); nit_exit(1);}
20016 variable[22] = variable[7] /*nodearraylist7*/;
20017 variable[23] = TAG_Bool(( variable[22] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[22] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
20018 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction233___action, LOCATE_parser, 12307); nit_exit(1);}
20019 variable[23] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[22] /*listnode11*/ == NIT_NULL /*null*/) || (( variable[22] /*listnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[22] /*listnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[22] /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[22] /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable[22] /*listnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
20020 if (UNTAG_Bool(variable[23])) { /*if*/
20021 variable[23] = ((array___AbstractArray___is_empty_t)CALL( variable[19] /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable[19] /*listnode12*/) /*AbstractArray::is_empty*/;
20022 if (UNTAG_Bool(variable[23])) { /*if*/
20023 variable[19] = variable[22] /*listnode11*/ /*listnode12=*/;
20024 } else { /*if*/
20025 ((abstract_collection___IndexedCollection___append_t)CALL( variable[19] /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable[19] /*listnode12*/, variable[22] /*listnode11*/) /*IndexedCollection::append*/;
20026 }
20027 }
20028 variable[24] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[18] /*listnode9*/, variable[21] /*ptypenode10*/, variable[19] /*listnode12*/); /*new ASignature*/
20029 variable[23] = variable[24];
20030 variable[24] = variable[4] /*nodearraylist10*/;
20031 variable[25] = TAG_Bool(( variable[24] /*pexprnode13*/==NIT_NULL) || VAL_ISA( variable[24] /*pexprnode13*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20032 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction233___action, LOCATE_parser, 12321); nit_exit(1);}
20033 variable[26] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable[14] /*pdocnode2*/, NIT_NULL /*null*/, variable[15] /*pvisibilitynode4*/, variable[16] /*tkwmethnode5*/, variable[17] /*pmethidnode6*/, variable[23] /*psignaturenode7*/, variable[24] /*pexprnode13*/); /*new AConcreteMethPropdef*/
20034 variable[25] = variable[26];
20035 variable[3] = variable[25] /*ppropdefnode1*/ /*node_list=*/;
20036 variable[26] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
20037 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[26], variable[3] /*node_list*/) /*Parser::push*/;
20038 return_label498: while(false);
20039 tracehead = trace.prev;
20040 return;
20041 }
20042 void parser___ReduceAction233___init(val_t self, int* init_table) {
20043 struct trace_t trace = {NULL, NULL, 12334, LOCATE_parser___ReduceAction233___init};
20044 val_t variable[2];
20045 void **closurevariable = NULL;
20046 trace.prev = tracehead; tracehead = &trace;
20047 trace.file = LOCATE_parser;
20048 variable[0] = self;
20049 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction233].i]) return;
20050 return_label499: while(false);
20051 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction233].i] = 1;
20052 tracehead = trace.prev;
20053 return;
20054 }
20055 void parser___ReduceAction234___action(val_t self, val_t param0) {
20056 struct trace_t trace = {NULL, NULL, 12338, LOCATE_parser___ReduceAction234___action};
20057 val_t variable[23];
20058 void **closurevariable = NULL;
20059 trace.prev = tracehead; tracehead = &trace;
20060 trace.file = LOCATE_parser;
20061 variable[0] = self;
20062 variable[1] = param0;
20063 variable[3] = NIT_NULL /*null*/;
20064 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20065 variable[4] = variable[5];
20066 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20067 variable[5] = variable[6];
20068 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20069 variable[6] = variable[7];
20070 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20071 variable[7] = variable[8];
20072 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20073 variable[8] = variable[9];
20074 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20075 variable[9] = variable[10];
20076 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20077 variable[10] = variable[11];
20078 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20079 variable[11] = variable[12];
20080 variable[12] = variable[11] /*nodearraylist1*/;
20081 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
20082 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction234___action, LOCATE_parser, 12350); nit_exit(1);}
20083 variable[13] = variable[10] /*nodearraylist2*/;
20084 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
20085 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction234___action, LOCATE_parser, 12352); nit_exit(1);}
20086 variable[14] = variable[9] /*nodearraylist3*/;
20087 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
20088 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction234___action, LOCATE_parser, 12354); nit_exit(1);}
20089 variable[15] = variable[8] /*nodearraylist4*/;
20090 variable[16] = TAG_Bool(( variable[15] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
20091 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction234___action, LOCATE_parser, 12356); nit_exit(1);}
20092 variable[16] = variable[7] /*nodearraylist5*/;
20093 variable[17] = TAG_Bool(( variable[16] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[16] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
20094 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction234___action, LOCATE_parser, 12358); nit_exit(1);}
20095 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
20096 variable[17] = variable[18];
20097 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
20098 variable[18] = variable[19];
20099 variable[20] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[17] /*listnode8*/, NIT_NULL /*null*/, variable[18] /*listnode10*/); /*new ASignature*/
20100 variable[19] = variable[20];
20101 variable[20] = variable[4] /*nodearraylist8*/;
20102 variable[21] = TAG_Bool(( variable[20] /*pexprnode11*/==NIT_NULL) || VAL_ISA( variable[20] /*pexprnode11*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20103 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction234___action, LOCATE_parser, 12367); nit_exit(1);}
20104 variable[22] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable[12] /*pdocnode2*/, variable[13] /*tkwredefnode3*/, variable[14] /*pvisibilitynode4*/, variable[15] /*tkwmethnode5*/, variable[16] /*pmethidnode6*/, variable[19] /*psignaturenode7*/, variable[20] /*pexprnode11*/); /*new AConcreteMethPropdef*/
20105 variable[21] = variable[22];
20106 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
20107 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
20108 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
20109 return_label500: while(false);
20110 tracehead = trace.prev;
20111 return;
20112 }
20113 void parser___ReduceAction234___init(val_t self, int* init_table) {
20114 struct trace_t trace = {NULL, NULL, 12380, LOCATE_parser___ReduceAction234___init};
20115 val_t variable[2];
20116 void **closurevariable = NULL;
20117 trace.prev = tracehead; tracehead = &trace;
20118 trace.file = LOCATE_parser;
20119 variable[0] = self;
20120 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction234].i]) return;
20121 return_label501: while(false);
20122 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction234].i] = 1;
20123 tracehead = trace.prev;
20124 return;
20125 }
20126 void parser___ReduceAction235___action(val_t self, val_t param0) {
20127 struct trace_t trace = {NULL, NULL, 12384, LOCATE_parser___ReduceAction235___action};
20128 val_t variable[25];
20129 void **closurevariable = NULL;
20130 trace.prev = tracehead; tracehead = &trace;
20131 trace.file = LOCATE_parser;
20132 variable[0] = self;
20133 variable[1] = param0;
20134 variable[3] = NIT_NULL /*null*/;
20135 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20136 variable[4] = variable[5];
20137 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20138 variable[5] = variable[6];
20139 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20140 variable[6] = variable[7];
20141 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20142 variable[7] = variable[8];
20143 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20144 variable[8] = variable[9];
20145 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20146 variable[9] = variable[10];
20147 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20148 variable[10] = variable[11];
20149 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20150 variable[11] = variable[12];
20151 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20152 variable[12] = variable[13];
20153 variable[13] = variable[12] /*nodearraylist1*/;
20154 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
20155 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction235___action, LOCATE_parser, 12397); nit_exit(1);}
20156 variable[14] = variable[11] /*nodearraylist2*/;
20157 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
20158 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction235___action, LOCATE_parser, 12399); nit_exit(1);}
20159 variable[15] = variable[10] /*nodearraylist3*/;
20160 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
20161 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction235___action, LOCATE_parser, 12401); nit_exit(1);}
20162 variable[16] = variable[9] /*nodearraylist4*/;
20163 variable[17] = TAG_Bool(( variable[16] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
20164 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction235___action, LOCATE_parser, 12403); nit_exit(1);}
20165 variable[17] = variable[8] /*nodearraylist5*/;
20166 variable[18] = TAG_Bool(( variable[17] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[17] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
20167 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction235___action, LOCATE_parser, 12405); nit_exit(1);}
20168 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
20169 variable[18] = variable[19];
20170 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
20171 variable[19] = variable[20];
20172 variable[20] = variable[7] /*nodearraylist6*/;
20173 variable[21] = TAG_Bool(( variable[20] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[20] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
20174 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction235___action, LOCATE_parser, 12409); nit_exit(1);}
20175 variable[21] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[20] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[20] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[20] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[20] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
20176 if (UNTAG_Bool(variable[21])) { /*if*/
20177 variable[21] = ((array___AbstractArray___is_empty_t)CALL( variable[18] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[18] /*listnode9*/) /*AbstractArray::is_empty*/;
20178 if (UNTAG_Bool(variable[21])) { /*if*/
20179 variable[18] = variable[20] /*listnode8*/ /*listnode9=*/;
20180 } else { /*if*/
20181 ((abstract_collection___IndexedCollection___append_t)CALL( variable[18] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[18] /*listnode9*/, variable[20] /*listnode8*/) /*IndexedCollection::append*/;
20182 }
20183 }
20184 variable[22] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[18] /*listnode9*/, NIT_NULL /*null*/, variable[19] /*listnode11*/); /*new ASignature*/
20185 variable[21] = variable[22];
20186 variable[22] = variable[4] /*nodearraylist9*/;
20187 variable[23] = TAG_Bool(( variable[22] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[22] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20188 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction235___action, LOCATE_parser, 12423); nit_exit(1);}
20189 variable[24] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable[13] /*pdocnode2*/, variable[14] /*tkwredefnode3*/, variable[15] /*pvisibilitynode4*/, variable[16] /*tkwmethnode5*/, variable[17] /*pmethidnode6*/, variable[21] /*psignaturenode7*/, variable[22] /*pexprnode12*/); /*new AConcreteMethPropdef*/
20190 variable[23] = variable[24];
20191 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
20192 variable[24] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
20193 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
20194 return_label502: while(false);
20195 tracehead = trace.prev;
20196 return;
20197 }
20198 void parser___ReduceAction235___init(val_t self, int* init_table) {
20199 struct trace_t trace = {NULL, NULL, 12436, LOCATE_parser___ReduceAction235___init};
20200 val_t variable[2];
20201 void **closurevariable = NULL;
20202 trace.prev = tracehead; tracehead = &trace;
20203 trace.file = LOCATE_parser;
20204 variable[0] = self;
20205 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction235].i]) return;
20206 return_label503: while(false);
20207 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction235].i] = 1;
20208 tracehead = trace.prev;
20209 return;
20210 }
20211 void parser___ReduceAction236___action(val_t self, val_t param0) {
20212 struct trace_t trace = {NULL, NULL, 12440, LOCATE_parser___ReduceAction236___action};
20213 val_t variable[25];
20214 void **closurevariable = NULL;
20215 trace.prev = tracehead; tracehead = &trace;
20216 trace.file = LOCATE_parser;
20217 variable[0] = self;
20218 variable[1] = param0;
20219 variable[3] = NIT_NULL /*null*/;
20220 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20221 variable[4] = variable[5];
20222 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20223 variable[5] = variable[6];
20224 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20225 variable[6] = variable[7];
20226 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20227 variable[7] = variable[8];
20228 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20229 variable[8] = variable[9];
20230 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20231 variable[9] = variable[10];
20232 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20233 variable[10] = variable[11];
20234 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20235 variable[11] = variable[12];
20236 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20237 variable[12] = variable[13];
20238 variable[13] = variable[12] /*nodearraylist1*/;
20239 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
20240 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction236___action, LOCATE_parser, 12453); nit_exit(1);}
20241 variable[14] = variable[11] /*nodearraylist2*/;
20242 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
20243 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction236___action, LOCATE_parser, 12455); nit_exit(1);}
20244 variable[15] = variable[10] /*nodearraylist3*/;
20245 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
20246 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction236___action, LOCATE_parser, 12457); nit_exit(1);}
20247 variable[16] = variable[9] /*nodearraylist4*/;
20248 variable[17] = TAG_Bool(( variable[16] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
20249 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction236___action, LOCATE_parser, 12459); nit_exit(1);}
20250 variable[17] = variable[8] /*nodearraylist5*/;
20251 variable[18] = TAG_Bool(( variable[17] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[17] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
20252 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction236___action, LOCATE_parser, 12461); nit_exit(1);}
20253 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
20254 variable[18] = variable[19];
20255 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
20256 variable[19] = variable[20];
20257 variable[20] = variable[7] /*nodearraylist6*/;
20258 variable[21] = TAG_Bool(( variable[20] /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable[20] /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
20259 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction236___action, LOCATE_parser, 12465); nit_exit(1);}
20260 variable[22] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[18] /*listnode8*/, variable[20] /*ptypenode9*/, variable[19] /*listnode10*/); /*new ASignature*/
20261 variable[21] = variable[22];
20262 variable[22] = variable[4] /*nodearraylist9*/;
20263 variable[23] = TAG_Bool(( variable[22] /*pexprnode11*/==NIT_NULL) || VAL_ISA( variable[22] /*pexprnode11*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20264 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction236___action, LOCATE_parser, 12472); nit_exit(1);}
20265 variable[24] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable[13] /*pdocnode2*/, variable[14] /*tkwredefnode3*/, variable[15] /*pvisibilitynode4*/, variable[16] /*tkwmethnode5*/, variable[17] /*pmethidnode6*/, variable[21] /*psignaturenode7*/, variable[22] /*pexprnode11*/); /*new AConcreteMethPropdef*/
20266 variable[23] = variable[24];
20267 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
20268 variable[24] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
20269 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
20270 return_label504: while(false);
20271 tracehead = trace.prev;
20272 return;
20273 }
20274 void parser___ReduceAction236___init(val_t self, int* init_table) {
20275 struct trace_t trace = {NULL, NULL, 12485, LOCATE_parser___ReduceAction236___init};
20276 val_t variable[2];
20277 void **closurevariable = NULL;
20278 trace.prev = tracehead; tracehead = &trace;
20279 trace.file = LOCATE_parser;
20280 variable[0] = self;
20281 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction236].i]) return;
20282 return_label505: while(false);
20283 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction236].i] = 1;
20284 tracehead = trace.prev;
20285 return;
20286 }
20287 void parser___ReduceAction237___action(val_t self, val_t param0) {
20288 struct trace_t trace = {NULL, NULL, 12489, LOCATE_parser___ReduceAction237___action};
20289 val_t variable[27];
20290 void **closurevariable = NULL;
20291 trace.prev = tracehead; tracehead = &trace;
20292 trace.file = LOCATE_parser;
20293 variable[0] = self;
20294 variable[1] = param0;
20295 variable[3] = NIT_NULL /*null*/;
20296 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20297 variable[4] = variable[5];
20298 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20299 variable[5] = variable[6];
20300 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20301 variable[6] = variable[7];
20302 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20303 variable[7] = variable[8];
20304 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20305 variable[8] = variable[9];
20306 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20307 variable[9] = variable[10];
20308 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20309 variable[10] = variable[11];
20310 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20311 variable[11] = variable[12];
20312 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20313 variable[12] = variable[13];
20314 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20315 variable[13] = variable[14];
20316 variable[14] = variable[13] /*nodearraylist1*/;
20317 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
20318 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction237___action, LOCATE_parser, 12503); nit_exit(1);}
20319 variable[15] = variable[12] /*nodearraylist2*/;
20320 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
20321 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction237___action, LOCATE_parser, 12505); nit_exit(1);}
20322 variable[16] = variable[11] /*nodearraylist3*/;
20323 variable[17] = TAG_Bool(( variable[16] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[16] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
20324 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction237___action, LOCATE_parser, 12507); nit_exit(1);}
20325 variable[17] = variable[10] /*nodearraylist4*/;
20326 variable[18] = TAG_Bool(( variable[17] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
20327 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction237___action, LOCATE_parser, 12509); nit_exit(1);}
20328 variable[18] = variable[9] /*nodearraylist5*/;
20329 variable[19] = TAG_Bool(( variable[18] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[18] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
20330 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction237___action, LOCATE_parser, 12511); nit_exit(1);}
20331 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
20332 variable[19] = variable[20];
20333 variable[21] = NEW_Array_array___Array___init(); /*new Array[Object]*/
20334 variable[20] = variable[21];
20335 variable[21] = variable[8] /*nodearraylist6*/;
20336 variable[22] = TAG_Bool(( variable[21] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[21] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
20337 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction237___action, LOCATE_parser, 12515); nit_exit(1);}
20338 variable[22] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[21] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[21] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[21] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[21] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
20339 if (UNTAG_Bool(variable[22])) { /*if*/
20340 variable[22] = ((array___AbstractArray___is_empty_t)CALL( variable[19] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[19] /*listnode9*/) /*AbstractArray::is_empty*/;
20341 if (UNTAG_Bool(variable[22])) { /*if*/
20342 variable[19] = variable[21] /*listnode8*/ /*listnode9=*/;
20343 } else { /*if*/
20344 ((abstract_collection___IndexedCollection___append_t)CALL( variable[19] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[19] /*listnode9*/, variable[21] /*listnode8*/) /*IndexedCollection::append*/;
20345 }
20346 }
20347 variable[22] = variable[7] /*nodearraylist7*/;
20348 variable[23] = TAG_Bool(( variable[22] /*ptypenode10*/==NIT_NULL) || VAL_ISA( variable[22] /*ptypenode10*/, COLOR_PType, ID_PType)) /*cast PType*/;
20349 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction237___action, LOCATE_parser, 12524); nit_exit(1);}
20350 variable[24] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[19] /*listnode9*/, variable[22] /*ptypenode10*/, variable[20] /*listnode11*/); /*new ASignature*/
20351 variable[23] = variable[24];
20352 variable[24] = variable[4] /*nodearraylist10*/;
20353 variable[25] = TAG_Bool(( variable[24] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[24] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20354 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction237___action, LOCATE_parser, 12531); nit_exit(1);}
20355 variable[26] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable[14] /*pdocnode2*/, variable[15] /*tkwredefnode3*/, variable[16] /*pvisibilitynode4*/, variable[17] /*tkwmethnode5*/, variable[18] /*pmethidnode6*/, variable[23] /*psignaturenode7*/, variable[24] /*pexprnode12*/); /*new AConcreteMethPropdef*/
20356 variable[25] = variable[26];
20357 variable[3] = variable[25] /*ppropdefnode1*/ /*node_list=*/;
20358 variable[26] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
20359 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[26], variable[3] /*node_list*/) /*Parser::push*/;
20360 return_label506: while(false);
20361 tracehead = trace.prev;
20362 return;
20363 }
20364 void parser___ReduceAction237___init(val_t self, int* init_table) {
20365 struct trace_t trace = {NULL, NULL, 12544, LOCATE_parser___ReduceAction237___init};
20366 val_t variable[2];
20367 void **closurevariable = NULL;
20368 trace.prev = tracehead; tracehead = &trace;
20369 trace.file = LOCATE_parser;
20370 variable[0] = self;
20371 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction237].i]) return;
20372 return_label507: while(false);
20373 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction237].i] = 1;
20374 tracehead = trace.prev;
20375 return;
20376 }
20377 void parser___ReduceAction238___action(val_t self, val_t param0) {
20378 struct trace_t trace = {NULL, NULL, 12548, LOCATE_parser___ReduceAction238___action};
20379 val_t variable[25];
20380 void **closurevariable = NULL;
20381 trace.prev = tracehead; tracehead = &trace;
20382 trace.file = LOCATE_parser;
20383 variable[0] = self;
20384 variable[1] = param0;
20385 variable[3] = NIT_NULL /*null*/;
20386 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20387 variable[4] = variable[5];
20388 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20389 variable[5] = variable[6];
20390 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20391 variable[6] = variable[7];
20392 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20393 variable[7] = variable[8];
20394 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20395 variable[8] = variable[9];
20396 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20397 variable[9] = variable[10];
20398 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20399 variable[10] = variable[11];
20400 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20401 variable[11] = variable[12];
20402 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20403 variable[12] = variable[13];
20404 variable[13] = variable[12] /*nodearraylist1*/;
20405 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
20406 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction238___action, LOCATE_parser, 12561); nit_exit(1);}
20407 variable[14] = variable[11] /*nodearraylist2*/;
20408 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
20409 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction238___action, LOCATE_parser, 12563); nit_exit(1);}
20410 variable[15] = variable[10] /*nodearraylist3*/;
20411 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
20412 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction238___action, LOCATE_parser, 12565); nit_exit(1);}
20413 variable[16] = variable[9] /*nodearraylist4*/;
20414 variable[17] = TAG_Bool(( variable[16] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
20415 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction238___action, LOCATE_parser, 12567); nit_exit(1);}
20416 variable[17] = variable[8] /*nodearraylist5*/;
20417 variable[18] = TAG_Bool(( variable[17] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[17] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
20418 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction238___action, LOCATE_parser, 12569); nit_exit(1);}
20419 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
20420 variable[18] = variable[19];
20421 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
20422 variable[19] = variable[20];
20423 variable[20] = variable[7] /*nodearraylist6*/;
20424 variable[21] = TAG_Bool(( variable[20] /*listnode10*/==NIT_NULL) || VAL_ISA( variable[20] /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
20425 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction238___action, LOCATE_parser, 12573); nit_exit(1);}
20426 variable[21] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[20] /*listnode10*/ == NIT_NULL /*null*/) || (( variable[20] /*listnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[20] /*listnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode10*/,COLOR_kernel___Object_____eqeq))( variable[20] /*listnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
20427 if (UNTAG_Bool(variable[21])) { /*if*/
20428 variable[21] = ((array___AbstractArray___is_empty_t)CALL( variable[19] /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable[19] /*listnode11*/) /*AbstractArray::is_empty*/;
20429 if (UNTAG_Bool(variable[21])) { /*if*/
20430 variable[19] = variable[20] /*listnode10*/ /*listnode11=*/;
20431 } else { /*if*/
20432 ((abstract_collection___IndexedCollection___append_t)CALL( variable[19] /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable[19] /*listnode11*/, variable[20] /*listnode10*/) /*IndexedCollection::append*/;
20433 }
20434 }
20435 variable[22] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[18] /*listnode8*/, NIT_NULL /*null*/, variable[19] /*listnode11*/); /*new ASignature*/
20436 variable[21] = variable[22];
20437 variable[22] = variable[4] /*nodearraylist9*/;
20438 variable[23] = TAG_Bool(( variable[22] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[22] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20439 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction238___action, LOCATE_parser, 12587); nit_exit(1);}
20440 variable[24] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable[13] /*pdocnode2*/, variable[14] /*tkwredefnode3*/, variable[15] /*pvisibilitynode4*/, variable[16] /*tkwmethnode5*/, variable[17] /*pmethidnode6*/, variable[21] /*psignaturenode7*/, variable[22] /*pexprnode12*/); /*new AConcreteMethPropdef*/
20441 variable[23] = variable[24];
20442 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
20443 variable[24] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
20444 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
20445 return_label508: while(false);
20446 tracehead = trace.prev;
20447 return;
20448 }
20449 void parser___ReduceAction238___init(val_t self, int* init_table) {
20450 struct trace_t trace = {NULL, NULL, 12600, LOCATE_parser___ReduceAction238___init};
20451 val_t variable[2];
20452 void **closurevariable = NULL;
20453 trace.prev = tracehead; tracehead = &trace;
20454 trace.file = LOCATE_parser;
20455 variable[0] = self;
20456 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction238].i]) return;
20457 return_label509: while(false);
20458 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction238].i] = 1;
20459 tracehead = trace.prev;
20460 return;
20461 }
20462 void parser___ReduceAction239___action(val_t self, val_t param0) {
20463 struct trace_t trace = {NULL, NULL, 12604, LOCATE_parser___ReduceAction239___action};
20464 val_t variable[27];
20465 void **closurevariable = NULL;
20466 trace.prev = tracehead; tracehead = &trace;
20467 trace.file = LOCATE_parser;
20468 variable[0] = self;
20469 variable[1] = param0;
20470 variable[3] = NIT_NULL /*null*/;
20471 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20472 variable[4] = variable[5];
20473 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20474 variable[5] = variable[6];
20475 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20476 variable[6] = variable[7];
20477 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20478 variable[7] = variable[8];
20479 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20480 variable[8] = variable[9];
20481 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20482 variable[9] = variable[10];
20483 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20484 variable[10] = variable[11];
20485 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20486 variable[11] = variable[12];
20487 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20488 variable[12] = variable[13];
20489 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20490 variable[13] = variable[14];
20491 variable[14] = variable[13] /*nodearraylist1*/;
20492 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
20493 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction239___action, LOCATE_parser, 12618); nit_exit(1);}
20494 variable[15] = variable[12] /*nodearraylist2*/;
20495 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
20496 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction239___action, LOCATE_parser, 12620); nit_exit(1);}
20497 variable[16] = variable[11] /*nodearraylist3*/;
20498 variable[17] = TAG_Bool(( variable[16] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[16] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
20499 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction239___action, LOCATE_parser, 12622); nit_exit(1);}
20500 variable[17] = variable[10] /*nodearraylist4*/;
20501 variable[18] = TAG_Bool(( variable[17] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
20502 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction239___action, LOCATE_parser, 12624); nit_exit(1);}
20503 variable[18] = variable[9] /*nodearraylist5*/;
20504 variable[19] = TAG_Bool(( variable[18] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[18] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
20505 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction239___action, LOCATE_parser, 12626); nit_exit(1);}
20506 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
20507 variable[19] = variable[20];
20508 variable[21] = NEW_Array_array___Array___init(); /*new Array[Object]*/
20509 variable[20] = variable[21];
20510 variable[21] = variable[8] /*nodearraylist6*/;
20511 variable[22] = TAG_Bool(( variable[21] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[21] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
20512 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction239___action, LOCATE_parser, 12630); nit_exit(1);}
20513 variable[22] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[21] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[21] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[21] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[21] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
20514 if (UNTAG_Bool(variable[22])) { /*if*/
20515 variable[22] = ((array___AbstractArray___is_empty_t)CALL( variable[19] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[19] /*listnode9*/) /*AbstractArray::is_empty*/;
20516 if (UNTAG_Bool(variable[22])) { /*if*/
20517 variable[19] = variable[21] /*listnode8*/ /*listnode9=*/;
20518 } else { /*if*/
20519 ((abstract_collection___IndexedCollection___append_t)CALL( variable[19] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[19] /*listnode9*/, variable[21] /*listnode8*/) /*IndexedCollection::append*/;
20520 }
20521 }
20522 variable[22] = variable[7] /*nodearraylist7*/;
20523 variable[23] = TAG_Bool(( variable[22] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[22] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
20524 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction239___action, LOCATE_parser, 12639); nit_exit(1);}
20525 variable[23] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[22] /*listnode11*/ == NIT_NULL /*null*/) || (( variable[22] /*listnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[22] /*listnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[22] /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[22] /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable[22] /*listnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
20526 if (UNTAG_Bool(variable[23])) { /*if*/
20527 variable[23] = ((array___AbstractArray___is_empty_t)CALL( variable[20] /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable[20] /*listnode12*/) /*AbstractArray::is_empty*/;
20528 if (UNTAG_Bool(variable[23])) { /*if*/
20529 variable[20] = variable[22] /*listnode11*/ /*listnode12=*/;
20530 } else { /*if*/
20531 ((abstract_collection___IndexedCollection___append_t)CALL( variable[20] /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable[20] /*listnode12*/, variable[22] /*listnode11*/) /*IndexedCollection::append*/;
20532 }
20533 }
20534 variable[24] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[19] /*listnode9*/, NIT_NULL /*null*/, variable[20] /*listnode12*/); /*new ASignature*/
20535 variable[23] = variable[24];
20536 variable[24] = variable[4] /*nodearraylist10*/;
20537 variable[25] = TAG_Bool(( variable[24] /*pexprnode13*/==NIT_NULL) || VAL_ISA( variable[24] /*pexprnode13*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20538 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction239___action, LOCATE_parser, 12653); nit_exit(1);}
20539 variable[26] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable[14] /*pdocnode2*/, variable[15] /*tkwredefnode3*/, variable[16] /*pvisibilitynode4*/, variable[17] /*tkwmethnode5*/, variable[18] /*pmethidnode6*/, variable[23] /*psignaturenode7*/, variable[24] /*pexprnode13*/); /*new AConcreteMethPropdef*/
20540 variable[25] = variable[26];
20541 variable[3] = variable[25] /*ppropdefnode1*/ /*node_list=*/;
20542 variable[26] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
20543 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[26], variable[3] /*node_list*/) /*Parser::push*/;
20544 return_label510: while(false);
20545 tracehead = trace.prev;
20546 return;
20547 }
20548 void parser___ReduceAction239___init(val_t self, int* init_table) {
20549 struct trace_t trace = {NULL, NULL, 12666, LOCATE_parser___ReduceAction239___init};
20550 val_t variable[2];
20551 void **closurevariable = NULL;
20552 trace.prev = tracehead; tracehead = &trace;
20553 trace.file = LOCATE_parser;
20554 variable[0] = self;
20555 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction239].i]) return;
20556 return_label511: while(false);
20557 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction239].i] = 1;
20558 tracehead = trace.prev;
20559 return;
20560 }
20561 void parser___ReduceAction240___action(val_t self, val_t param0) {
20562 struct trace_t trace = {NULL, NULL, 12670, LOCATE_parser___ReduceAction240___action};
20563 val_t variable[27];
20564 void **closurevariable = NULL;
20565 trace.prev = tracehead; tracehead = &trace;
20566 trace.file = LOCATE_parser;
20567 variable[0] = self;
20568 variable[1] = param0;
20569 variable[3] = NIT_NULL /*null*/;
20570 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20571 variable[4] = variable[5];
20572 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20573 variable[5] = variable[6];
20574 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20575 variable[6] = variable[7];
20576 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20577 variable[7] = variable[8];
20578 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20579 variable[8] = variable[9];
20580 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20581 variable[9] = variable[10];
20582 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20583 variable[10] = variable[11];
20584 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20585 variable[11] = variable[12];
20586 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20587 variable[12] = variable[13];
20588 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20589 variable[13] = variable[14];
20590 variable[14] = variable[13] /*nodearraylist1*/;
20591 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
20592 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction240___action, LOCATE_parser, 12684); nit_exit(1);}
20593 variable[15] = variable[12] /*nodearraylist2*/;
20594 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
20595 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction240___action, LOCATE_parser, 12686); nit_exit(1);}
20596 variable[16] = variable[11] /*nodearraylist3*/;
20597 variable[17] = TAG_Bool(( variable[16] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[16] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
20598 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction240___action, LOCATE_parser, 12688); nit_exit(1);}
20599 variable[17] = variable[10] /*nodearraylist4*/;
20600 variable[18] = TAG_Bool(( variable[17] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
20601 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction240___action, LOCATE_parser, 12690); nit_exit(1);}
20602 variable[18] = variable[9] /*nodearraylist5*/;
20603 variable[19] = TAG_Bool(( variable[18] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[18] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
20604 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction240___action, LOCATE_parser, 12692); nit_exit(1);}
20605 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
20606 variable[19] = variable[20];
20607 variable[21] = NEW_Array_array___Array___init(); /*new Array[Object]*/
20608 variable[20] = variable[21];
20609 variable[21] = variable[8] /*nodearraylist6*/;
20610 variable[22] = TAG_Bool(( variable[21] /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable[21] /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
20611 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction240___action, LOCATE_parser, 12696); nit_exit(1);}
20612 variable[22] = variable[7] /*nodearraylist7*/;
20613 variable[23] = TAG_Bool(( variable[22] /*listnode10*/==NIT_NULL) || VAL_ISA( variable[22] /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
20614 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction240___action, LOCATE_parser, 12698); nit_exit(1);}
20615 variable[23] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[22] /*listnode10*/ == NIT_NULL /*null*/) || (( variable[22] /*listnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[22] /*listnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[22] /*listnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[22] /*listnode10*/,COLOR_kernel___Object_____eqeq))( variable[22] /*listnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
20616 if (UNTAG_Bool(variable[23])) { /*if*/
20617 variable[23] = ((array___AbstractArray___is_empty_t)CALL( variable[20] /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable[20] /*listnode11*/) /*AbstractArray::is_empty*/;
20618 if (UNTAG_Bool(variable[23])) { /*if*/
20619 variable[20] = variable[22] /*listnode10*/ /*listnode11=*/;
20620 } else { /*if*/
20621 ((abstract_collection___IndexedCollection___append_t)CALL( variable[20] /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable[20] /*listnode11*/, variable[22] /*listnode10*/) /*IndexedCollection::append*/;
20622 }
20623 }
20624 variable[24] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[19] /*listnode8*/, variable[21] /*ptypenode9*/, variable[20] /*listnode11*/); /*new ASignature*/
20625 variable[23] = variable[24];
20626 variable[24] = variable[4] /*nodearraylist10*/;
20627 variable[25] = TAG_Bool(( variable[24] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[24] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20628 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction240___action, LOCATE_parser, 12712); nit_exit(1);}
20629 variable[26] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable[14] /*pdocnode2*/, variable[15] /*tkwredefnode3*/, variable[16] /*pvisibilitynode4*/, variable[17] /*tkwmethnode5*/, variable[18] /*pmethidnode6*/, variable[23] /*psignaturenode7*/, variable[24] /*pexprnode12*/); /*new AConcreteMethPropdef*/
20630 variable[25] = variable[26];
20631 variable[3] = variable[25] /*ppropdefnode1*/ /*node_list=*/;
20632 variable[26] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
20633 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[26], variable[3] /*node_list*/) /*Parser::push*/;
20634 return_label512: while(false);
20635 tracehead = trace.prev;
20636 return;
20637 }
20638 void parser___ReduceAction240___init(val_t self, int* init_table) {
20639 struct trace_t trace = {NULL, NULL, 12725, LOCATE_parser___ReduceAction240___init};
20640 val_t variable[2];
20641 void **closurevariable = NULL;
20642 trace.prev = tracehead; tracehead = &trace;
20643 trace.file = LOCATE_parser;
20644 variable[0] = self;
20645 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction240].i]) return;
20646 return_label513: while(false);
20647 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction240].i] = 1;
20648 tracehead = trace.prev;
20649 return;
20650 }
20651 void parser___ReduceAction241___action(val_t self, val_t param0) {
20652 struct trace_t trace = {NULL, NULL, 12729, LOCATE_parser___ReduceAction241___action};
20653 val_t variable[29];
20654 void **closurevariable = NULL;
20655 trace.prev = tracehead; tracehead = &trace;
20656 trace.file = LOCATE_parser;
20657 variable[0] = self;
20658 variable[1] = param0;
20659 variable[3] = NIT_NULL /*null*/;
20660 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20661 variable[4] = variable[5];
20662 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20663 variable[5] = variable[6];
20664 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20665 variable[6] = variable[7];
20666 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20667 variable[7] = variable[8];
20668 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20669 variable[8] = variable[9];
20670 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20671 variable[9] = variable[10];
20672 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20673 variable[10] = variable[11];
20674 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20675 variable[11] = variable[12];
20676 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20677 variable[12] = variable[13];
20678 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20679 variable[13] = variable[14];
20680 variable[15] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20681 variable[14] = variable[15];
20682 variable[15] = variable[14] /*nodearraylist1*/;
20683 variable[16] = TAG_Bool(( variable[15] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
20684 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction241___action, LOCATE_parser, 12744); nit_exit(1);}
20685 variable[16] = variable[13] /*nodearraylist2*/;
20686 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
20687 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction241___action, LOCATE_parser, 12746); nit_exit(1);}
20688 variable[17] = variable[12] /*nodearraylist3*/;
20689 variable[18] = TAG_Bool(( variable[17] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[17] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
20690 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction241___action, LOCATE_parser, 12748); nit_exit(1);}
20691 variable[18] = variable[11] /*nodearraylist4*/;
20692 variable[19] = TAG_Bool(( variable[18] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
20693 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction241___action, LOCATE_parser, 12750); nit_exit(1);}
20694 variable[19] = variable[10] /*nodearraylist5*/;
20695 variable[20] = TAG_Bool(( variable[19] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[19] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
20696 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction241___action, LOCATE_parser, 12752); nit_exit(1);}
20697 variable[21] = NEW_Array_array___Array___init(); /*new Array[Object]*/
20698 variable[20] = variable[21];
20699 variable[22] = NEW_Array_array___Array___init(); /*new Array[Object]*/
20700 variable[21] = variable[22];
20701 variable[22] = variable[9] /*nodearraylist6*/;
20702 variable[23] = TAG_Bool(( variable[22] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[22] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
20703 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction241___action, LOCATE_parser, 12756); nit_exit(1);}
20704 variable[23] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[22] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[22] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[22] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[22] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[22] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[22] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
20705 if (UNTAG_Bool(variable[23])) { /*if*/
20706 variable[23] = ((array___AbstractArray___is_empty_t)CALL( variable[20] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[20] /*listnode9*/) /*AbstractArray::is_empty*/;
20707 if (UNTAG_Bool(variable[23])) { /*if*/
20708 variable[20] = variable[22] /*listnode8*/ /*listnode9=*/;
20709 } else { /*if*/
20710 ((abstract_collection___IndexedCollection___append_t)CALL( variable[20] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[20] /*listnode9*/, variable[22] /*listnode8*/) /*IndexedCollection::append*/;
20711 }
20712 }
20713 variable[23] = variable[8] /*nodearraylist7*/;
20714 variable[24] = TAG_Bool(( variable[23] /*ptypenode10*/==NIT_NULL) || VAL_ISA( variable[23] /*ptypenode10*/, COLOR_PType, ID_PType)) /*cast PType*/;
20715 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction241___action, LOCATE_parser, 12765); nit_exit(1);}
20716 variable[24] = variable[7] /*nodearraylist8*/;
20717 variable[25] = TAG_Bool(( variable[24] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[24] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
20718 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction241___action, LOCATE_parser, 12767); nit_exit(1);}
20719 variable[25] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[24] /*listnode11*/ == NIT_NULL /*null*/) || (( variable[24] /*listnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[24] /*listnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[24] /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[24] /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable[24] /*listnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
20720 if (UNTAG_Bool(variable[25])) { /*if*/
20721 variable[25] = ((array___AbstractArray___is_empty_t)CALL( variable[21] /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable[21] /*listnode12*/) /*AbstractArray::is_empty*/;
20722 if (UNTAG_Bool(variable[25])) { /*if*/
20723 variable[21] = variable[24] /*listnode11*/ /*listnode12=*/;
20724 } else { /*if*/
20725 ((abstract_collection___IndexedCollection___append_t)CALL( variable[21] /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable[21] /*listnode12*/, variable[24] /*listnode11*/) /*IndexedCollection::append*/;
20726 }
20727 }
20728 variable[26] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[20] /*listnode9*/, variable[23] /*ptypenode10*/, variable[21] /*listnode12*/); /*new ASignature*/
20729 variable[25] = variable[26];
20730 variable[26] = variable[4] /*nodearraylist11*/;
20731 variable[27] = TAG_Bool(( variable[26] /*pexprnode13*/==NIT_NULL) || VAL_ISA( variable[26] /*pexprnode13*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20732 if (!UNTAG_Bool(variable[27])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction241___action, LOCATE_parser, 12781); nit_exit(1);}
20733 variable[28] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable[15] /*pdocnode2*/, variable[16] /*tkwredefnode3*/, variable[17] /*pvisibilitynode4*/, variable[18] /*tkwmethnode5*/, variable[19] /*pmethidnode6*/, variable[25] /*psignaturenode7*/, variable[26] /*pexprnode13*/); /*new AConcreteMethPropdef*/
20734 variable[27] = variable[28];
20735 variable[3] = variable[27] /*ppropdefnode1*/ /*node_list=*/;
20736 variable[28] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
20737 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[28], variable[3] /*node_list*/) /*Parser::push*/;
20738 return_label514: while(false);
20739 tracehead = trace.prev;
20740 return;
20741 }
20742 void parser___ReduceAction241___init(val_t self, int* init_table) {
20743 struct trace_t trace = {NULL, NULL, 12794, LOCATE_parser___ReduceAction241___init};
20744 val_t variable[2];
20745 void **closurevariable = NULL;
20746 trace.prev = tracehead; tracehead = &trace;
20747 trace.file = LOCATE_parser;
20748 variable[0] = self;
20749 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction241].i]) return;
20750 return_label515: while(false);
20751 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction241].i] = 1;
20752 tracehead = trace.prev;
20753 return;
20754 }
20755 void parser___ReduceAction242___action(val_t self, val_t param0) {
20756 struct trace_t trace = {NULL, NULL, 12798, LOCATE_parser___ReduceAction242___action};
20757 val_t variable[22];
20758 void **closurevariable = NULL;
20759 trace.prev = tracehead; tracehead = &trace;
20760 trace.file = LOCATE_parser;
20761 variable[0] = self;
20762 variable[1] = param0;
20763 variable[3] = NIT_NULL /*null*/;
20764 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20765 variable[4] = variable[5];
20766 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20767 variable[5] = variable[6];
20768 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20769 variable[6] = variable[7];
20770 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20771 variable[7] = variable[8];
20772 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20773 variable[8] = variable[9];
20774 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20775 variable[9] = variable[10];
20776 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20777 variable[10] = variable[11];
20778 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20779 variable[11] = variable[12];
20780 variable[12] = variable[11] /*nodearraylist1*/;
20781 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
20782 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction242___action, LOCATE_parser, 12810); nit_exit(1);}
20783 variable[13] = variable[10] /*nodearraylist2*/;
20784 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
20785 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction242___action, LOCATE_parser, 12812); nit_exit(1);}
20786 variable[14] = variable[9] /*nodearraylist3*/;
20787 variable[15] = TAG_Bool(( variable[14] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
20788 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction242___action, LOCATE_parser, 12814); nit_exit(1);}
20789 variable[15] = variable[8] /*nodearraylist4*/;
20790 variable[16] = TAG_Bool(( variable[15] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
20791 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction242___action, LOCATE_parser, 12816); nit_exit(1);}
20792 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
20793 variable[16] = variable[17];
20794 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
20795 variable[17] = variable[18];
20796 variable[19] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[16] /*listnode8*/, NIT_NULL /*null*/, variable[17] /*listnode10*/); /*new ASignature*/
20797 variable[18] = variable[19];
20798 variable[19] = variable[5] /*nodearraylist7*/;
20799 variable[20] = TAG_Bool(( variable[19] /*pexprnode11*/==NIT_NULL) || VAL_ISA( variable[19] /*pexprnode11*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20800 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction242___action, LOCATE_parser, 12825); nit_exit(1);}
20801 variable[21] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable[12] /*pdocnode2*/, NIT_NULL /*null*/, variable[13] /*pvisibilitynode4*/, variable[14] /*tkwmethnode5*/, variable[15] /*pmethidnode6*/, variable[18] /*psignaturenode7*/, variable[19] /*pexprnode11*/); /*new AConcreteMethPropdef*/
20802 variable[20] = variable[21];
20803 variable[3] = variable[20] /*ppropdefnode1*/ /*node_list=*/;
20804 variable[21] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
20805 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[21], variable[3] /*node_list*/) /*Parser::push*/;
20806 return_label516: while(false);
20807 tracehead = trace.prev;
20808 return;
20809 }
20810 void parser___ReduceAction242___init(val_t self, int* init_table) {
20811 struct trace_t trace = {NULL, NULL, 12838, LOCATE_parser___ReduceAction242___init};
20812 val_t variable[2];
20813 void **closurevariable = NULL;
20814 trace.prev = tracehead; tracehead = &trace;
20815 trace.file = LOCATE_parser;
20816 variable[0] = self;
20817 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction242].i]) return;
20818 return_label517: while(false);
20819 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction242].i] = 1;
20820 tracehead = trace.prev;
20821 return;
20822 }
20823 void parser___ReduceAction243___action(val_t self, val_t param0) {
20824 struct trace_t trace = {NULL, NULL, 12842, LOCATE_parser___ReduceAction243___action};
20825 val_t variable[24];
20826 void **closurevariable = NULL;
20827 trace.prev = tracehead; tracehead = &trace;
20828 trace.file = LOCATE_parser;
20829 variable[0] = self;
20830 variable[1] = param0;
20831 variable[3] = NIT_NULL /*null*/;
20832 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20833 variable[4] = variable[5];
20834 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20835 variable[5] = variable[6];
20836 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20837 variable[6] = variable[7];
20838 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20839 variable[7] = variable[8];
20840 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20841 variable[8] = variable[9];
20842 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20843 variable[9] = variable[10];
20844 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20845 variable[10] = variable[11];
20846 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20847 variable[11] = variable[12];
20848 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20849 variable[12] = variable[13];
20850 variable[13] = variable[12] /*nodearraylist1*/;
20851 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
20852 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction243___action, LOCATE_parser, 12855); nit_exit(1);}
20853 variable[14] = variable[11] /*nodearraylist2*/;
20854 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
20855 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction243___action, LOCATE_parser, 12857); nit_exit(1);}
20856 variable[15] = variable[10] /*nodearraylist3*/;
20857 variable[16] = TAG_Bool(( variable[15] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
20858 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction243___action, LOCATE_parser, 12859); nit_exit(1);}
20859 variable[16] = variable[9] /*nodearraylist4*/;
20860 variable[17] = TAG_Bool(( variable[16] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[16] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
20861 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction243___action, LOCATE_parser, 12861); nit_exit(1);}
20862 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
20863 variable[17] = variable[18];
20864 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
20865 variable[18] = variable[19];
20866 variable[19] = variable[8] /*nodearraylist5*/;
20867 variable[20] = TAG_Bool(( variable[19] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[19] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
20868 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction243___action, LOCATE_parser, 12865); nit_exit(1);}
20869 variable[20] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[19] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[19] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[19] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[19] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
20870 if (UNTAG_Bool(variable[20])) { /*if*/
20871 variable[20] = ((array___AbstractArray___is_empty_t)CALL( variable[17] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[17] /*listnode9*/) /*AbstractArray::is_empty*/;
20872 if (UNTAG_Bool(variable[20])) { /*if*/
20873 variable[17] = variable[19] /*listnode8*/ /*listnode9=*/;
20874 } else { /*if*/
20875 ((abstract_collection___IndexedCollection___append_t)CALL( variable[17] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[17] /*listnode9*/, variable[19] /*listnode8*/) /*IndexedCollection::append*/;
20876 }
20877 }
20878 variable[21] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[17] /*listnode9*/, NIT_NULL /*null*/, variable[18] /*listnode11*/); /*new ASignature*/
20879 variable[20] = variable[21];
20880 variable[21] = variable[5] /*nodearraylist8*/;
20881 variable[22] = TAG_Bool(( variable[21] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[21] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20882 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction243___action, LOCATE_parser, 12879); nit_exit(1);}
20883 variable[23] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable[13] /*pdocnode2*/, NIT_NULL /*null*/, variable[14] /*pvisibilitynode4*/, variable[15] /*tkwmethnode5*/, variable[16] /*pmethidnode6*/, variable[20] /*psignaturenode7*/, variable[21] /*pexprnode12*/); /*new AConcreteMethPropdef*/
20884 variable[22] = variable[23];
20885 variable[3] = variable[22] /*ppropdefnode1*/ /*node_list=*/;
20886 variable[23] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
20887 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[23], variable[3] /*node_list*/) /*Parser::push*/;
20888 return_label518: while(false);
20889 tracehead = trace.prev;
20890 return;
20891 }
20892 void parser___ReduceAction243___init(val_t self, int* init_table) {
20893 struct trace_t trace = {NULL, NULL, 12892, LOCATE_parser___ReduceAction243___init};
20894 val_t variable[2];
20895 void **closurevariable = NULL;
20896 trace.prev = tracehead; tracehead = &trace;
20897 trace.file = LOCATE_parser;
20898 variable[0] = self;
20899 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction243].i]) return;
20900 return_label519: while(false);
20901 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction243].i] = 1;
20902 tracehead = trace.prev;
20903 return;
20904 }
20905 void parser___ReduceAction244___action(val_t self, val_t param0) {
20906 struct trace_t trace = {NULL, NULL, 12896, LOCATE_parser___ReduceAction244___action};
20907 val_t variable[24];
20908 void **closurevariable = NULL;
20909 trace.prev = tracehead; tracehead = &trace;
20910 trace.file = LOCATE_parser;
20911 variable[0] = self;
20912 variable[1] = param0;
20913 variable[3] = NIT_NULL /*null*/;
20914 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20915 variable[4] = variable[5];
20916 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20917 variable[5] = variable[6];
20918 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20919 variable[6] = variable[7];
20920 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20921 variable[7] = variable[8];
20922 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20923 variable[8] = variable[9];
20924 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20925 variable[9] = variable[10];
20926 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20927 variable[10] = variable[11];
20928 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20929 variable[11] = variable[12];
20930 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20931 variable[12] = variable[13];
20932 variable[13] = variable[12] /*nodearraylist1*/;
20933 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
20934 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction244___action, LOCATE_parser, 12909); nit_exit(1);}
20935 variable[14] = variable[11] /*nodearraylist2*/;
20936 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
20937 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction244___action, LOCATE_parser, 12911); nit_exit(1);}
20938 variable[15] = variable[10] /*nodearraylist3*/;
20939 variable[16] = TAG_Bool(( variable[15] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
20940 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction244___action, LOCATE_parser, 12913); nit_exit(1);}
20941 variable[16] = variable[9] /*nodearraylist4*/;
20942 variable[17] = TAG_Bool(( variable[16] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[16] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
20943 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction244___action, LOCATE_parser, 12915); nit_exit(1);}
20944 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
20945 variable[17] = variable[18];
20946 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
20947 variable[18] = variable[19];
20948 variable[19] = variable[8] /*nodearraylist5*/;
20949 variable[20] = TAG_Bool(( variable[19] /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable[19] /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
20950 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction244___action, LOCATE_parser, 12919); nit_exit(1);}
20951 variable[21] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[17] /*listnode8*/, variable[19] /*ptypenode9*/, variable[18] /*listnode10*/); /*new ASignature*/
20952 variable[20] = variable[21];
20953 variable[21] = variable[5] /*nodearraylist8*/;
20954 variable[22] = TAG_Bool(( variable[21] /*pexprnode11*/==NIT_NULL) || VAL_ISA( variable[21] /*pexprnode11*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20955 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction244___action, LOCATE_parser, 12926); nit_exit(1);}
20956 variable[23] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable[13] /*pdocnode2*/, NIT_NULL /*null*/, variable[14] /*pvisibilitynode4*/, variable[15] /*tkwmethnode5*/, variable[16] /*pmethidnode6*/, variable[20] /*psignaturenode7*/, variable[21] /*pexprnode11*/); /*new AConcreteMethPropdef*/
20957 variable[22] = variable[23];
20958 variable[3] = variable[22] /*ppropdefnode1*/ /*node_list=*/;
20959 variable[23] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
20960 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[23], variable[3] /*node_list*/) /*Parser::push*/;
20961 return_label520: while(false);
20962 tracehead = trace.prev;
20963 return;
20964 }
20965 void parser___ReduceAction244___init(val_t self, int* init_table) {
20966 struct trace_t trace = {NULL, NULL, 12939, LOCATE_parser___ReduceAction244___init};
20967 val_t variable[2];
20968 void **closurevariable = NULL;
20969 trace.prev = tracehead; tracehead = &trace;
20970 trace.file = LOCATE_parser;
20971 variable[0] = self;
20972 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction244].i]) return;
20973 return_label521: while(false);
20974 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction244].i] = 1;
20975 tracehead = trace.prev;
20976 return;
20977 }
20978 void parser___ReduceAction245___action(val_t self, val_t param0) {
20979 struct trace_t trace = {NULL, NULL, 12943, LOCATE_parser___ReduceAction245___action};
20980 val_t variable[26];
20981 void **closurevariable = NULL;
20982 trace.prev = tracehead; tracehead = &trace;
20983 trace.file = LOCATE_parser;
20984 variable[0] = self;
20985 variable[1] = param0;
20986 variable[3] = NIT_NULL /*null*/;
20987 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20988 variable[4] = variable[5];
20989 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20990 variable[5] = variable[6];
20991 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20992 variable[6] = variable[7];
20993 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20994 variable[7] = variable[8];
20995 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20996 variable[8] = variable[9];
20997 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
20998 variable[9] = variable[10];
20999 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21000 variable[10] = variable[11];
21001 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21002 variable[11] = variable[12];
21003 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21004 variable[12] = variable[13];
21005 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21006 variable[13] = variable[14];
21007 variable[14] = variable[13] /*nodearraylist1*/;
21008 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
21009 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction245___action, LOCATE_parser, 12957); nit_exit(1);}
21010 variable[15] = variable[12] /*nodearraylist2*/;
21011 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
21012 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction245___action, LOCATE_parser, 12959); nit_exit(1);}
21013 variable[16] = variable[11] /*nodearraylist3*/;
21014 variable[17] = TAG_Bool(( variable[16] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
21015 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction245___action, LOCATE_parser, 12961); nit_exit(1);}
21016 variable[17] = variable[10] /*nodearraylist4*/;
21017 variable[18] = TAG_Bool(( variable[17] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[17] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
21018 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction245___action, LOCATE_parser, 12963); nit_exit(1);}
21019 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
21020 variable[18] = variable[19];
21021 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
21022 variable[19] = variable[20];
21023 variable[20] = variable[9] /*nodearraylist5*/;
21024 variable[21] = TAG_Bool(( variable[20] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[20] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
21025 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction245___action, LOCATE_parser, 12967); nit_exit(1);}
21026 variable[21] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[20] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[20] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[20] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[20] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
21027 if (UNTAG_Bool(variable[21])) { /*if*/
21028 variable[21] = ((array___AbstractArray___is_empty_t)CALL( variable[18] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[18] /*listnode9*/) /*AbstractArray::is_empty*/;
21029 if (UNTAG_Bool(variable[21])) { /*if*/
21030 variable[18] = variable[20] /*listnode8*/ /*listnode9=*/;
21031 } else { /*if*/
21032 ((abstract_collection___IndexedCollection___append_t)CALL( variable[18] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[18] /*listnode9*/, variable[20] /*listnode8*/) /*IndexedCollection::append*/;
21033 }
21034 }
21035 variable[21] = variable[8] /*nodearraylist6*/;
21036 variable[22] = TAG_Bool(( variable[21] /*ptypenode10*/==NIT_NULL) || VAL_ISA( variable[21] /*ptypenode10*/, COLOR_PType, ID_PType)) /*cast PType*/;
21037 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction245___action, LOCATE_parser, 12976); nit_exit(1);}
21038 variable[23] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[18] /*listnode9*/, variable[21] /*ptypenode10*/, variable[19] /*listnode11*/); /*new ASignature*/
21039 variable[22] = variable[23];
21040 variable[23] = variable[5] /*nodearraylist9*/;
21041 variable[24] = TAG_Bool(( variable[23] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[23] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21042 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction245___action, LOCATE_parser, 12983); nit_exit(1);}
21043 variable[25] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable[14] /*pdocnode2*/, NIT_NULL /*null*/, variable[15] /*pvisibilitynode4*/, variable[16] /*tkwmethnode5*/, variable[17] /*pmethidnode6*/, variable[22] /*psignaturenode7*/, variable[23] /*pexprnode12*/); /*new AConcreteMethPropdef*/
21044 variable[24] = variable[25];
21045 variable[3] = variable[24] /*ppropdefnode1*/ /*node_list=*/;
21046 variable[25] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
21047 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[25], variable[3] /*node_list*/) /*Parser::push*/;
21048 return_label522: while(false);
21049 tracehead = trace.prev;
21050 return;
21051 }
21052 void parser___ReduceAction245___init(val_t self, int* init_table) {
21053 struct trace_t trace = {NULL, NULL, 12996, LOCATE_parser___ReduceAction245___init};
21054 val_t variable[2];
21055 void **closurevariable = NULL;
21056 trace.prev = tracehead; tracehead = &trace;
21057 trace.file = LOCATE_parser;
21058 variable[0] = self;
21059 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction245].i]) return;
21060 return_label523: while(false);
21061 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction245].i] = 1;
21062 tracehead = trace.prev;
21063 return;
21064 }
21065 void parser___ReduceAction246___action(val_t self, val_t param0) {
21066 struct trace_t trace = {NULL, NULL, 13000, LOCATE_parser___ReduceAction246___action};
21067 val_t variable[24];
21068 void **closurevariable = NULL;
21069 trace.prev = tracehead; tracehead = &trace;
21070 trace.file = LOCATE_parser;
21071 variable[0] = self;
21072 variable[1] = param0;
21073 variable[3] = NIT_NULL /*null*/;
21074 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21075 variable[4] = variable[5];
21076 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21077 variable[5] = variable[6];
21078 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21079 variable[6] = variable[7];
21080 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21081 variable[7] = variable[8];
21082 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21083 variable[8] = variable[9];
21084 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21085 variable[9] = variable[10];
21086 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21087 variable[10] = variable[11];
21088 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21089 variable[11] = variable[12];
21090 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21091 variable[12] = variable[13];
21092 variable[13] = variable[12] /*nodearraylist1*/;
21093 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
21094 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction246___action, LOCATE_parser, 13013); nit_exit(1);}
21095 variable[14] = variable[11] /*nodearraylist2*/;
21096 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
21097 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction246___action, LOCATE_parser, 13015); nit_exit(1);}
21098 variable[15] = variable[10] /*nodearraylist3*/;
21099 variable[16] = TAG_Bool(( variable[15] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
21100 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction246___action, LOCATE_parser, 13017); nit_exit(1);}
21101 variable[16] = variable[9] /*nodearraylist4*/;
21102 variable[17] = TAG_Bool(( variable[16] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[16] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
21103 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction246___action, LOCATE_parser, 13019); nit_exit(1);}
21104 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
21105 variable[17] = variable[18];
21106 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
21107 variable[18] = variable[19];
21108 variable[19] = variable[8] /*nodearraylist5*/;
21109 variable[20] = TAG_Bool(( variable[19] /*listnode10*/==NIT_NULL) || VAL_ISA( variable[19] /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
21110 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction246___action, LOCATE_parser, 13023); nit_exit(1);}
21111 variable[20] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[19] /*listnode10*/ == NIT_NULL /*null*/) || (( variable[19] /*listnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[19] /*listnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode10*/,COLOR_kernel___Object_____eqeq))( variable[19] /*listnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
21112 if (UNTAG_Bool(variable[20])) { /*if*/
21113 variable[20] = ((array___AbstractArray___is_empty_t)CALL( variable[18] /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable[18] /*listnode11*/) /*AbstractArray::is_empty*/;
21114 if (UNTAG_Bool(variable[20])) { /*if*/
21115 variable[18] = variable[19] /*listnode10*/ /*listnode11=*/;
21116 } else { /*if*/
21117 ((abstract_collection___IndexedCollection___append_t)CALL( variable[18] /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable[18] /*listnode11*/, variable[19] /*listnode10*/) /*IndexedCollection::append*/;
21118 }
21119 }
21120 variable[21] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[17] /*listnode8*/, NIT_NULL /*null*/, variable[18] /*listnode11*/); /*new ASignature*/
21121 variable[20] = variable[21];
21122 variable[21] = variable[5] /*nodearraylist8*/;
21123 variable[22] = TAG_Bool(( variable[21] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[21] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21124 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction246___action, LOCATE_parser, 13037); nit_exit(1);}
21125 variable[23] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable[13] /*pdocnode2*/, NIT_NULL /*null*/, variable[14] /*pvisibilitynode4*/, variable[15] /*tkwmethnode5*/, variable[16] /*pmethidnode6*/, variable[20] /*psignaturenode7*/, variable[21] /*pexprnode12*/); /*new AConcreteMethPropdef*/
21126 variable[22] = variable[23];
21127 variable[3] = variable[22] /*ppropdefnode1*/ /*node_list=*/;
21128 variable[23] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
21129 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[23], variable[3] /*node_list*/) /*Parser::push*/;
21130 return_label524: while(false);
21131 tracehead = trace.prev;
21132 return;
21133 }
21134 void parser___ReduceAction246___init(val_t self, int* init_table) {
21135 struct trace_t trace = {NULL, NULL, 13050, LOCATE_parser___ReduceAction246___init};
21136 val_t variable[2];
21137 void **closurevariable = NULL;
21138 trace.prev = tracehead; tracehead = &trace;
21139 trace.file = LOCATE_parser;
21140 variable[0] = self;
21141 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction246].i]) return;
21142 return_label525: while(false);
21143 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction246].i] = 1;
21144 tracehead = trace.prev;
21145 return;
21146 }
21147 void parser___ReduceAction247___action(val_t self, val_t param0) {
21148 struct trace_t trace = {NULL, NULL, 13054, LOCATE_parser___ReduceAction247___action};
21149 val_t variable[26];
21150 void **closurevariable = NULL;
21151 trace.prev = tracehead; tracehead = &trace;
21152 trace.file = LOCATE_parser;
21153 variable[0] = self;
21154 variable[1] = param0;
21155 variable[3] = NIT_NULL /*null*/;
21156 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21157 variable[4] = variable[5];
21158 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21159 variable[5] = variable[6];
21160 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21161 variable[6] = variable[7];
21162 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21163 variable[7] = variable[8];
21164 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21165 variable[8] = variable[9];
21166 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21167 variable[9] = variable[10];
21168 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21169 variable[10] = variable[11];
21170 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21171 variable[11] = variable[12];
21172 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21173 variable[12] = variable[13];
21174 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21175 variable[13] = variable[14];
21176 variable[14] = variable[13] /*nodearraylist1*/;
21177 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
21178 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction247___action, LOCATE_parser, 13068); nit_exit(1);}
21179 variable[15] = variable[12] /*nodearraylist2*/;
21180 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
21181 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction247___action, LOCATE_parser, 13070); nit_exit(1);}
21182 variable[16] = variable[11] /*nodearraylist3*/;
21183 variable[17] = TAG_Bool(( variable[16] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
21184 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction247___action, LOCATE_parser, 13072); nit_exit(1);}
21185 variable[17] = variable[10] /*nodearraylist4*/;
21186 variable[18] = TAG_Bool(( variable[17] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[17] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
21187 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction247___action, LOCATE_parser, 13074); nit_exit(1);}
21188 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
21189 variable[18] = variable[19];
21190 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
21191 variable[19] = variable[20];
21192 variable[20] = variable[9] /*nodearraylist5*/;
21193 variable[21] = TAG_Bool(( variable[20] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[20] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
21194 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction247___action, LOCATE_parser, 13078); nit_exit(1);}
21195 variable[21] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[20] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[20] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[20] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[20] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
21196 if (UNTAG_Bool(variable[21])) { /*if*/
21197 variable[21] = ((array___AbstractArray___is_empty_t)CALL( variable[18] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[18] /*listnode9*/) /*AbstractArray::is_empty*/;
21198 if (UNTAG_Bool(variable[21])) { /*if*/
21199 variable[18] = variable[20] /*listnode8*/ /*listnode9=*/;
21200 } else { /*if*/
21201 ((abstract_collection___IndexedCollection___append_t)CALL( variable[18] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[18] /*listnode9*/, variable[20] /*listnode8*/) /*IndexedCollection::append*/;
21202 }
21203 }
21204 variable[21] = variable[8] /*nodearraylist6*/;
21205 variable[22] = TAG_Bool(( variable[21] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[21] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
21206 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction247___action, LOCATE_parser, 13087); nit_exit(1);}
21207 variable[22] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[21] /*listnode11*/ == NIT_NULL /*null*/) || (( variable[21] /*listnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[21] /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable[21] /*listnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
21208 if (UNTAG_Bool(variable[22])) { /*if*/
21209 variable[22] = ((array___AbstractArray___is_empty_t)CALL( variable[19] /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable[19] /*listnode12*/) /*AbstractArray::is_empty*/;
21210 if (UNTAG_Bool(variable[22])) { /*if*/
21211 variable[19] = variable[21] /*listnode11*/ /*listnode12=*/;
21212 } else { /*if*/
21213 ((abstract_collection___IndexedCollection___append_t)CALL( variable[19] /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable[19] /*listnode12*/, variable[21] /*listnode11*/) /*IndexedCollection::append*/;
21214 }
21215 }
21216 variable[23] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[18] /*listnode9*/, NIT_NULL /*null*/, variable[19] /*listnode12*/); /*new ASignature*/
21217 variable[22] = variable[23];
21218 variable[23] = variable[5] /*nodearraylist9*/;
21219 variable[24] = TAG_Bool(( variable[23] /*pexprnode13*/==NIT_NULL) || VAL_ISA( variable[23] /*pexprnode13*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21220 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction247___action, LOCATE_parser, 13101); nit_exit(1);}
21221 variable[25] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable[14] /*pdocnode2*/, NIT_NULL /*null*/, variable[15] /*pvisibilitynode4*/, variable[16] /*tkwmethnode5*/, variable[17] /*pmethidnode6*/, variable[22] /*psignaturenode7*/, variable[23] /*pexprnode13*/); /*new AConcreteMethPropdef*/
21222 variable[24] = variable[25];
21223 variable[3] = variable[24] /*ppropdefnode1*/ /*node_list=*/;
21224 variable[25] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
21225 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[25], variable[3] /*node_list*/) /*Parser::push*/;
21226 return_label526: while(false);
21227 tracehead = trace.prev;
21228 return;
21229 }
21230 void parser___ReduceAction247___init(val_t self, int* init_table) {
21231 struct trace_t trace = {NULL, NULL, 13114, LOCATE_parser___ReduceAction247___init};
21232 val_t variable[2];
21233 void **closurevariable = NULL;
21234 trace.prev = tracehead; tracehead = &trace;
21235 trace.file = LOCATE_parser;
21236 variable[0] = self;
21237 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction247].i]) return;
21238 return_label527: while(false);
21239 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction247].i] = 1;
21240 tracehead = trace.prev;
21241 return;
21242 }
21243 void parser___ReduceAction248___action(val_t self, val_t param0) {
21244 struct trace_t trace = {NULL, NULL, 13118, LOCATE_parser___ReduceAction248___action};
21245 val_t variable[26];
21246 void **closurevariable = NULL;
21247 trace.prev = tracehead; tracehead = &trace;
21248 trace.file = LOCATE_parser;
21249 variable[0] = self;
21250 variable[1] = param0;
21251 variable[3] = NIT_NULL /*null*/;
21252 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21253 variable[4] = variable[5];
21254 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21255 variable[5] = variable[6];
21256 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21257 variable[6] = variable[7];
21258 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21259 variable[7] = variable[8];
21260 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21261 variable[8] = variable[9];
21262 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21263 variable[9] = variable[10];
21264 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21265 variable[10] = variable[11];
21266 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21267 variable[11] = variable[12];
21268 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21269 variable[12] = variable[13];
21270 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21271 variable[13] = variable[14];
21272 variable[14] = variable[13] /*nodearraylist1*/;
21273 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
21274 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction248___action, LOCATE_parser, 13132); nit_exit(1);}
21275 variable[15] = variable[12] /*nodearraylist2*/;
21276 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
21277 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction248___action, LOCATE_parser, 13134); nit_exit(1);}
21278 variable[16] = variable[11] /*nodearraylist3*/;
21279 variable[17] = TAG_Bool(( variable[16] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
21280 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction248___action, LOCATE_parser, 13136); nit_exit(1);}
21281 variable[17] = variable[10] /*nodearraylist4*/;
21282 variable[18] = TAG_Bool(( variable[17] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[17] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
21283 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction248___action, LOCATE_parser, 13138); nit_exit(1);}
21284 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
21285 variable[18] = variable[19];
21286 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
21287 variable[19] = variable[20];
21288 variable[20] = variable[9] /*nodearraylist5*/;
21289 variable[21] = TAG_Bool(( variable[20] /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable[20] /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
21290 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction248___action, LOCATE_parser, 13142); nit_exit(1);}
21291 variable[21] = variable[8] /*nodearraylist6*/;
21292 variable[22] = TAG_Bool(( variable[21] /*listnode10*/==NIT_NULL) || VAL_ISA( variable[21] /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
21293 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction248___action, LOCATE_parser, 13144); nit_exit(1);}
21294 variable[22] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[21] /*listnode10*/ == NIT_NULL /*null*/) || (( variable[21] /*listnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[21] /*listnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode10*/,COLOR_kernel___Object_____eqeq))( variable[21] /*listnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
21295 if (UNTAG_Bool(variable[22])) { /*if*/
21296 variable[22] = ((array___AbstractArray___is_empty_t)CALL( variable[19] /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable[19] /*listnode11*/) /*AbstractArray::is_empty*/;
21297 if (UNTAG_Bool(variable[22])) { /*if*/
21298 variable[19] = variable[21] /*listnode10*/ /*listnode11=*/;
21299 } else { /*if*/
21300 ((abstract_collection___IndexedCollection___append_t)CALL( variable[19] /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable[19] /*listnode11*/, variable[21] /*listnode10*/) /*IndexedCollection::append*/;
21301 }
21302 }
21303 variable[23] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[18] /*listnode8*/, variable[20] /*ptypenode9*/, variable[19] /*listnode11*/); /*new ASignature*/
21304 variable[22] = variable[23];
21305 variable[23] = variable[5] /*nodearraylist9*/;
21306 variable[24] = TAG_Bool(( variable[23] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[23] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21307 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction248___action, LOCATE_parser, 13158); nit_exit(1);}
21308 variable[25] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable[14] /*pdocnode2*/, NIT_NULL /*null*/, variable[15] /*pvisibilitynode4*/, variable[16] /*tkwmethnode5*/, variable[17] /*pmethidnode6*/, variable[22] /*psignaturenode7*/, variable[23] /*pexprnode12*/); /*new AConcreteMethPropdef*/
21309 variable[24] = variable[25];
21310 variable[3] = variable[24] /*ppropdefnode1*/ /*node_list=*/;
21311 variable[25] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
21312 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[25], variable[3] /*node_list*/) /*Parser::push*/;
21313 return_label528: while(false);
21314 tracehead = trace.prev;
21315 return;
21316 }
21317 void parser___ReduceAction248___init(val_t self, int* init_table) {
21318 struct trace_t trace = {NULL, NULL, 13171, LOCATE_parser___ReduceAction248___init};
21319 val_t variable[2];
21320 void **closurevariable = NULL;
21321 trace.prev = tracehead; tracehead = &trace;
21322 trace.file = LOCATE_parser;
21323 variable[0] = self;
21324 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction248].i]) return;
21325 return_label529: while(false);
21326 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction248].i] = 1;
21327 tracehead = trace.prev;
21328 return;
21329 }
21330 void parser___ReduceAction249___action(val_t self, val_t param0) {
21331 struct trace_t trace = {NULL, NULL, 13175, LOCATE_parser___ReduceAction249___action};
21332 val_t variable[28];
21333 void **closurevariable = NULL;
21334 trace.prev = tracehead; tracehead = &trace;
21335 trace.file = LOCATE_parser;
21336 variable[0] = self;
21337 variable[1] = param0;
21338 variable[3] = NIT_NULL /*null*/;
21339 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21340 variable[4] = variable[5];
21341 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21342 variable[5] = variable[6];
21343 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21344 variable[6] = variable[7];
21345 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21346 variable[7] = variable[8];
21347 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21348 variable[8] = variable[9];
21349 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21350 variable[9] = variable[10];
21351 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21352 variable[10] = variable[11];
21353 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21354 variable[11] = variable[12];
21355 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21356 variable[12] = variable[13];
21357 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21358 variable[13] = variable[14];
21359 variable[15] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21360 variable[14] = variable[15];
21361 variable[15] = variable[14] /*nodearraylist1*/;
21362 variable[16] = TAG_Bool(( variable[15] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
21363 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction249___action, LOCATE_parser, 13190); nit_exit(1);}
21364 variable[16] = variable[13] /*nodearraylist2*/;
21365 variable[17] = TAG_Bool(( variable[16] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[16] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
21366 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction249___action, LOCATE_parser, 13192); nit_exit(1);}
21367 variable[17] = variable[12] /*nodearraylist3*/;
21368 variable[18] = TAG_Bool(( variable[17] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
21369 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction249___action, LOCATE_parser, 13194); nit_exit(1);}
21370 variable[18] = variable[11] /*nodearraylist4*/;
21371 variable[19] = TAG_Bool(( variable[18] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[18] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
21372 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction249___action, LOCATE_parser, 13196); nit_exit(1);}
21373 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
21374 variable[19] = variable[20];
21375 variable[21] = NEW_Array_array___Array___init(); /*new Array[Object]*/
21376 variable[20] = variable[21];
21377 variable[21] = variable[10] /*nodearraylist5*/;
21378 variable[22] = TAG_Bool(( variable[21] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[21] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
21379 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction249___action, LOCATE_parser, 13200); nit_exit(1);}
21380 variable[22] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[21] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[21] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[21] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[21] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
21381 if (UNTAG_Bool(variable[22])) { /*if*/
21382 variable[22] = ((array___AbstractArray___is_empty_t)CALL( variable[19] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[19] /*listnode9*/) /*AbstractArray::is_empty*/;
21383 if (UNTAG_Bool(variable[22])) { /*if*/
21384 variable[19] = variable[21] /*listnode8*/ /*listnode9=*/;
21385 } else { /*if*/
21386 ((abstract_collection___IndexedCollection___append_t)CALL( variable[19] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[19] /*listnode9*/, variable[21] /*listnode8*/) /*IndexedCollection::append*/;
21387 }
21388 }
21389 variable[22] = variable[9] /*nodearraylist6*/;
21390 variable[23] = TAG_Bool(( variable[22] /*ptypenode10*/==NIT_NULL) || VAL_ISA( variable[22] /*ptypenode10*/, COLOR_PType, ID_PType)) /*cast PType*/;
21391 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction249___action, LOCATE_parser, 13209); nit_exit(1);}
21392 variable[23] = variable[8] /*nodearraylist7*/;
21393 variable[24] = TAG_Bool(( variable[23] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[23] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
21394 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction249___action, LOCATE_parser, 13211); nit_exit(1);}
21395 variable[24] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[23] /*listnode11*/ == NIT_NULL /*null*/) || (( variable[23] /*listnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[23] /*listnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[23] /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[23] /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable[23] /*listnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
21396 if (UNTAG_Bool(variable[24])) { /*if*/
21397 variable[24] = ((array___AbstractArray___is_empty_t)CALL( variable[20] /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable[20] /*listnode12*/) /*AbstractArray::is_empty*/;
21398 if (UNTAG_Bool(variable[24])) { /*if*/
21399 variable[20] = variable[23] /*listnode11*/ /*listnode12=*/;
21400 } else { /*if*/
21401 ((abstract_collection___IndexedCollection___append_t)CALL( variable[20] /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable[20] /*listnode12*/, variable[23] /*listnode11*/) /*IndexedCollection::append*/;
21402 }
21403 }
21404 variable[25] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[19] /*listnode9*/, variable[22] /*ptypenode10*/, variable[20] /*listnode12*/); /*new ASignature*/
21405 variable[24] = variable[25];
21406 variable[25] = variable[5] /*nodearraylist10*/;
21407 variable[26] = TAG_Bool(( variable[25] /*pexprnode13*/==NIT_NULL) || VAL_ISA( variable[25] /*pexprnode13*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21408 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction249___action, LOCATE_parser, 13225); nit_exit(1);}
21409 variable[27] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable[15] /*pdocnode2*/, NIT_NULL /*null*/, variable[16] /*pvisibilitynode4*/, variable[17] /*tkwmethnode5*/, variable[18] /*pmethidnode6*/, variable[24] /*psignaturenode7*/, variable[25] /*pexprnode13*/); /*new AConcreteMethPropdef*/
21410 variable[26] = variable[27];
21411 variable[3] = variable[26] /*ppropdefnode1*/ /*node_list=*/;
21412 variable[27] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
21413 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[27], variable[3] /*node_list*/) /*Parser::push*/;
21414 return_label530: while(false);
21415 tracehead = trace.prev;
21416 return;
21417 }
21418 void parser___ReduceAction249___init(val_t self, int* init_table) {
21419 struct trace_t trace = {NULL, NULL, 13238, LOCATE_parser___ReduceAction249___init};
21420 val_t variable[2];
21421 void **closurevariable = NULL;
21422 trace.prev = tracehead; tracehead = &trace;
21423 trace.file = LOCATE_parser;
21424 variable[0] = self;
21425 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction249].i]) return;
21426 return_label531: while(false);
21427 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction249].i] = 1;
21428 tracehead = trace.prev;
21429 return;
21430 }
21431 void parser___ReduceAction250___action(val_t self, val_t param0) {
21432 struct trace_t trace = {NULL, NULL, 13242, LOCATE_parser___ReduceAction250___action};
21433 val_t variable[24];
21434 void **closurevariable = NULL;
21435 trace.prev = tracehead; tracehead = &trace;
21436 trace.file = LOCATE_parser;
21437 variable[0] = self;
21438 variable[1] = param0;
21439 variable[3] = NIT_NULL /*null*/;
21440 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21441 variable[4] = variable[5];
21442 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21443 variable[5] = variable[6];
21444 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21445 variable[6] = variable[7];
21446 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21447 variable[7] = variable[8];
21448 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21449 variable[8] = variable[9];
21450 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21451 variable[9] = variable[10];
21452 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21453 variable[10] = variable[11];
21454 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21455 variable[11] = variable[12];
21456 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21457 variable[12] = variable[13];
21458 variable[13] = variable[12] /*nodearraylist1*/;
21459 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
21460 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction250___action, LOCATE_parser, 13255); nit_exit(1);}
21461 variable[14] = variable[11] /*nodearraylist2*/;
21462 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
21463 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction250___action, LOCATE_parser, 13257); nit_exit(1);}
21464 variable[15] = variable[10] /*nodearraylist3*/;
21465 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
21466 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction250___action, LOCATE_parser, 13259); nit_exit(1);}
21467 variable[16] = variable[9] /*nodearraylist4*/;
21468 variable[17] = TAG_Bool(( variable[16] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
21469 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction250___action, LOCATE_parser, 13261); nit_exit(1);}
21470 variable[17] = variable[8] /*nodearraylist5*/;
21471 variable[18] = TAG_Bool(( variable[17] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[17] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
21472 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction250___action, LOCATE_parser, 13263); nit_exit(1);}
21473 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
21474 variable[18] = variable[19];
21475 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
21476 variable[19] = variable[20];
21477 variable[21] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[18] /*listnode8*/, NIT_NULL /*null*/, variable[19] /*listnode10*/); /*new ASignature*/
21478 variable[20] = variable[21];
21479 variable[21] = variable[5] /*nodearraylist8*/;
21480 variable[22] = TAG_Bool(( variable[21] /*pexprnode11*/==NIT_NULL) || VAL_ISA( variable[21] /*pexprnode11*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21481 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction250___action, LOCATE_parser, 13272); nit_exit(1);}
21482 variable[23] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable[13] /*pdocnode2*/, variable[14] /*tkwredefnode3*/, variable[15] /*pvisibilitynode4*/, variable[16] /*tkwmethnode5*/, variable[17] /*pmethidnode6*/, variable[20] /*psignaturenode7*/, variable[21] /*pexprnode11*/); /*new AConcreteMethPropdef*/
21483 variable[22] = variable[23];
21484 variable[3] = variable[22] /*ppropdefnode1*/ /*node_list=*/;
21485 variable[23] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
21486 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[23], variable[3] /*node_list*/) /*Parser::push*/;
21487 return_label532: while(false);
21488 tracehead = trace.prev;
21489 return;
21490 }
21491 void parser___ReduceAction250___init(val_t self, int* init_table) {
21492 struct trace_t trace = {NULL, NULL, 13285, LOCATE_parser___ReduceAction250___init};
21493 val_t variable[2];
21494 void **closurevariable = NULL;
21495 trace.prev = tracehead; tracehead = &trace;
21496 trace.file = LOCATE_parser;
21497 variable[0] = self;
21498 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction250].i]) return;
21499 return_label533: while(false);
21500 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction250].i] = 1;
21501 tracehead = trace.prev;
21502 return;
21503 }
21504 void parser___ReduceAction251___action(val_t self, val_t param0) {
21505 struct trace_t trace = {NULL, NULL, 13289, LOCATE_parser___ReduceAction251___action};
21506 val_t variable[26];
21507 void **closurevariable = NULL;
21508 trace.prev = tracehead; tracehead = &trace;
21509 trace.file = LOCATE_parser;
21510 variable[0] = self;
21511 variable[1] = param0;
21512 variable[3] = NIT_NULL /*null*/;
21513 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21514 variable[4] = variable[5];
21515 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21516 variable[5] = variable[6];
21517 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21518 variable[6] = variable[7];
21519 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21520 variable[7] = variable[8];
21521 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21522 variable[8] = variable[9];
21523 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21524 variable[9] = variable[10];
21525 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21526 variable[10] = variable[11];
21527 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21528 variable[11] = variable[12];
21529 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21530 variable[12] = variable[13];
21531 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21532 variable[13] = variable[14];
21533 variable[14] = variable[13] /*nodearraylist1*/;
21534 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
21535 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction251___action, LOCATE_parser, 13303); nit_exit(1);}
21536 variable[15] = variable[12] /*nodearraylist2*/;
21537 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
21538 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction251___action, LOCATE_parser, 13305); nit_exit(1);}
21539 variable[16] = variable[11] /*nodearraylist3*/;
21540 variable[17] = TAG_Bool(( variable[16] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[16] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
21541 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction251___action, LOCATE_parser, 13307); nit_exit(1);}
21542 variable[17] = variable[10] /*nodearraylist4*/;
21543 variable[18] = TAG_Bool(( variable[17] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
21544 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction251___action, LOCATE_parser, 13309); nit_exit(1);}
21545 variable[18] = variable[9] /*nodearraylist5*/;
21546 variable[19] = TAG_Bool(( variable[18] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[18] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
21547 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction251___action, LOCATE_parser, 13311); nit_exit(1);}
21548 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
21549 variable[19] = variable[20];
21550 variable[21] = NEW_Array_array___Array___init(); /*new Array[Object]*/
21551 variable[20] = variable[21];
21552 variable[21] = variable[8] /*nodearraylist6*/;
21553 variable[22] = TAG_Bool(( variable[21] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[21] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
21554 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction251___action, LOCATE_parser, 13315); nit_exit(1);}
21555 variable[22] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[21] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[21] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[21] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[21] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
21556 if (UNTAG_Bool(variable[22])) { /*if*/
21557 variable[22] = ((array___AbstractArray___is_empty_t)CALL( variable[19] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[19] /*listnode9*/) /*AbstractArray::is_empty*/;
21558 if (UNTAG_Bool(variable[22])) { /*if*/
21559 variable[19] = variable[21] /*listnode8*/ /*listnode9=*/;
21560 } else { /*if*/
21561 ((abstract_collection___IndexedCollection___append_t)CALL( variable[19] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[19] /*listnode9*/, variable[21] /*listnode8*/) /*IndexedCollection::append*/;
21562 }
21563 }
21564 variable[23] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[19] /*listnode9*/, NIT_NULL /*null*/, variable[20] /*listnode11*/); /*new ASignature*/
21565 variable[22] = variable[23];
21566 variable[23] = variable[5] /*nodearraylist9*/;
21567 variable[24] = TAG_Bool(( variable[23] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[23] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21568 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction251___action, LOCATE_parser, 13329); nit_exit(1);}
21569 variable[25] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable[14] /*pdocnode2*/, variable[15] /*tkwredefnode3*/, variable[16] /*pvisibilitynode4*/, variable[17] /*tkwmethnode5*/, variable[18] /*pmethidnode6*/, variable[22] /*psignaturenode7*/, variable[23] /*pexprnode12*/); /*new AConcreteMethPropdef*/
21570 variable[24] = variable[25];
21571 variable[3] = variable[24] /*ppropdefnode1*/ /*node_list=*/;
21572 variable[25] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
21573 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[25], variable[3] /*node_list*/) /*Parser::push*/;
21574 return_label534: while(false);
21575 tracehead = trace.prev;
21576 return;
21577 }
21578 void parser___ReduceAction251___init(val_t self, int* init_table) {
21579 struct trace_t trace = {NULL, NULL, 13342, LOCATE_parser___ReduceAction251___init};
21580 val_t variable[2];
21581 void **closurevariable = NULL;
21582 trace.prev = tracehead; tracehead = &trace;
21583 trace.file = LOCATE_parser;
21584 variable[0] = self;
21585 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction251].i]) return;
21586 return_label535: while(false);
21587 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction251].i] = 1;
21588 tracehead = trace.prev;
21589 return;
21590 }
21591 void parser___ReduceAction252___action(val_t self, val_t param0) {
21592 struct trace_t trace = {NULL, NULL, 13346, LOCATE_parser___ReduceAction252___action};
21593 val_t variable[26];
21594 void **closurevariable = NULL;
21595 trace.prev = tracehead; tracehead = &trace;
21596 trace.file = LOCATE_parser;
21597 variable[0] = self;
21598 variable[1] = param0;
21599 variable[3] = NIT_NULL /*null*/;
21600 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21601 variable[4] = variable[5];
21602 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21603 variable[5] = variable[6];
21604 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21605 variable[6] = variable[7];
21606 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21607 variable[7] = variable[8];
21608 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21609 variable[8] = variable[9];
21610 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21611 variable[9] = variable[10];
21612 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21613 variable[10] = variable[11];
21614 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21615 variable[11] = variable[12];
21616 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21617 variable[12] = variable[13];
21618 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21619 variable[13] = variable[14];
21620 variable[14] = variable[13] /*nodearraylist1*/;
21621 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
21622 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction252___action, LOCATE_parser, 13360); nit_exit(1);}
21623 variable[15] = variable[12] /*nodearraylist2*/;
21624 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
21625 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction252___action, LOCATE_parser, 13362); nit_exit(1);}
21626 variable[16] = variable[11] /*nodearraylist3*/;
21627 variable[17] = TAG_Bool(( variable[16] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[16] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
21628 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction252___action, LOCATE_parser, 13364); nit_exit(1);}
21629 variable[17] = variable[10] /*nodearraylist4*/;
21630 variable[18] = TAG_Bool(( variable[17] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
21631 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction252___action, LOCATE_parser, 13366); nit_exit(1);}
21632 variable[18] = variable[9] /*nodearraylist5*/;
21633 variable[19] = TAG_Bool(( variable[18] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[18] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
21634 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction252___action, LOCATE_parser, 13368); nit_exit(1);}
21635 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
21636 variable[19] = variable[20];
21637 variable[21] = NEW_Array_array___Array___init(); /*new Array[Object]*/
21638 variable[20] = variable[21];
21639 variable[21] = variable[8] /*nodearraylist6*/;
21640 variable[22] = TAG_Bool(( variable[21] /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable[21] /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
21641 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction252___action, LOCATE_parser, 13372); nit_exit(1);}
21642 variable[23] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[19] /*listnode8*/, variable[21] /*ptypenode9*/, variable[20] /*listnode10*/); /*new ASignature*/
21643 variable[22] = variable[23];
21644 variable[23] = variable[5] /*nodearraylist9*/;
21645 variable[24] = TAG_Bool(( variable[23] /*pexprnode11*/==NIT_NULL) || VAL_ISA( variable[23] /*pexprnode11*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21646 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction252___action, LOCATE_parser, 13379); nit_exit(1);}
21647 variable[25] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable[14] /*pdocnode2*/, variable[15] /*tkwredefnode3*/, variable[16] /*pvisibilitynode4*/, variable[17] /*tkwmethnode5*/, variable[18] /*pmethidnode6*/, variable[22] /*psignaturenode7*/, variable[23] /*pexprnode11*/); /*new AConcreteMethPropdef*/
21648 variable[24] = variable[25];
21649 variable[3] = variable[24] /*ppropdefnode1*/ /*node_list=*/;
21650 variable[25] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
21651 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[25], variable[3] /*node_list*/) /*Parser::push*/;
21652 return_label536: while(false);
21653 tracehead = trace.prev;
21654 return;
21655 }
21656 void parser___ReduceAction252___init(val_t self, int* init_table) {
21657 struct trace_t trace = {NULL, NULL, 13392, LOCATE_parser___ReduceAction252___init};
21658 val_t variable[2];
21659 void **closurevariable = NULL;
21660 trace.prev = tracehead; tracehead = &trace;
21661 trace.file = LOCATE_parser;
21662 variable[0] = self;
21663 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction252].i]) return;
21664 return_label537: while(false);
21665 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction252].i] = 1;
21666 tracehead = trace.prev;
21667 return;
21668 }
21669 void parser___ReduceAction253___action(val_t self, val_t param0) {
21670 struct trace_t trace = {NULL, NULL, 13396, LOCATE_parser___ReduceAction253___action};
21671 val_t variable[28];
21672 void **closurevariable = NULL;
21673 trace.prev = tracehead; tracehead = &trace;
21674 trace.file = LOCATE_parser;
21675 variable[0] = self;
21676 variable[1] = param0;
21677 variable[3] = NIT_NULL /*null*/;
21678 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21679 variable[4] = variable[5];
21680 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21681 variable[5] = variable[6];
21682 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21683 variable[6] = variable[7];
21684 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21685 variable[7] = variable[8];
21686 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21687 variable[8] = variable[9];
21688 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21689 variable[9] = variable[10];
21690 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21691 variable[10] = variable[11];
21692 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21693 variable[11] = variable[12];
21694 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21695 variable[12] = variable[13];
21696 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21697 variable[13] = variable[14];
21698 variable[15] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21699 variable[14] = variable[15];
21700 variable[15] = variable[14] /*nodearraylist1*/;
21701 variable[16] = TAG_Bool(( variable[15] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
21702 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction253___action, LOCATE_parser, 13411); nit_exit(1);}
21703 variable[16] = variable[13] /*nodearraylist2*/;
21704 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
21705 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction253___action, LOCATE_parser, 13413); nit_exit(1);}
21706 variable[17] = variable[12] /*nodearraylist3*/;
21707 variable[18] = TAG_Bool(( variable[17] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[17] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
21708 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction253___action, LOCATE_parser, 13415); nit_exit(1);}
21709 variable[18] = variable[11] /*nodearraylist4*/;
21710 variable[19] = TAG_Bool(( variable[18] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
21711 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction253___action, LOCATE_parser, 13417); nit_exit(1);}
21712 variable[19] = variable[10] /*nodearraylist5*/;
21713 variable[20] = TAG_Bool(( variable[19] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[19] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
21714 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction253___action, LOCATE_parser, 13419); nit_exit(1);}
21715 variable[21] = NEW_Array_array___Array___init(); /*new Array[Object]*/
21716 variable[20] = variable[21];
21717 variable[22] = NEW_Array_array___Array___init(); /*new Array[Object]*/
21718 variable[21] = variable[22];
21719 variable[22] = variable[9] /*nodearraylist6*/;
21720 variable[23] = TAG_Bool(( variable[22] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[22] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
21721 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction253___action, LOCATE_parser, 13423); nit_exit(1);}
21722 variable[23] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[22] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[22] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[22] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[22] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[22] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[22] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
21723 if (UNTAG_Bool(variable[23])) { /*if*/
21724 variable[23] = ((array___AbstractArray___is_empty_t)CALL( variable[20] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[20] /*listnode9*/) /*AbstractArray::is_empty*/;
21725 if (UNTAG_Bool(variable[23])) { /*if*/
21726 variable[20] = variable[22] /*listnode8*/ /*listnode9=*/;
21727 } else { /*if*/
21728 ((abstract_collection___IndexedCollection___append_t)CALL( variable[20] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[20] /*listnode9*/, variable[22] /*listnode8*/) /*IndexedCollection::append*/;
21729 }
21730 }
21731 variable[23] = variable[8] /*nodearraylist7*/;
21732 variable[24] = TAG_Bool(( variable[23] /*ptypenode10*/==NIT_NULL) || VAL_ISA( variable[23] /*ptypenode10*/, COLOR_PType, ID_PType)) /*cast PType*/;
21733 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction253___action, LOCATE_parser, 13432); nit_exit(1);}
21734 variable[25] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[20] /*listnode9*/, variable[23] /*ptypenode10*/, variable[21] /*listnode11*/); /*new ASignature*/
21735 variable[24] = variable[25];
21736 variable[25] = variable[5] /*nodearraylist10*/;
21737 variable[26] = TAG_Bool(( variable[25] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[25] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21738 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction253___action, LOCATE_parser, 13439); nit_exit(1);}
21739 variable[27] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable[15] /*pdocnode2*/, variable[16] /*tkwredefnode3*/, variable[17] /*pvisibilitynode4*/, variable[18] /*tkwmethnode5*/, variable[19] /*pmethidnode6*/, variable[24] /*psignaturenode7*/, variable[25] /*pexprnode12*/); /*new AConcreteMethPropdef*/
21740 variable[26] = variable[27];
21741 variable[3] = variable[26] /*ppropdefnode1*/ /*node_list=*/;
21742 variable[27] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
21743 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[27], variable[3] /*node_list*/) /*Parser::push*/;
21744 return_label538: while(false);
21745 tracehead = trace.prev;
21746 return;
21747 }
21748 void parser___ReduceAction253___init(val_t self, int* init_table) {
21749 struct trace_t trace = {NULL, NULL, 13452, LOCATE_parser___ReduceAction253___init};
21750 val_t variable[2];
21751 void **closurevariable = NULL;
21752 trace.prev = tracehead; tracehead = &trace;
21753 trace.file = LOCATE_parser;
21754 variable[0] = self;
21755 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction253].i]) return;
21756 return_label539: while(false);
21757 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction253].i] = 1;
21758 tracehead = trace.prev;
21759 return;
21760 }
21761 void parser___ReduceAction254___action(val_t self, val_t param0) {
21762 struct trace_t trace = {NULL, NULL, 13456, LOCATE_parser___ReduceAction254___action};
21763 val_t variable[26];
21764 void **closurevariable = NULL;
21765 trace.prev = tracehead; tracehead = &trace;
21766 trace.file = LOCATE_parser;
21767 variable[0] = self;
21768 variable[1] = param0;
21769 variable[3] = NIT_NULL /*null*/;
21770 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21771 variable[4] = variable[5];
21772 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21773 variable[5] = variable[6];
21774 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21775 variable[6] = variable[7];
21776 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21777 variable[7] = variable[8];
21778 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21779 variable[8] = variable[9];
21780 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21781 variable[9] = variable[10];
21782 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21783 variable[10] = variable[11];
21784 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21785 variable[11] = variable[12];
21786 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21787 variable[12] = variable[13];
21788 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21789 variable[13] = variable[14];
21790 variable[14] = variable[13] /*nodearraylist1*/;
21791 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
21792 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction254___action, LOCATE_parser, 13470); nit_exit(1);}
21793 variable[15] = variable[12] /*nodearraylist2*/;
21794 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
21795 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction254___action, LOCATE_parser, 13472); nit_exit(1);}
21796 variable[16] = variable[11] /*nodearraylist3*/;
21797 variable[17] = TAG_Bool(( variable[16] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[16] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
21798 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction254___action, LOCATE_parser, 13474); nit_exit(1);}
21799 variable[17] = variable[10] /*nodearraylist4*/;
21800 variable[18] = TAG_Bool(( variable[17] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
21801 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction254___action, LOCATE_parser, 13476); nit_exit(1);}
21802 variable[18] = variable[9] /*nodearraylist5*/;
21803 variable[19] = TAG_Bool(( variable[18] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[18] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
21804 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction254___action, LOCATE_parser, 13478); nit_exit(1);}
21805 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
21806 variable[19] = variable[20];
21807 variable[21] = NEW_Array_array___Array___init(); /*new Array[Object]*/
21808 variable[20] = variable[21];
21809 variable[21] = variable[8] /*nodearraylist6*/;
21810 variable[22] = TAG_Bool(( variable[21] /*listnode10*/==NIT_NULL) || VAL_ISA( variable[21] /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
21811 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction254___action, LOCATE_parser, 13482); nit_exit(1);}
21812 variable[22] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[21] /*listnode10*/ == NIT_NULL /*null*/) || (( variable[21] /*listnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[21] /*listnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode10*/,COLOR_kernel___Object_____eqeq))( variable[21] /*listnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
21813 if (UNTAG_Bool(variable[22])) { /*if*/
21814 variable[22] = ((array___AbstractArray___is_empty_t)CALL( variable[20] /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable[20] /*listnode11*/) /*AbstractArray::is_empty*/;
21815 if (UNTAG_Bool(variable[22])) { /*if*/
21816 variable[20] = variable[21] /*listnode10*/ /*listnode11=*/;
21817 } else { /*if*/
21818 ((abstract_collection___IndexedCollection___append_t)CALL( variable[20] /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable[20] /*listnode11*/, variable[21] /*listnode10*/) /*IndexedCollection::append*/;
21819 }
21820 }
21821 variable[23] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[19] /*listnode8*/, NIT_NULL /*null*/, variable[20] /*listnode11*/); /*new ASignature*/
21822 variable[22] = variable[23];
21823 variable[23] = variable[5] /*nodearraylist9*/;
21824 variable[24] = TAG_Bool(( variable[23] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[23] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21825 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction254___action, LOCATE_parser, 13496); nit_exit(1);}
21826 variable[25] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable[14] /*pdocnode2*/, variable[15] /*tkwredefnode3*/, variable[16] /*pvisibilitynode4*/, variable[17] /*tkwmethnode5*/, variable[18] /*pmethidnode6*/, variable[22] /*psignaturenode7*/, variable[23] /*pexprnode12*/); /*new AConcreteMethPropdef*/
21827 variable[24] = variable[25];
21828 variable[3] = variable[24] /*ppropdefnode1*/ /*node_list=*/;
21829 variable[25] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
21830 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[25], variable[3] /*node_list*/) /*Parser::push*/;
21831 return_label540: while(false);
21832 tracehead = trace.prev;
21833 return;
21834 }
21835 void parser___ReduceAction254___init(val_t self, int* init_table) {
21836 struct trace_t trace = {NULL, NULL, 13509, LOCATE_parser___ReduceAction254___init};
21837 val_t variable[2];
21838 void **closurevariable = NULL;
21839 trace.prev = tracehead; tracehead = &trace;
21840 trace.file = LOCATE_parser;
21841 variable[0] = self;
21842 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction254].i]) return;
21843 return_label541: while(false);
21844 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction254].i] = 1;
21845 tracehead = trace.prev;
21846 return;
21847 }
21848 void parser___ReduceAction255___action(val_t self, val_t param0) {
21849 struct trace_t trace = {NULL, NULL, 13513, LOCATE_parser___ReduceAction255___action};
21850 val_t variable[28];
21851 void **closurevariable = NULL;
21852 trace.prev = tracehead; tracehead = &trace;
21853 trace.file = LOCATE_parser;
21854 variable[0] = self;
21855 variable[1] = param0;
21856 variable[3] = NIT_NULL /*null*/;
21857 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21858 variable[4] = variable[5];
21859 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21860 variable[5] = variable[6];
21861 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21862 variable[6] = variable[7];
21863 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21864 variable[7] = variable[8];
21865 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21866 variable[8] = variable[9];
21867 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21868 variable[9] = variable[10];
21869 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21870 variable[10] = variable[11];
21871 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21872 variable[11] = variable[12];
21873 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21874 variable[12] = variable[13];
21875 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21876 variable[13] = variable[14];
21877 variable[15] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21878 variable[14] = variable[15];
21879 variable[15] = variable[14] /*nodearraylist1*/;
21880 variable[16] = TAG_Bool(( variable[15] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
21881 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction255___action, LOCATE_parser, 13528); nit_exit(1);}
21882 variable[16] = variable[13] /*nodearraylist2*/;
21883 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
21884 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction255___action, LOCATE_parser, 13530); nit_exit(1);}
21885 variable[17] = variable[12] /*nodearraylist3*/;
21886 variable[18] = TAG_Bool(( variable[17] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[17] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
21887 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction255___action, LOCATE_parser, 13532); nit_exit(1);}
21888 variable[18] = variable[11] /*nodearraylist4*/;
21889 variable[19] = TAG_Bool(( variable[18] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
21890 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction255___action, LOCATE_parser, 13534); nit_exit(1);}
21891 variable[19] = variable[10] /*nodearraylist5*/;
21892 variable[20] = TAG_Bool(( variable[19] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[19] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
21893 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction255___action, LOCATE_parser, 13536); nit_exit(1);}
21894 variable[21] = NEW_Array_array___Array___init(); /*new Array[Object]*/
21895 variable[20] = variable[21];
21896 variable[22] = NEW_Array_array___Array___init(); /*new Array[Object]*/
21897 variable[21] = variable[22];
21898 variable[22] = variable[9] /*nodearraylist6*/;
21899 variable[23] = TAG_Bool(( variable[22] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[22] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
21900 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction255___action, LOCATE_parser, 13540); nit_exit(1);}
21901 variable[23] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[22] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[22] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[22] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[22] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[22] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[22] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
21902 if (UNTAG_Bool(variable[23])) { /*if*/
21903 variable[23] = ((array___AbstractArray___is_empty_t)CALL( variable[20] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[20] /*listnode9*/) /*AbstractArray::is_empty*/;
21904 if (UNTAG_Bool(variable[23])) { /*if*/
21905 variable[20] = variable[22] /*listnode8*/ /*listnode9=*/;
21906 } else { /*if*/
21907 ((abstract_collection___IndexedCollection___append_t)CALL( variable[20] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[20] /*listnode9*/, variable[22] /*listnode8*/) /*IndexedCollection::append*/;
21908 }
21909 }
21910 variable[23] = variable[8] /*nodearraylist7*/;
21911 variable[24] = TAG_Bool(( variable[23] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[23] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
21912 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction255___action, LOCATE_parser, 13549); nit_exit(1);}
21913 variable[24] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[23] /*listnode11*/ == NIT_NULL /*null*/) || (( variable[23] /*listnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[23] /*listnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[23] /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[23] /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable[23] /*listnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
21914 if (UNTAG_Bool(variable[24])) { /*if*/
21915 variable[24] = ((array___AbstractArray___is_empty_t)CALL( variable[21] /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable[21] /*listnode12*/) /*AbstractArray::is_empty*/;
21916 if (UNTAG_Bool(variable[24])) { /*if*/
21917 variable[21] = variable[23] /*listnode11*/ /*listnode12=*/;
21918 } else { /*if*/
21919 ((abstract_collection___IndexedCollection___append_t)CALL( variable[21] /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable[21] /*listnode12*/, variable[23] /*listnode11*/) /*IndexedCollection::append*/;
21920 }
21921 }
21922 variable[25] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[20] /*listnode9*/, NIT_NULL /*null*/, variable[21] /*listnode12*/); /*new ASignature*/
21923 variable[24] = variable[25];
21924 variable[25] = variable[5] /*nodearraylist10*/;
21925 variable[26] = TAG_Bool(( variable[25] /*pexprnode13*/==NIT_NULL) || VAL_ISA( variable[25] /*pexprnode13*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21926 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction255___action, LOCATE_parser, 13563); nit_exit(1);}
21927 variable[27] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable[15] /*pdocnode2*/, variable[16] /*tkwredefnode3*/, variable[17] /*pvisibilitynode4*/, variable[18] /*tkwmethnode5*/, variable[19] /*pmethidnode6*/, variable[24] /*psignaturenode7*/, variable[25] /*pexprnode13*/); /*new AConcreteMethPropdef*/
21928 variable[26] = variable[27];
21929 variable[3] = variable[26] /*ppropdefnode1*/ /*node_list=*/;
21930 variable[27] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
21931 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[27], variable[3] /*node_list*/) /*Parser::push*/;
21932 return_label542: while(false);
21933 tracehead = trace.prev;
21934 return;
21935 }
21936 void parser___ReduceAction255___init(val_t self, int* init_table) {
21937 struct trace_t trace = {NULL, NULL, 13576, LOCATE_parser___ReduceAction255___init};
21938 val_t variable[2];
21939 void **closurevariable = NULL;
21940 trace.prev = tracehead; tracehead = &trace;
21941 trace.file = LOCATE_parser;
21942 variable[0] = self;
21943 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction255].i]) return;
21944 return_label543: while(false);
21945 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction255].i] = 1;
21946 tracehead = trace.prev;
21947 return;
21948 }
21949 void parser___ReduceAction256___action(val_t self, val_t param0) {
21950 struct trace_t trace = {NULL, NULL, 13580, LOCATE_parser___ReduceAction256___action};
21951 val_t variable[28];
21952 void **closurevariable = NULL;
21953 trace.prev = tracehead; tracehead = &trace;
21954 trace.file = LOCATE_parser;
21955 variable[0] = self;
21956 variable[1] = param0;
21957 variable[3] = NIT_NULL /*null*/;
21958 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21959 variable[4] = variable[5];
21960 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21961 variable[5] = variable[6];
21962 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21963 variable[6] = variable[7];
21964 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21965 variable[7] = variable[8];
21966 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21967 variable[8] = variable[9];
21968 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21969 variable[9] = variable[10];
21970 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21971 variable[10] = variable[11];
21972 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21973 variable[11] = variable[12];
21974 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21975 variable[12] = variable[13];
21976 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21977 variable[13] = variable[14];
21978 variable[15] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
21979 variable[14] = variable[15];
21980 variable[15] = variable[14] /*nodearraylist1*/;
21981 variable[16] = TAG_Bool(( variable[15] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
21982 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction256___action, LOCATE_parser, 13595); nit_exit(1);}
21983 variable[16] = variable[13] /*nodearraylist2*/;
21984 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
21985 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction256___action, LOCATE_parser, 13597); nit_exit(1);}
21986 variable[17] = variable[12] /*nodearraylist3*/;
21987 variable[18] = TAG_Bool(( variable[17] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[17] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
21988 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction256___action, LOCATE_parser, 13599); nit_exit(1);}
21989 variable[18] = variable[11] /*nodearraylist4*/;
21990 variable[19] = TAG_Bool(( variable[18] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
21991 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction256___action, LOCATE_parser, 13601); nit_exit(1);}
21992 variable[19] = variable[10] /*nodearraylist5*/;
21993 variable[20] = TAG_Bool(( variable[19] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[19] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
21994 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction256___action, LOCATE_parser, 13603); nit_exit(1);}
21995 variable[21] = NEW_Array_array___Array___init(); /*new Array[Object]*/
21996 variable[20] = variable[21];
21997 variable[22] = NEW_Array_array___Array___init(); /*new Array[Object]*/
21998 variable[21] = variable[22];
21999 variable[22] = variable[9] /*nodearraylist6*/;
22000 variable[23] = TAG_Bool(( variable[22] /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable[22] /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
22001 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction256___action, LOCATE_parser, 13607); nit_exit(1);}
22002 variable[23] = variable[8] /*nodearraylist7*/;
22003 variable[24] = TAG_Bool(( variable[23] /*listnode10*/==NIT_NULL) || VAL_ISA( variable[23] /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
22004 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction256___action, LOCATE_parser, 13609); nit_exit(1);}
22005 variable[24] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[23] /*listnode10*/ == NIT_NULL /*null*/) || (( variable[23] /*listnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[23] /*listnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[23] /*listnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[23] /*listnode10*/,COLOR_kernel___Object_____eqeq))( variable[23] /*listnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
22006 if (UNTAG_Bool(variable[24])) { /*if*/
22007 variable[24] = ((array___AbstractArray___is_empty_t)CALL( variable[21] /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable[21] /*listnode11*/) /*AbstractArray::is_empty*/;
22008 if (UNTAG_Bool(variable[24])) { /*if*/
22009 variable[21] = variable[23] /*listnode10*/ /*listnode11=*/;
22010 } else { /*if*/
22011 ((abstract_collection___IndexedCollection___append_t)CALL( variable[21] /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable[21] /*listnode11*/, variable[23] /*listnode10*/) /*IndexedCollection::append*/;
22012 }
22013 }
22014 variable[25] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[20] /*listnode8*/, variable[22] /*ptypenode9*/, variable[21] /*listnode11*/); /*new ASignature*/
22015 variable[24] = variable[25];
22016 variable[25] = variable[5] /*nodearraylist10*/;
22017 variable[26] = TAG_Bool(( variable[25] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[25] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22018 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction256___action, LOCATE_parser, 13623); nit_exit(1);}
22019 variable[27] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable[15] /*pdocnode2*/, variable[16] /*tkwredefnode3*/, variable[17] /*pvisibilitynode4*/, variable[18] /*tkwmethnode5*/, variable[19] /*pmethidnode6*/, variable[24] /*psignaturenode7*/, variable[25] /*pexprnode12*/); /*new AConcreteMethPropdef*/
22020 variable[26] = variable[27];
22021 variable[3] = variable[26] /*ppropdefnode1*/ /*node_list=*/;
22022 variable[27] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
22023 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[27], variable[3] /*node_list*/) /*Parser::push*/;
22024 return_label544: while(false);
22025 tracehead = trace.prev;
22026 return;
22027 }
22028 void parser___ReduceAction256___init(val_t self, int* init_table) {
22029 struct trace_t trace = {NULL, NULL, 13636, LOCATE_parser___ReduceAction256___init};
22030 val_t variable[2];
22031 void **closurevariable = NULL;
22032 trace.prev = tracehead; tracehead = &trace;
22033 trace.file = LOCATE_parser;
22034 variable[0] = self;
22035 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction256].i]) return;
22036 return_label545: while(false);
22037 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction256].i] = 1;
22038 tracehead = trace.prev;
22039 return;
22040 }
22041 void parser___ReduceAction257___action(val_t self, val_t param0) {
22042 struct trace_t trace = {NULL, NULL, 13640, LOCATE_parser___ReduceAction257___action};
22043 val_t variable[30];
22044 void **closurevariable = NULL;
22045 trace.prev = tracehead; tracehead = &trace;
22046 trace.file = LOCATE_parser;
22047 variable[0] = self;
22048 variable[1] = param0;
22049 variable[3] = NIT_NULL /*null*/;
22050 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22051 variable[4] = variable[5];
22052 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22053 variable[5] = variable[6];
22054 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22055 variable[6] = variable[7];
22056 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22057 variable[7] = variable[8];
22058 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22059 variable[8] = variable[9];
22060 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22061 variable[9] = variable[10];
22062 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22063 variable[10] = variable[11];
22064 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22065 variable[11] = variable[12];
22066 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22067 variable[12] = variable[13];
22068 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22069 variable[13] = variable[14];
22070 variable[15] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22071 variable[14] = variable[15];
22072 variable[16] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22073 variable[15] = variable[16];
22074 variable[16] = variable[15] /*nodearraylist1*/;
22075 variable[17] = TAG_Bool(( variable[16] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[16] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
22076 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction257___action, LOCATE_parser, 13656); nit_exit(1);}
22077 variable[17] = variable[14] /*nodearraylist2*/;
22078 variable[18] = TAG_Bool(( variable[17] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
22079 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction257___action, LOCATE_parser, 13658); nit_exit(1);}
22080 variable[18] = variable[13] /*nodearraylist3*/;
22081 variable[19] = TAG_Bool(( variable[18] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[18] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
22082 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction257___action, LOCATE_parser, 13660); nit_exit(1);}
22083 variable[19] = variable[12] /*nodearraylist4*/;
22084 variable[20] = TAG_Bool(( variable[19] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
22085 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction257___action, LOCATE_parser, 13662); nit_exit(1);}
22086 variable[20] = variable[11] /*nodearraylist5*/;
22087 variable[21] = TAG_Bool(( variable[20] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[20] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
22088 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction257___action, LOCATE_parser, 13664); nit_exit(1);}
22089 variable[22] = NEW_Array_array___Array___init(); /*new Array[Object]*/
22090 variable[21] = variable[22];
22091 variable[23] = NEW_Array_array___Array___init(); /*new Array[Object]*/
22092 variable[22] = variable[23];
22093 variable[23] = variable[10] /*nodearraylist6*/;
22094 variable[24] = TAG_Bool(( variable[23] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[23] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
22095 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction257___action, LOCATE_parser, 13668); nit_exit(1);}
22096 variable[24] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[23] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[23] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[23] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[23] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[23] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[23] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
22097 if (UNTAG_Bool(variable[24])) { /*if*/
22098 variable[24] = ((array___AbstractArray___is_empty_t)CALL( variable[21] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[21] /*listnode9*/) /*AbstractArray::is_empty*/;
22099 if (UNTAG_Bool(variable[24])) { /*if*/
22100 variable[21] = variable[23] /*listnode8*/ /*listnode9=*/;
22101 } else { /*if*/
22102 ((abstract_collection___IndexedCollection___append_t)CALL( variable[21] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[21] /*listnode9*/, variable[23] /*listnode8*/) /*IndexedCollection::append*/;
22103 }
22104 }
22105 variable[24] = variable[9] /*nodearraylist7*/;
22106 variable[25] = TAG_Bool(( variable[24] /*ptypenode10*/==NIT_NULL) || VAL_ISA( variable[24] /*ptypenode10*/, COLOR_PType, ID_PType)) /*cast PType*/;
22107 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction257___action, LOCATE_parser, 13677); nit_exit(1);}
22108 variable[25] = variable[8] /*nodearraylist8*/;
22109 variable[26] = TAG_Bool(( variable[25] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[25] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
22110 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction257___action, LOCATE_parser, 13679); nit_exit(1);}
22111 variable[26] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[25] /*listnode11*/ == NIT_NULL /*null*/) || (( variable[25] /*listnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[25] /*listnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[25] /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[25] /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable[25] /*listnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
22112 if (UNTAG_Bool(variable[26])) { /*if*/
22113 variable[26] = ((array___AbstractArray___is_empty_t)CALL( variable[22] /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable[22] /*listnode12*/) /*AbstractArray::is_empty*/;
22114 if (UNTAG_Bool(variable[26])) { /*if*/
22115 variable[22] = variable[25] /*listnode11*/ /*listnode12=*/;
22116 } else { /*if*/
22117 ((abstract_collection___IndexedCollection___append_t)CALL( variable[22] /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable[22] /*listnode12*/, variable[25] /*listnode11*/) /*IndexedCollection::append*/;
22118 }
22119 }
22120 variable[27] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[21] /*listnode9*/, variable[24] /*ptypenode10*/, variable[22] /*listnode12*/); /*new ASignature*/
22121 variable[26] = variable[27];
22122 variable[27] = variable[5] /*nodearraylist11*/;
22123 variable[28] = TAG_Bool(( variable[27] /*pexprnode13*/==NIT_NULL) || VAL_ISA( variable[27] /*pexprnode13*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22124 if (!UNTAG_Bool(variable[28])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction257___action, LOCATE_parser, 13693); nit_exit(1);}
22125 variable[29] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable[16] /*pdocnode2*/, variable[17] /*tkwredefnode3*/, variable[18] /*pvisibilitynode4*/, variable[19] /*tkwmethnode5*/, variable[20] /*pmethidnode6*/, variable[26] /*psignaturenode7*/, variable[27] /*pexprnode13*/); /*new AConcreteMethPropdef*/
22126 variable[28] = variable[29];
22127 variable[3] = variable[28] /*ppropdefnode1*/ /*node_list=*/;
22128 variable[29] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
22129 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[29], variable[3] /*node_list*/) /*Parser::push*/;
22130 return_label546: while(false);
22131 tracehead = trace.prev;
22132 return;
22133 }
22134 void parser___ReduceAction257___init(val_t self, int* init_table) {
22135 struct trace_t trace = {NULL, NULL, 13706, LOCATE_parser___ReduceAction257___init};
22136 val_t variable[2];
22137 void **closurevariable = NULL;
22138 trace.prev = tracehead; tracehead = &trace;
22139 trace.file = LOCATE_parser;
22140 variable[0] = self;
22141 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction257].i]) return;
22142 return_label547: while(false);
22143 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction257].i] = 1;
22144 tracehead = trace.prev;
22145 return;
22146 }
22147 void parser___ReduceAction258___action(val_t self, val_t param0) {
22148 struct trace_t trace = {NULL, NULL, 13710, LOCATE_parser___ReduceAction258___action};
22149 val_t variable[19];
22150 void **closurevariable = NULL;
22151 trace.prev = tracehead; tracehead = &trace;
22152 trace.file = LOCATE_parser;
22153 variable[0] = self;
22154 variable[1] = param0;
22155 variable[3] = NIT_NULL /*null*/;
22156 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22157 variable[4] = variable[5];
22158 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22159 variable[5] = variable[6];
22160 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22161 variable[6] = variable[7];
22162 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22163 variable[7] = variable[8];
22164 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22165 variable[8] = variable[9];
22166 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22167 variable[9] = variable[10];
22168 variable[10] = variable[9] /*nodearraylist1*/;
22169 variable[11] = TAG_Bool(( variable[10] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
22170 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction258___action, LOCATE_parser, 13720); nit_exit(1);}
22171 variable[11] = variable[8] /*nodearraylist2*/;
22172 variable[12] = TAG_Bool(( variable[11] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[11] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
22173 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction258___action, LOCATE_parser, 13722); nit_exit(1);}
22174 variable[12] = variable[7] /*nodearraylist3*/;
22175 variable[13] = TAG_Bool(( variable[12] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
22176 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction258___action, LOCATE_parser, 13724); nit_exit(1);}
22177 variable[14] = NEW_Array_array___Array___init(); /*new Array[Object]*/
22178 variable[13] = variable[14];
22179 variable[15] = NEW_Array_array___Array___init(); /*new Array[Object]*/
22180 variable[14] = variable[15];
22181 variable[16] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[13] /*listnode8*/, NIT_NULL /*null*/, variable[14] /*listnode10*/); /*new ASignature*/
22182 variable[15] = variable[16];
22183 variable[16] = variable[4] /*nodearraylist6*/;
22184 variable[17] = TAG_Bool(( variable[16] /*pexprnode11*/==NIT_NULL) || VAL_ISA( variable[16] /*pexprnode11*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22185 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction258___action, LOCATE_parser, 13733); nit_exit(1);}
22186 variable[18] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[10] /*pdocnode2*/, NIT_NULL /*null*/, variable[11] /*pvisibilitynode4*/, variable[12] /*tkwinitnode5*/, NIT_NULL /*null*/, variable[15] /*psignaturenode7*/, variable[16] /*pexprnode11*/); /*new AConcreteInitPropdef*/
22187 variable[17] = variable[18];
22188 variable[3] = variable[17] /*ppropdefnode1*/ /*node_list=*/;
22189 variable[18] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
22190 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
22191 return_label548: while(false);
22192 tracehead = trace.prev;
22193 return;
22194 }
22195 void parser___ReduceAction258___init(val_t self, int* init_table) {
22196 struct trace_t trace = {NULL, NULL, 13746, LOCATE_parser___ReduceAction258___init};
22197 val_t variable[2];
22198 void **closurevariable = NULL;
22199 trace.prev = tracehead; tracehead = &trace;
22200 trace.file = LOCATE_parser;
22201 variable[0] = self;
22202 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction258].i]) return;
22203 return_label549: while(false);
22204 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction258].i] = 1;
22205 tracehead = trace.prev;
22206 return;
22207 }
22208 void parser___ReduceAction259___action(val_t self, val_t param0) {
22209 struct trace_t trace = {NULL, NULL, 13750, LOCATE_parser___ReduceAction259___action};
22210 val_t variable[21];
22211 void **closurevariable = NULL;
22212 trace.prev = tracehead; tracehead = &trace;
22213 trace.file = LOCATE_parser;
22214 variable[0] = self;
22215 variable[1] = param0;
22216 variable[3] = NIT_NULL /*null*/;
22217 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22218 variable[4] = variable[5];
22219 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22220 variable[5] = variable[6];
22221 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22222 variable[6] = variable[7];
22223 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22224 variable[7] = variable[8];
22225 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22226 variable[8] = variable[9];
22227 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22228 variable[9] = variable[10];
22229 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22230 variable[10] = variable[11];
22231 variable[11] = variable[10] /*nodearraylist1*/;
22232 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
22233 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction259___action, LOCATE_parser, 13761); nit_exit(1);}
22234 variable[12] = variable[9] /*nodearraylist2*/;
22235 variable[13] = TAG_Bool(( variable[12] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[12] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
22236 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction259___action, LOCATE_parser, 13763); nit_exit(1);}
22237 variable[13] = variable[8] /*nodearraylist3*/;
22238 variable[14] = TAG_Bool(( variable[13] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
22239 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction259___action, LOCATE_parser, 13765); nit_exit(1);}
22240 variable[15] = NEW_Array_array___Array___init(); /*new Array[Object]*/
22241 variable[14] = variable[15];
22242 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
22243 variable[15] = variable[16];
22244 variable[16] = variable[7] /*nodearraylist4*/;
22245 variable[17] = TAG_Bool(( variable[16] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[16] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
22246 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction259___action, LOCATE_parser, 13769); nit_exit(1);}
22247 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[16] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[16] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[16] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[16] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[16] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[16] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
22248 if (UNTAG_Bool(variable[17])) { /*if*/
22249 variable[17] = ((array___AbstractArray___is_empty_t)CALL( variable[14] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[14] /*listnode9*/) /*AbstractArray::is_empty*/;
22250 if (UNTAG_Bool(variable[17])) { /*if*/
22251 variable[14] = variable[16] /*listnode8*/ /*listnode9=*/;
22252 } else { /*if*/
22253 ((abstract_collection___IndexedCollection___append_t)CALL( variable[14] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[14] /*listnode9*/, variable[16] /*listnode8*/) /*IndexedCollection::append*/;
22254 }
22255 }
22256 variable[18] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[14] /*listnode9*/, NIT_NULL /*null*/, variable[15] /*listnode11*/); /*new ASignature*/
22257 variable[17] = variable[18];
22258 variable[18] = variable[4] /*nodearraylist7*/;
22259 variable[19] = TAG_Bool(( variable[18] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[18] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22260 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction259___action, LOCATE_parser, 13783); nit_exit(1);}
22261 variable[20] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[11] /*pdocnode2*/, NIT_NULL /*null*/, variable[12] /*pvisibilitynode4*/, variable[13] /*tkwinitnode5*/, NIT_NULL /*null*/, variable[17] /*psignaturenode7*/, variable[18] /*pexprnode12*/); /*new AConcreteInitPropdef*/
22262 variable[19] = variable[20];
22263 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
22264 variable[20] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
22265 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
22266 return_label550: while(false);
22267 tracehead = trace.prev;
22268 return;
22269 }
22270 void parser___ReduceAction259___init(val_t self, int* init_table) {
22271 struct trace_t trace = {NULL, NULL, 13796, LOCATE_parser___ReduceAction259___init};
22272 val_t variable[2];
22273 void **closurevariable = NULL;
22274 trace.prev = tracehead; tracehead = &trace;
22275 trace.file = LOCATE_parser;
22276 variable[0] = self;
22277 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction259].i]) return;
22278 return_label551: while(false);
22279 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction259].i] = 1;
22280 tracehead = trace.prev;
22281 return;
22282 }
22283 void parser___ReduceAction260___action(val_t self, val_t param0) {
22284 struct trace_t trace = {NULL, NULL, 13800, LOCATE_parser___ReduceAction260___action};
22285 val_t variable[21];
22286 void **closurevariable = NULL;
22287 trace.prev = tracehead; tracehead = &trace;
22288 trace.file = LOCATE_parser;
22289 variable[0] = self;
22290 variable[1] = param0;
22291 variable[3] = NIT_NULL /*null*/;
22292 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22293 variable[4] = variable[5];
22294 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22295 variable[5] = variable[6];
22296 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22297 variable[6] = variable[7];
22298 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22299 variable[7] = variable[8];
22300 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22301 variable[8] = variable[9];
22302 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22303 variable[9] = variable[10];
22304 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22305 variable[10] = variable[11];
22306 variable[11] = variable[10] /*nodearraylist1*/;
22307 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
22308 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction260___action, LOCATE_parser, 13811); nit_exit(1);}
22309 variable[12] = variable[9] /*nodearraylist2*/;
22310 variable[13] = TAG_Bool(( variable[12] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[12] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
22311 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction260___action, LOCATE_parser, 13813); nit_exit(1);}
22312 variable[13] = variable[8] /*nodearraylist3*/;
22313 variable[14] = TAG_Bool(( variable[13] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
22314 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction260___action, LOCATE_parser, 13815); nit_exit(1);}
22315 variable[15] = NEW_Array_array___Array___init(); /*new Array[Object]*/
22316 variable[14] = variable[15];
22317 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
22318 variable[15] = variable[16];
22319 variable[16] = variable[7] /*nodearraylist4*/;
22320 variable[17] = TAG_Bool(( variable[16] /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable[16] /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
22321 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction260___action, LOCATE_parser, 13819); nit_exit(1);}
22322 variable[18] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[14] /*listnode8*/, variable[16] /*ptypenode9*/, variable[15] /*listnode10*/); /*new ASignature*/
22323 variable[17] = variable[18];
22324 variable[18] = variable[4] /*nodearraylist7*/;
22325 variable[19] = TAG_Bool(( variable[18] /*pexprnode11*/==NIT_NULL) || VAL_ISA( variable[18] /*pexprnode11*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22326 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction260___action, LOCATE_parser, 13826); nit_exit(1);}
22327 variable[20] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[11] /*pdocnode2*/, NIT_NULL /*null*/, variable[12] /*pvisibilitynode4*/, variable[13] /*tkwinitnode5*/, NIT_NULL /*null*/, variable[17] /*psignaturenode7*/, variable[18] /*pexprnode11*/); /*new AConcreteInitPropdef*/
22328 variable[19] = variable[20];
22329 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
22330 variable[20] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
22331 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
22332 return_label552: while(false);
22333 tracehead = trace.prev;
22334 return;
22335 }
22336 void parser___ReduceAction260___init(val_t self, int* init_table) {
22337 struct trace_t trace = {NULL, NULL, 13839, LOCATE_parser___ReduceAction260___init};
22338 val_t variable[2];
22339 void **closurevariable = NULL;
22340 trace.prev = tracehead; tracehead = &trace;
22341 trace.file = LOCATE_parser;
22342 variable[0] = self;
22343 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction260].i]) return;
22344 return_label553: while(false);
22345 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction260].i] = 1;
22346 tracehead = trace.prev;
22347 return;
22348 }
22349 void parser___ReduceAction261___action(val_t self, val_t param0) {
22350 struct trace_t trace = {NULL, NULL, 13843, LOCATE_parser___ReduceAction261___action};
22351 val_t variable[23];
22352 void **closurevariable = NULL;
22353 trace.prev = tracehead; tracehead = &trace;
22354 trace.file = LOCATE_parser;
22355 variable[0] = self;
22356 variable[1] = param0;
22357 variable[3] = NIT_NULL /*null*/;
22358 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22359 variable[4] = variable[5];
22360 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22361 variable[5] = variable[6];
22362 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22363 variable[6] = variable[7];
22364 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22365 variable[7] = variable[8];
22366 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22367 variable[8] = variable[9];
22368 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22369 variable[9] = variable[10];
22370 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22371 variable[10] = variable[11];
22372 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22373 variable[11] = variable[12];
22374 variable[12] = variable[11] /*nodearraylist1*/;
22375 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
22376 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction261___action, LOCATE_parser, 13855); nit_exit(1);}
22377 variable[13] = variable[10] /*nodearraylist2*/;
22378 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
22379 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction261___action, LOCATE_parser, 13857); nit_exit(1);}
22380 variable[14] = variable[9] /*nodearraylist3*/;
22381 variable[15] = TAG_Bool(( variable[14] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
22382 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction261___action, LOCATE_parser, 13859); nit_exit(1);}
22383 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
22384 variable[15] = variable[16];
22385 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
22386 variable[16] = variable[17];
22387 variable[17] = variable[8] /*nodearraylist4*/;
22388 variable[18] = TAG_Bool(( variable[17] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[17] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
22389 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction261___action, LOCATE_parser, 13863); nit_exit(1);}
22390 variable[18] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[17] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[17] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[17] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[17] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[17] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[17] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
22391 if (UNTAG_Bool(variable[18])) { /*if*/
22392 variable[18] = ((array___AbstractArray___is_empty_t)CALL( variable[15] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[15] /*listnode9*/) /*AbstractArray::is_empty*/;
22393 if (UNTAG_Bool(variable[18])) { /*if*/
22394 variable[15] = variable[17] /*listnode8*/ /*listnode9=*/;
22395 } else { /*if*/
22396 ((abstract_collection___IndexedCollection___append_t)CALL( variable[15] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[15] /*listnode9*/, variable[17] /*listnode8*/) /*IndexedCollection::append*/;
22397 }
22398 }
22399 variable[18] = variable[7] /*nodearraylist5*/;
22400 variable[19] = TAG_Bool(( variable[18] /*ptypenode10*/==NIT_NULL) || VAL_ISA( variable[18] /*ptypenode10*/, COLOR_PType, ID_PType)) /*cast PType*/;
22401 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction261___action, LOCATE_parser, 13872); nit_exit(1);}
22402 variable[20] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[15] /*listnode9*/, variable[18] /*ptypenode10*/, variable[16] /*listnode11*/); /*new ASignature*/
22403 variable[19] = variable[20];
22404 variable[20] = variable[4] /*nodearraylist8*/;
22405 variable[21] = TAG_Bool(( variable[20] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[20] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22406 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction261___action, LOCATE_parser, 13879); nit_exit(1);}
22407 variable[22] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[12] /*pdocnode2*/, NIT_NULL /*null*/, variable[13] /*pvisibilitynode4*/, variable[14] /*tkwinitnode5*/, NIT_NULL /*null*/, variable[19] /*psignaturenode7*/, variable[20] /*pexprnode12*/); /*new AConcreteInitPropdef*/
22408 variable[21] = variable[22];
22409 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
22410 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
22411 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
22412 return_label554: while(false);
22413 tracehead = trace.prev;
22414 return;
22415 }
22416 void parser___ReduceAction261___init(val_t self, int* init_table) {
22417 struct trace_t trace = {NULL, NULL, 13892, LOCATE_parser___ReduceAction261___init};
22418 val_t variable[2];
22419 void **closurevariable = NULL;
22420 trace.prev = tracehead; tracehead = &trace;
22421 trace.file = LOCATE_parser;
22422 variable[0] = self;
22423 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction261].i]) return;
22424 return_label555: while(false);
22425 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction261].i] = 1;
22426 tracehead = trace.prev;
22427 return;
22428 }
22429 void parser___ReduceAction262___action(val_t self, val_t param0) {
22430 struct trace_t trace = {NULL, NULL, 13896, LOCATE_parser___ReduceAction262___action};
22431 val_t variable[21];
22432 void **closurevariable = NULL;
22433 trace.prev = tracehead; tracehead = &trace;
22434 trace.file = LOCATE_parser;
22435 variable[0] = self;
22436 variable[1] = param0;
22437 variable[3] = NIT_NULL /*null*/;
22438 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22439 variable[4] = variable[5];
22440 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22441 variable[5] = variable[6];
22442 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22443 variable[6] = variable[7];
22444 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22445 variable[7] = variable[8];
22446 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22447 variable[8] = variable[9];
22448 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22449 variable[9] = variable[10];
22450 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22451 variable[10] = variable[11];
22452 variable[11] = variable[10] /*nodearraylist1*/;
22453 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
22454 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction262___action, LOCATE_parser, 13907); nit_exit(1);}
22455 variable[12] = variable[9] /*nodearraylist2*/;
22456 variable[13] = TAG_Bool(( variable[12] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[12] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
22457 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction262___action, LOCATE_parser, 13909); nit_exit(1);}
22458 variable[13] = variable[8] /*nodearraylist3*/;
22459 variable[14] = TAG_Bool(( variable[13] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
22460 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction262___action, LOCATE_parser, 13911); nit_exit(1);}
22461 variable[15] = NEW_Array_array___Array___init(); /*new Array[Object]*/
22462 variable[14] = variable[15];
22463 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
22464 variable[15] = variable[16];
22465 variable[16] = variable[7] /*nodearraylist4*/;
22466 variable[17] = TAG_Bool(( variable[16] /*listnode10*/==NIT_NULL) || VAL_ISA( variable[16] /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
22467 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction262___action, LOCATE_parser, 13915); nit_exit(1);}
22468 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[16] /*listnode10*/ == NIT_NULL /*null*/) || (( variable[16] /*listnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[16] /*listnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[16] /*listnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[16] /*listnode10*/,COLOR_kernel___Object_____eqeq))( variable[16] /*listnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
22469 if (UNTAG_Bool(variable[17])) { /*if*/
22470 variable[17] = ((array___AbstractArray___is_empty_t)CALL( variable[15] /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable[15] /*listnode11*/) /*AbstractArray::is_empty*/;
22471 if (UNTAG_Bool(variable[17])) { /*if*/
22472 variable[15] = variable[16] /*listnode10*/ /*listnode11=*/;
22473 } else { /*if*/
22474 ((abstract_collection___IndexedCollection___append_t)CALL( variable[15] /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable[15] /*listnode11*/, variable[16] /*listnode10*/) /*IndexedCollection::append*/;
22475 }
22476 }
22477 variable[18] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[14] /*listnode8*/, NIT_NULL /*null*/, variable[15] /*listnode11*/); /*new ASignature*/
22478 variable[17] = variable[18];
22479 variable[18] = variable[4] /*nodearraylist7*/;
22480 variable[19] = TAG_Bool(( variable[18] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[18] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22481 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction262___action, LOCATE_parser, 13929); nit_exit(1);}
22482 variable[20] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[11] /*pdocnode2*/, NIT_NULL /*null*/, variable[12] /*pvisibilitynode4*/, variable[13] /*tkwinitnode5*/, NIT_NULL /*null*/, variable[17] /*psignaturenode7*/, variable[18] /*pexprnode12*/); /*new AConcreteInitPropdef*/
22483 variable[19] = variable[20];
22484 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
22485 variable[20] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
22486 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
22487 return_label556: while(false);
22488 tracehead = trace.prev;
22489 return;
22490 }
22491 void parser___ReduceAction262___init(val_t self, int* init_table) {
22492 struct trace_t trace = {NULL, NULL, 13942, LOCATE_parser___ReduceAction262___init};
22493 val_t variable[2];
22494 void **closurevariable = NULL;
22495 trace.prev = tracehead; tracehead = &trace;
22496 trace.file = LOCATE_parser;
22497 variable[0] = self;
22498 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction262].i]) return;
22499 return_label557: while(false);
22500 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction262].i] = 1;
22501 tracehead = trace.prev;
22502 return;
22503 }
22504 void parser___ReduceAction263___action(val_t self, val_t param0) {
22505 struct trace_t trace = {NULL, NULL, 13946, LOCATE_parser___ReduceAction263___action};
22506 val_t variable[23];
22507 void **closurevariable = NULL;
22508 trace.prev = tracehead; tracehead = &trace;
22509 trace.file = LOCATE_parser;
22510 variable[0] = self;
22511 variable[1] = param0;
22512 variable[3] = NIT_NULL /*null*/;
22513 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22514 variable[4] = variable[5];
22515 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22516 variable[5] = variable[6];
22517 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22518 variable[6] = variable[7];
22519 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22520 variable[7] = variable[8];
22521 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22522 variable[8] = variable[9];
22523 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22524 variable[9] = variable[10];
22525 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22526 variable[10] = variable[11];
22527 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22528 variable[11] = variable[12];
22529 variable[12] = variable[11] /*nodearraylist1*/;
22530 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
22531 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction263___action, LOCATE_parser, 13958); nit_exit(1);}
22532 variable[13] = variable[10] /*nodearraylist2*/;
22533 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
22534 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction263___action, LOCATE_parser, 13960); nit_exit(1);}
22535 variable[14] = variable[9] /*nodearraylist3*/;
22536 variable[15] = TAG_Bool(( variable[14] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
22537 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction263___action, LOCATE_parser, 13962); nit_exit(1);}
22538 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
22539 variable[15] = variable[16];
22540 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
22541 variable[16] = variable[17];
22542 variable[17] = variable[8] /*nodearraylist4*/;
22543 variable[18] = TAG_Bool(( variable[17] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[17] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
22544 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction263___action, LOCATE_parser, 13966); nit_exit(1);}
22545 variable[18] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[17] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[17] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[17] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[17] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[17] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[17] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
22546 if (UNTAG_Bool(variable[18])) { /*if*/
22547 variable[18] = ((array___AbstractArray___is_empty_t)CALL( variable[15] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[15] /*listnode9*/) /*AbstractArray::is_empty*/;
22548 if (UNTAG_Bool(variable[18])) { /*if*/
22549 variable[15] = variable[17] /*listnode8*/ /*listnode9=*/;
22550 } else { /*if*/
22551 ((abstract_collection___IndexedCollection___append_t)CALL( variable[15] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[15] /*listnode9*/, variable[17] /*listnode8*/) /*IndexedCollection::append*/;
22552 }
22553 }
22554 variable[18] = variable[7] /*nodearraylist5*/;
22555 variable[19] = TAG_Bool(( variable[18] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[18] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
22556 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction263___action, LOCATE_parser, 13975); nit_exit(1);}
22557 variable[19] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[18] /*listnode11*/ == NIT_NULL /*null*/) || (( variable[18] /*listnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[18] /*listnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[18] /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[18] /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable[18] /*listnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
22558 if (UNTAG_Bool(variable[19])) { /*if*/
22559 variable[19] = ((array___AbstractArray___is_empty_t)CALL( variable[16] /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable[16] /*listnode12*/) /*AbstractArray::is_empty*/;
22560 if (UNTAG_Bool(variable[19])) { /*if*/
22561 variable[16] = variable[18] /*listnode11*/ /*listnode12=*/;
22562 } else { /*if*/
22563 ((abstract_collection___IndexedCollection___append_t)CALL( variable[16] /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable[16] /*listnode12*/, variable[18] /*listnode11*/) /*IndexedCollection::append*/;
22564 }
22565 }
22566 variable[20] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[15] /*listnode9*/, NIT_NULL /*null*/, variable[16] /*listnode12*/); /*new ASignature*/
22567 variable[19] = variable[20];
22568 variable[20] = variable[4] /*nodearraylist8*/;
22569 variable[21] = TAG_Bool(( variable[20] /*pexprnode13*/==NIT_NULL) || VAL_ISA( variable[20] /*pexprnode13*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22570 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction263___action, LOCATE_parser, 13989); nit_exit(1);}
22571 variable[22] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[12] /*pdocnode2*/, NIT_NULL /*null*/, variable[13] /*pvisibilitynode4*/, variable[14] /*tkwinitnode5*/, NIT_NULL /*null*/, variable[19] /*psignaturenode7*/, variable[20] /*pexprnode13*/); /*new AConcreteInitPropdef*/
22572 variable[21] = variable[22];
22573 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
22574 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
22575 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
22576 return_label558: while(false);
22577 tracehead = trace.prev;
22578 return;
22579 }
22580 void parser___ReduceAction263___init(val_t self, int* init_table) {
22581 struct trace_t trace = {NULL, NULL, 14002, LOCATE_parser___ReduceAction263___init};
22582 val_t variable[2];
22583 void **closurevariable = NULL;
22584 trace.prev = tracehead; tracehead = &trace;
22585 trace.file = LOCATE_parser;
22586 variable[0] = self;
22587 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction263].i]) return;
22588 return_label559: while(false);
22589 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction263].i] = 1;
22590 tracehead = trace.prev;
22591 return;
22592 }
22593 void parser___ReduceAction264___action(val_t self, val_t param0) {
22594 struct trace_t trace = {NULL, NULL, 14006, LOCATE_parser___ReduceAction264___action};
22595 val_t variable[23];
22596 void **closurevariable = NULL;
22597 trace.prev = tracehead; tracehead = &trace;
22598 trace.file = LOCATE_parser;
22599 variable[0] = self;
22600 variable[1] = param0;
22601 variable[3] = NIT_NULL /*null*/;
22602 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22603 variable[4] = variable[5];
22604 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22605 variable[5] = variable[6];
22606 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22607 variable[6] = variable[7];
22608 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22609 variable[7] = variable[8];
22610 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22611 variable[8] = variable[9];
22612 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22613 variable[9] = variable[10];
22614 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22615 variable[10] = variable[11];
22616 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22617 variable[11] = variable[12];
22618 variable[12] = variable[11] /*nodearraylist1*/;
22619 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
22620 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction264___action, LOCATE_parser, 14018); nit_exit(1);}
22621 variable[13] = variable[10] /*nodearraylist2*/;
22622 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
22623 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction264___action, LOCATE_parser, 14020); nit_exit(1);}
22624 variable[14] = variable[9] /*nodearraylist3*/;
22625 variable[15] = TAG_Bool(( variable[14] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
22626 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction264___action, LOCATE_parser, 14022); nit_exit(1);}
22627 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
22628 variable[15] = variable[16];
22629 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
22630 variable[16] = variable[17];
22631 variable[17] = variable[8] /*nodearraylist4*/;
22632 variable[18] = TAG_Bool(( variable[17] /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable[17] /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
22633 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction264___action, LOCATE_parser, 14026); nit_exit(1);}
22634 variable[18] = variable[7] /*nodearraylist5*/;
22635 variable[19] = TAG_Bool(( variable[18] /*listnode10*/==NIT_NULL) || VAL_ISA( variable[18] /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
22636 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction264___action, LOCATE_parser, 14028); nit_exit(1);}
22637 variable[19] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[18] /*listnode10*/ == NIT_NULL /*null*/) || (( variable[18] /*listnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[18] /*listnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[18] /*listnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[18] /*listnode10*/,COLOR_kernel___Object_____eqeq))( variable[18] /*listnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
22638 if (UNTAG_Bool(variable[19])) { /*if*/
22639 variable[19] = ((array___AbstractArray___is_empty_t)CALL( variable[16] /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable[16] /*listnode11*/) /*AbstractArray::is_empty*/;
22640 if (UNTAG_Bool(variable[19])) { /*if*/
22641 variable[16] = variable[18] /*listnode10*/ /*listnode11=*/;
22642 } else { /*if*/
22643 ((abstract_collection___IndexedCollection___append_t)CALL( variable[16] /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable[16] /*listnode11*/, variable[18] /*listnode10*/) /*IndexedCollection::append*/;
22644 }
22645 }
22646 variable[20] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[15] /*listnode8*/, variable[17] /*ptypenode9*/, variable[16] /*listnode11*/); /*new ASignature*/
22647 variable[19] = variable[20];
22648 variable[20] = variable[4] /*nodearraylist8*/;
22649 variable[21] = TAG_Bool(( variable[20] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[20] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22650 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction264___action, LOCATE_parser, 14042); nit_exit(1);}
22651 variable[22] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[12] /*pdocnode2*/, NIT_NULL /*null*/, variable[13] /*pvisibilitynode4*/, variable[14] /*tkwinitnode5*/, NIT_NULL /*null*/, variable[19] /*psignaturenode7*/, variable[20] /*pexprnode12*/); /*new AConcreteInitPropdef*/
22652 variable[21] = variable[22];
22653 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
22654 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
22655 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
22656 return_label560: while(false);
22657 tracehead = trace.prev;
22658 return;
22659 }
22660 void parser___ReduceAction264___init(val_t self, int* init_table) {
22661 struct trace_t trace = {NULL, NULL, 14055, LOCATE_parser___ReduceAction264___init};
22662 val_t variable[2];
22663 void **closurevariable = NULL;
22664 trace.prev = tracehead; tracehead = &trace;
22665 trace.file = LOCATE_parser;
22666 variable[0] = self;
22667 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction264].i]) return;
22668 return_label561: while(false);
22669 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction264].i] = 1;
22670 tracehead = trace.prev;
22671 return;
22672 }
22673 void parser___ReduceAction265___action(val_t self, val_t param0) {
22674 struct trace_t trace = {NULL, NULL, 14059, LOCATE_parser___ReduceAction265___action};
22675 val_t variable[25];
22676 void **closurevariable = NULL;
22677 trace.prev = tracehead; tracehead = &trace;
22678 trace.file = LOCATE_parser;
22679 variable[0] = self;
22680 variable[1] = param0;
22681 variable[3] = NIT_NULL /*null*/;
22682 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22683 variable[4] = variable[5];
22684 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22685 variable[5] = variable[6];
22686 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22687 variable[6] = variable[7];
22688 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22689 variable[7] = variable[8];
22690 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22691 variable[8] = variable[9];
22692 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22693 variable[9] = variable[10];
22694 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22695 variable[10] = variable[11];
22696 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22697 variable[11] = variable[12];
22698 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22699 variable[12] = variable[13];
22700 variable[13] = variable[12] /*nodearraylist1*/;
22701 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
22702 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction265___action, LOCATE_parser, 14072); nit_exit(1);}
22703 variable[14] = variable[11] /*nodearraylist2*/;
22704 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
22705 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction265___action, LOCATE_parser, 14074); nit_exit(1);}
22706 variable[15] = variable[10] /*nodearraylist3*/;
22707 variable[16] = TAG_Bool(( variable[15] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
22708 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction265___action, LOCATE_parser, 14076); nit_exit(1);}
22709 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
22710 variable[16] = variable[17];
22711 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
22712 variable[17] = variable[18];
22713 variable[18] = variable[9] /*nodearraylist4*/;
22714 variable[19] = TAG_Bool(( variable[18] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[18] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
22715 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction265___action, LOCATE_parser, 14080); nit_exit(1);}
22716 variable[19] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[18] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[18] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[18] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[18] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[18] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[18] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
22717 if (UNTAG_Bool(variable[19])) { /*if*/
22718 variable[19] = ((array___AbstractArray___is_empty_t)CALL( variable[16] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[16] /*listnode9*/) /*AbstractArray::is_empty*/;
22719 if (UNTAG_Bool(variable[19])) { /*if*/
22720 variable[16] = variable[18] /*listnode8*/ /*listnode9=*/;
22721 } else { /*if*/
22722 ((abstract_collection___IndexedCollection___append_t)CALL( variable[16] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[16] /*listnode9*/, variable[18] /*listnode8*/) /*IndexedCollection::append*/;
22723 }
22724 }
22725 variable[19] = variable[8] /*nodearraylist5*/;
22726 variable[20] = TAG_Bool(( variable[19] /*ptypenode10*/==NIT_NULL) || VAL_ISA( variable[19] /*ptypenode10*/, COLOR_PType, ID_PType)) /*cast PType*/;
22727 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction265___action, LOCATE_parser, 14089); nit_exit(1);}
22728 variable[20] = variable[7] /*nodearraylist6*/;
22729 variable[21] = TAG_Bool(( variable[20] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[20] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
22730 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction265___action, LOCATE_parser, 14091); nit_exit(1);}
22731 variable[21] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[20] /*listnode11*/ == NIT_NULL /*null*/) || (( variable[20] /*listnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[20] /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable[20] /*listnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
22732 if (UNTAG_Bool(variable[21])) { /*if*/
22733 variable[21] = ((array___AbstractArray___is_empty_t)CALL( variable[17] /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable[17] /*listnode12*/) /*AbstractArray::is_empty*/;
22734 if (UNTAG_Bool(variable[21])) { /*if*/
22735 variable[17] = variable[20] /*listnode11*/ /*listnode12=*/;
22736 } else { /*if*/
22737 ((abstract_collection___IndexedCollection___append_t)CALL( variable[17] /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable[17] /*listnode12*/, variable[20] /*listnode11*/) /*IndexedCollection::append*/;
22738 }
22739 }
22740 variable[22] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[16] /*listnode9*/, variable[19] /*ptypenode10*/, variable[17] /*listnode12*/); /*new ASignature*/
22741 variable[21] = variable[22];
22742 variable[22] = variable[4] /*nodearraylist9*/;
22743 variable[23] = TAG_Bool(( variable[22] /*pexprnode13*/==NIT_NULL) || VAL_ISA( variable[22] /*pexprnode13*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22744 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction265___action, LOCATE_parser, 14105); nit_exit(1);}
22745 variable[24] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[13] /*pdocnode2*/, NIT_NULL /*null*/, variable[14] /*pvisibilitynode4*/, variable[15] /*tkwinitnode5*/, NIT_NULL /*null*/, variable[21] /*psignaturenode7*/, variable[22] /*pexprnode13*/); /*new AConcreteInitPropdef*/
22746 variable[23] = variable[24];
22747 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
22748 variable[24] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
22749 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
22750 return_label562: while(false);
22751 tracehead = trace.prev;
22752 return;
22753 }
22754 void parser___ReduceAction265___init(val_t self, int* init_table) {
22755 struct trace_t trace = {NULL, NULL, 14118, LOCATE_parser___ReduceAction265___init};
22756 val_t variable[2];
22757 void **closurevariable = NULL;
22758 trace.prev = tracehead; tracehead = &trace;
22759 trace.file = LOCATE_parser;
22760 variable[0] = self;
22761 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction265].i]) return;
22762 return_label563: while(false);
22763 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction265].i] = 1;
22764 tracehead = trace.prev;
22765 return;
22766 }
22767 void parser___ReduceAction266___action(val_t self, val_t param0) {
22768 struct trace_t trace = {NULL, NULL, 14122, LOCATE_parser___ReduceAction266___action};
22769 val_t variable[21];
22770 void **closurevariable = NULL;
22771 trace.prev = tracehead; tracehead = &trace;
22772 trace.file = LOCATE_parser;
22773 variable[0] = self;
22774 variable[1] = param0;
22775 variable[3] = NIT_NULL /*null*/;
22776 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22777 variable[4] = variable[5];
22778 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22779 variable[5] = variable[6];
22780 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22781 variable[6] = variable[7];
22782 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22783 variable[7] = variable[8];
22784 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22785 variable[8] = variable[9];
22786 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22787 variable[9] = variable[10];
22788 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22789 variable[10] = variable[11];
22790 variable[11] = variable[10] /*nodearraylist1*/;
22791 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
22792 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction266___action, LOCATE_parser, 14133); nit_exit(1);}
22793 variable[12] = variable[9] /*nodearraylist2*/;
22794 variable[13] = TAG_Bool(( variable[12] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
22795 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction266___action, LOCATE_parser, 14135); nit_exit(1);}
22796 variable[13] = variable[8] /*nodearraylist3*/;
22797 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
22798 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction266___action, LOCATE_parser, 14137); nit_exit(1);}
22799 variable[14] = variable[7] /*nodearraylist4*/;
22800 variable[15] = TAG_Bool(( variable[14] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
22801 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction266___action, LOCATE_parser, 14139); nit_exit(1);}
22802 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
22803 variable[15] = variable[16];
22804 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
22805 variable[16] = variable[17];
22806 variable[18] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[15] /*listnode8*/, NIT_NULL /*null*/, variable[16] /*listnode10*/); /*new ASignature*/
22807 variable[17] = variable[18];
22808 variable[18] = variable[4] /*nodearraylist7*/;
22809 variable[19] = TAG_Bool(( variable[18] /*pexprnode11*/==NIT_NULL) || VAL_ISA( variable[18] /*pexprnode11*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22810 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction266___action, LOCATE_parser, 14148); nit_exit(1);}
22811 variable[20] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[11] /*pdocnode2*/, variable[12] /*tkwredefnode3*/, variable[13] /*pvisibilitynode4*/, variable[14] /*tkwinitnode5*/, NIT_NULL /*null*/, variable[17] /*psignaturenode7*/, variable[18] /*pexprnode11*/); /*new AConcreteInitPropdef*/
22812 variable[19] = variable[20];
22813 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
22814 variable[20] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
22815 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
22816 return_label564: while(false);
22817 tracehead = trace.prev;
22818 return;
22819 }
22820 void parser___ReduceAction266___init(val_t self, int* init_table) {
22821 struct trace_t trace = {NULL, NULL, 14161, LOCATE_parser___ReduceAction266___init};
22822 val_t variable[2];
22823 void **closurevariable = NULL;
22824 trace.prev = tracehead; tracehead = &trace;
22825 trace.file = LOCATE_parser;
22826 variable[0] = self;
22827 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction266].i]) return;
22828 return_label565: while(false);
22829 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction266].i] = 1;
22830 tracehead = trace.prev;
22831 return;
22832 }
22833 void parser___ReduceAction267___action(val_t self, val_t param0) {
22834 struct trace_t trace = {NULL, NULL, 14165, LOCATE_parser___ReduceAction267___action};
22835 val_t variable[23];
22836 void **closurevariable = NULL;
22837 trace.prev = tracehead; tracehead = &trace;
22838 trace.file = LOCATE_parser;
22839 variable[0] = self;
22840 variable[1] = param0;
22841 variable[3] = NIT_NULL /*null*/;
22842 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22843 variable[4] = variable[5];
22844 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22845 variable[5] = variable[6];
22846 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22847 variable[6] = variable[7];
22848 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22849 variable[7] = variable[8];
22850 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22851 variable[8] = variable[9];
22852 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22853 variable[9] = variable[10];
22854 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22855 variable[10] = variable[11];
22856 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22857 variable[11] = variable[12];
22858 variable[12] = variable[11] /*nodearraylist1*/;
22859 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
22860 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction267___action, LOCATE_parser, 14177); nit_exit(1);}
22861 variable[13] = variable[10] /*nodearraylist2*/;
22862 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
22863 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction267___action, LOCATE_parser, 14179); nit_exit(1);}
22864 variable[14] = variable[9] /*nodearraylist3*/;
22865 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
22866 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction267___action, LOCATE_parser, 14181); nit_exit(1);}
22867 variable[15] = variable[8] /*nodearraylist4*/;
22868 variable[16] = TAG_Bool(( variable[15] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
22869 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction267___action, LOCATE_parser, 14183); nit_exit(1);}
22870 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
22871 variable[16] = variable[17];
22872 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
22873 variable[17] = variable[18];
22874 variable[18] = variable[7] /*nodearraylist5*/;
22875 variable[19] = TAG_Bool(( variable[18] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[18] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
22876 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction267___action, LOCATE_parser, 14187); nit_exit(1);}
22877 variable[19] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[18] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[18] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[18] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[18] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[18] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[18] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
22878 if (UNTAG_Bool(variable[19])) { /*if*/
22879 variable[19] = ((array___AbstractArray___is_empty_t)CALL( variable[16] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[16] /*listnode9*/) /*AbstractArray::is_empty*/;
22880 if (UNTAG_Bool(variable[19])) { /*if*/
22881 variable[16] = variable[18] /*listnode8*/ /*listnode9=*/;
22882 } else { /*if*/
22883 ((abstract_collection___IndexedCollection___append_t)CALL( variable[16] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[16] /*listnode9*/, variable[18] /*listnode8*/) /*IndexedCollection::append*/;
22884 }
22885 }
22886 variable[20] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[16] /*listnode9*/, NIT_NULL /*null*/, variable[17] /*listnode11*/); /*new ASignature*/
22887 variable[19] = variable[20];
22888 variable[20] = variable[4] /*nodearraylist8*/;
22889 variable[21] = TAG_Bool(( variable[20] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[20] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22890 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction267___action, LOCATE_parser, 14201); nit_exit(1);}
22891 variable[22] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[12] /*pdocnode2*/, variable[13] /*tkwredefnode3*/, variable[14] /*pvisibilitynode4*/, variable[15] /*tkwinitnode5*/, NIT_NULL /*null*/, variable[19] /*psignaturenode7*/, variable[20] /*pexprnode12*/); /*new AConcreteInitPropdef*/
22892 variable[21] = variable[22];
22893 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
22894 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
22895 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
22896 return_label566: while(false);
22897 tracehead = trace.prev;
22898 return;
22899 }
22900 void parser___ReduceAction267___init(val_t self, int* init_table) {
22901 struct trace_t trace = {NULL, NULL, 14214, LOCATE_parser___ReduceAction267___init};
22902 val_t variable[2];
22903 void **closurevariable = NULL;
22904 trace.prev = tracehead; tracehead = &trace;
22905 trace.file = LOCATE_parser;
22906 variable[0] = self;
22907 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction267].i]) return;
22908 return_label567: while(false);
22909 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction267].i] = 1;
22910 tracehead = trace.prev;
22911 return;
22912 }
22913 void parser___ReduceAction268___action(val_t self, val_t param0) {
22914 struct trace_t trace = {NULL, NULL, 14218, LOCATE_parser___ReduceAction268___action};
22915 val_t variable[23];
22916 void **closurevariable = NULL;
22917 trace.prev = tracehead; tracehead = &trace;
22918 trace.file = LOCATE_parser;
22919 variable[0] = self;
22920 variable[1] = param0;
22921 variable[3] = NIT_NULL /*null*/;
22922 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22923 variable[4] = variable[5];
22924 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22925 variable[5] = variable[6];
22926 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22927 variable[6] = variable[7];
22928 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22929 variable[7] = variable[8];
22930 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22931 variable[8] = variable[9];
22932 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22933 variable[9] = variable[10];
22934 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22935 variable[10] = variable[11];
22936 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22937 variable[11] = variable[12];
22938 variable[12] = variable[11] /*nodearraylist1*/;
22939 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
22940 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction268___action, LOCATE_parser, 14230); nit_exit(1);}
22941 variable[13] = variable[10] /*nodearraylist2*/;
22942 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
22943 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction268___action, LOCATE_parser, 14232); nit_exit(1);}
22944 variable[14] = variable[9] /*nodearraylist3*/;
22945 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
22946 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction268___action, LOCATE_parser, 14234); nit_exit(1);}
22947 variable[15] = variable[8] /*nodearraylist4*/;
22948 variable[16] = TAG_Bool(( variable[15] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
22949 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction268___action, LOCATE_parser, 14236); nit_exit(1);}
22950 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
22951 variable[16] = variable[17];
22952 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
22953 variable[17] = variable[18];
22954 variable[18] = variable[7] /*nodearraylist5*/;
22955 variable[19] = TAG_Bool(( variable[18] /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable[18] /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
22956 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction268___action, LOCATE_parser, 14240); nit_exit(1);}
22957 variable[20] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[16] /*listnode8*/, variable[18] /*ptypenode9*/, variable[17] /*listnode10*/); /*new ASignature*/
22958 variable[19] = variable[20];
22959 variable[20] = variable[4] /*nodearraylist8*/;
22960 variable[21] = TAG_Bool(( variable[20] /*pexprnode11*/==NIT_NULL) || VAL_ISA( variable[20] /*pexprnode11*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22961 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction268___action, LOCATE_parser, 14247); nit_exit(1);}
22962 variable[22] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[12] /*pdocnode2*/, variable[13] /*tkwredefnode3*/, variable[14] /*pvisibilitynode4*/, variable[15] /*tkwinitnode5*/, NIT_NULL /*null*/, variable[19] /*psignaturenode7*/, variable[20] /*pexprnode11*/); /*new AConcreteInitPropdef*/
22963 variable[21] = variable[22];
22964 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
22965 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
22966 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
22967 return_label568: while(false);
22968 tracehead = trace.prev;
22969 return;
22970 }
22971 void parser___ReduceAction268___init(val_t self, int* init_table) {
22972 struct trace_t trace = {NULL, NULL, 14260, LOCATE_parser___ReduceAction268___init};
22973 val_t variable[2];
22974 void **closurevariable = NULL;
22975 trace.prev = tracehead; tracehead = &trace;
22976 trace.file = LOCATE_parser;
22977 variable[0] = self;
22978 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction268].i]) return;
22979 return_label569: while(false);
22980 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction268].i] = 1;
22981 tracehead = trace.prev;
22982 return;
22983 }
22984 void parser___ReduceAction269___action(val_t self, val_t param0) {
22985 struct trace_t trace = {NULL, NULL, 14264, LOCATE_parser___ReduceAction269___action};
22986 val_t variable[25];
22987 void **closurevariable = NULL;
22988 trace.prev = tracehead; tracehead = &trace;
22989 trace.file = LOCATE_parser;
22990 variable[0] = self;
22991 variable[1] = param0;
22992 variable[3] = NIT_NULL /*null*/;
22993 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22994 variable[4] = variable[5];
22995 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22996 variable[5] = variable[6];
22997 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
22998 variable[6] = variable[7];
22999 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23000 variable[7] = variable[8];
23001 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23002 variable[8] = variable[9];
23003 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23004 variable[9] = variable[10];
23005 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23006 variable[10] = variable[11];
23007 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23008 variable[11] = variable[12];
23009 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23010 variable[12] = variable[13];
23011 variable[13] = variable[12] /*nodearraylist1*/;
23012 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
23013 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction269___action, LOCATE_parser, 14277); nit_exit(1);}
23014 variable[14] = variable[11] /*nodearraylist2*/;
23015 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
23016 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction269___action, LOCATE_parser, 14279); nit_exit(1);}
23017 variable[15] = variable[10] /*nodearraylist3*/;
23018 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
23019 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction269___action, LOCATE_parser, 14281); nit_exit(1);}
23020 variable[16] = variable[9] /*nodearraylist4*/;
23021 variable[17] = TAG_Bool(( variable[16] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
23022 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction269___action, LOCATE_parser, 14283); nit_exit(1);}
23023 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
23024 variable[17] = variable[18];
23025 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
23026 variable[18] = variable[19];
23027 variable[19] = variable[8] /*nodearraylist5*/;
23028 variable[20] = TAG_Bool(( variable[19] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[19] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
23029 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction269___action, LOCATE_parser, 14287); nit_exit(1);}
23030 variable[20] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[19] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[19] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[19] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[19] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
23031 if (UNTAG_Bool(variable[20])) { /*if*/
23032 variable[20] = ((array___AbstractArray___is_empty_t)CALL( variable[17] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[17] /*listnode9*/) /*AbstractArray::is_empty*/;
23033 if (UNTAG_Bool(variable[20])) { /*if*/
23034 variable[17] = variable[19] /*listnode8*/ /*listnode9=*/;
23035 } else { /*if*/
23036 ((abstract_collection___IndexedCollection___append_t)CALL( variable[17] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[17] /*listnode9*/, variable[19] /*listnode8*/) /*IndexedCollection::append*/;
23037 }
23038 }
23039 variable[20] = variable[7] /*nodearraylist6*/;
23040 variable[21] = TAG_Bool(( variable[20] /*ptypenode10*/==NIT_NULL) || VAL_ISA( variable[20] /*ptypenode10*/, COLOR_PType, ID_PType)) /*cast PType*/;
23041 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction269___action, LOCATE_parser, 14296); nit_exit(1);}
23042 variable[22] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[17] /*listnode9*/, variable[20] /*ptypenode10*/, variable[18] /*listnode11*/); /*new ASignature*/
23043 variable[21] = variable[22];
23044 variable[22] = variable[4] /*nodearraylist9*/;
23045 variable[23] = TAG_Bool(( variable[22] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[22] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
23046 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction269___action, LOCATE_parser, 14303); nit_exit(1);}
23047 variable[24] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[13] /*pdocnode2*/, variable[14] /*tkwredefnode3*/, variable[15] /*pvisibilitynode4*/, variable[16] /*tkwinitnode5*/, NIT_NULL /*null*/, variable[21] /*psignaturenode7*/, variable[22] /*pexprnode12*/); /*new AConcreteInitPropdef*/
23048 variable[23] = variable[24];
23049 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
23050 variable[24] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
23051 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
23052 return_label570: while(false);
23053 tracehead = trace.prev;
23054 return;
23055 }
23056 void parser___ReduceAction269___init(val_t self, int* init_table) {
23057 struct trace_t trace = {NULL, NULL, 14316, LOCATE_parser___ReduceAction269___init};
23058 val_t variable[2];
23059 void **closurevariable = NULL;
23060 trace.prev = tracehead; tracehead = &trace;
23061 trace.file = LOCATE_parser;
23062 variable[0] = self;
23063 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction269].i]) return;
23064 return_label571: while(false);
23065 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction269].i] = 1;
23066 tracehead = trace.prev;
23067 return;
23068 }
23069 void parser___ReduceAction270___action(val_t self, val_t param0) {
23070 struct trace_t trace = {NULL, NULL, 14320, LOCATE_parser___ReduceAction270___action};
23071 val_t variable[23];
23072 void **closurevariable = NULL;
23073 trace.prev = tracehead; tracehead = &trace;
23074 trace.file = LOCATE_parser;
23075 variable[0] = self;
23076 variable[1] = param0;
23077 variable[3] = NIT_NULL /*null*/;
23078 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23079 variable[4] = variable[5];
23080 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23081 variable[5] = variable[6];
23082 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23083 variable[6] = variable[7];
23084 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23085 variable[7] = variable[8];
23086 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23087 variable[8] = variable[9];
23088 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23089 variable[9] = variable[10];
23090 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23091 variable[10] = variable[11];
23092 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23093 variable[11] = variable[12];
23094 variable[12] = variable[11] /*nodearraylist1*/;
23095 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
23096 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction270___action, LOCATE_parser, 14332); nit_exit(1);}
23097 variable[13] = variable[10] /*nodearraylist2*/;
23098 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
23099 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction270___action, LOCATE_parser, 14334); nit_exit(1);}
23100 variable[14] = variable[9] /*nodearraylist3*/;
23101 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
23102 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction270___action, LOCATE_parser, 14336); nit_exit(1);}
23103 variable[15] = variable[8] /*nodearraylist4*/;
23104 variable[16] = TAG_Bool(( variable[15] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
23105 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction270___action, LOCATE_parser, 14338); nit_exit(1);}
23106 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
23107 variable[16] = variable[17];
23108 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
23109 variable[17] = variable[18];
23110 variable[18] = variable[7] /*nodearraylist5*/;
23111 variable[19] = TAG_Bool(( variable[18] /*listnode10*/==NIT_NULL) || VAL_ISA( variable[18] /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
23112 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction270___action, LOCATE_parser, 14342); nit_exit(1);}
23113 variable[19] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[18] /*listnode10*/ == NIT_NULL /*null*/) || (( variable[18] /*listnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[18] /*listnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[18] /*listnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[18] /*listnode10*/,COLOR_kernel___Object_____eqeq))( variable[18] /*listnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
23114 if (UNTAG_Bool(variable[19])) { /*if*/
23115 variable[19] = ((array___AbstractArray___is_empty_t)CALL( variable[17] /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable[17] /*listnode11*/) /*AbstractArray::is_empty*/;
23116 if (UNTAG_Bool(variable[19])) { /*if*/
23117 variable[17] = variable[18] /*listnode10*/ /*listnode11=*/;
23118 } else { /*if*/
23119 ((abstract_collection___IndexedCollection___append_t)CALL( variable[17] /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable[17] /*listnode11*/, variable[18] /*listnode10*/) /*IndexedCollection::append*/;
23120 }
23121 }
23122 variable[20] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[16] /*listnode8*/, NIT_NULL /*null*/, variable[17] /*listnode11*/); /*new ASignature*/
23123 variable[19] = variable[20];
23124 variable[20] = variable[4] /*nodearraylist8*/;
23125 variable[21] = TAG_Bool(( variable[20] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[20] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
23126 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction270___action, LOCATE_parser, 14356); nit_exit(1);}
23127 variable[22] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[12] /*pdocnode2*/, variable[13] /*tkwredefnode3*/, variable[14] /*pvisibilitynode4*/, variable[15] /*tkwinitnode5*/, NIT_NULL /*null*/, variable[19] /*psignaturenode7*/, variable[20] /*pexprnode12*/); /*new AConcreteInitPropdef*/
23128 variable[21] = variable[22];
23129 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
23130 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
23131 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
23132 return_label572: while(false);
23133 tracehead = trace.prev;
23134 return;
23135 }
23136 void parser___ReduceAction270___init(val_t self, int* init_table) {
23137 struct trace_t trace = {NULL, NULL, 14369, LOCATE_parser___ReduceAction270___init};
23138 val_t variable[2];
23139 void **closurevariable = NULL;
23140 trace.prev = tracehead; tracehead = &trace;
23141 trace.file = LOCATE_parser;
23142 variable[0] = self;
23143 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction270].i]) return;
23144 return_label573: while(false);
23145 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction270].i] = 1;
23146 tracehead = trace.prev;
23147 return;
23148 }
23149 void parser___ReduceAction271___action(val_t self, val_t param0) {
23150 struct trace_t trace = {NULL, NULL, 14373, LOCATE_parser___ReduceAction271___action};
23151 val_t variable[25];
23152 void **closurevariable = NULL;
23153 trace.prev = tracehead; tracehead = &trace;
23154 trace.file = LOCATE_parser;
23155 variable[0] = self;
23156 variable[1] = param0;
23157 variable[3] = NIT_NULL /*null*/;
23158 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23159 variable[4] = variable[5];
23160 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23161 variable[5] = variable[6];
23162 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23163 variable[6] = variable[7];
23164 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23165 variable[7] = variable[8];
23166 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23167 variable[8] = variable[9];
23168 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23169 variable[9] = variable[10];
23170 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23171 variable[10] = variable[11];
23172 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23173 variable[11] = variable[12];
23174 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23175 variable[12] = variable[13];
23176 variable[13] = variable[12] /*nodearraylist1*/;
23177 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
23178 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction271___action, LOCATE_parser, 14386); nit_exit(1);}
23179 variable[14] = variable[11] /*nodearraylist2*/;
23180 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
23181 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction271___action, LOCATE_parser, 14388); nit_exit(1);}
23182 variable[15] = variable[10] /*nodearraylist3*/;
23183 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
23184 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction271___action, LOCATE_parser, 14390); nit_exit(1);}
23185 variable[16] = variable[9] /*nodearraylist4*/;
23186 variable[17] = TAG_Bool(( variable[16] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
23187 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction271___action, LOCATE_parser, 14392); nit_exit(1);}
23188 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
23189 variable[17] = variable[18];
23190 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
23191 variable[18] = variable[19];
23192 variable[19] = variable[8] /*nodearraylist5*/;
23193 variable[20] = TAG_Bool(( variable[19] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[19] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
23194 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction271___action, LOCATE_parser, 14396); nit_exit(1);}
23195 variable[20] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[19] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[19] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[19] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[19] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
23196 if (UNTAG_Bool(variable[20])) { /*if*/
23197 variable[20] = ((array___AbstractArray___is_empty_t)CALL( variable[17] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[17] /*listnode9*/) /*AbstractArray::is_empty*/;
23198 if (UNTAG_Bool(variable[20])) { /*if*/
23199 variable[17] = variable[19] /*listnode8*/ /*listnode9=*/;
23200 } else { /*if*/
23201 ((abstract_collection___IndexedCollection___append_t)CALL( variable[17] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[17] /*listnode9*/, variable[19] /*listnode8*/) /*IndexedCollection::append*/;
23202 }
23203 }
23204 variable[20] = variable[7] /*nodearraylist6*/;
23205 variable[21] = TAG_Bool(( variable[20] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[20] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
23206 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction271___action, LOCATE_parser, 14405); nit_exit(1);}
23207 variable[21] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[20] /*listnode11*/ == NIT_NULL /*null*/) || (( variable[20] /*listnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[20] /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable[20] /*listnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
23208 if (UNTAG_Bool(variable[21])) { /*if*/
23209 variable[21] = ((array___AbstractArray___is_empty_t)CALL( variable[18] /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable[18] /*listnode12*/) /*AbstractArray::is_empty*/;
23210 if (UNTAG_Bool(variable[21])) { /*if*/
23211 variable[18] = variable[20] /*listnode11*/ /*listnode12=*/;
23212 } else { /*if*/
23213 ((abstract_collection___IndexedCollection___append_t)CALL( variable[18] /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable[18] /*listnode12*/, variable[20] /*listnode11*/) /*IndexedCollection::append*/;
23214 }
23215 }
23216 variable[22] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[17] /*listnode9*/, NIT_NULL /*null*/, variable[18] /*listnode12*/); /*new ASignature*/
23217 variable[21] = variable[22];
23218 variable[22] = variable[4] /*nodearraylist9*/;
23219 variable[23] = TAG_Bool(( variable[22] /*pexprnode13*/==NIT_NULL) || VAL_ISA( variable[22] /*pexprnode13*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
23220 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction271___action, LOCATE_parser, 14419); nit_exit(1);}
23221 variable[24] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[13] /*pdocnode2*/, variable[14] /*tkwredefnode3*/, variable[15] /*pvisibilitynode4*/, variable[16] /*tkwinitnode5*/, NIT_NULL /*null*/, variable[21] /*psignaturenode7*/, variable[22] /*pexprnode13*/); /*new AConcreteInitPropdef*/
23222 variable[23] = variable[24];
23223 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
23224 variable[24] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
23225 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
23226 return_label574: while(false);
23227 tracehead = trace.prev;
23228 return;
23229 }
23230 void parser___ReduceAction271___init(val_t self, int* init_table) {
23231 struct trace_t trace = {NULL, NULL, 14432, LOCATE_parser___ReduceAction271___init};
23232 val_t variable[2];
23233 void **closurevariable = NULL;
23234 trace.prev = tracehead; tracehead = &trace;
23235 trace.file = LOCATE_parser;
23236 variable[0] = self;
23237 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction271].i]) return;
23238 return_label575: while(false);
23239 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction271].i] = 1;
23240 tracehead = trace.prev;
23241 return;
23242 }
23243 void parser___ReduceAction272___action(val_t self, val_t param0) {
23244 struct trace_t trace = {NULL, NULL, 14436, LOCATE_parser___ReduceAction272___action};
23245 val_t variable[25];
23246 void **closurevariable = NULL;
23247 trace.prev = tracehead; tracehead = &trace;
23248 trace.file = LOCATE_parser;
23249 variable[0] = self;
23250 variable[1] = param0;
23251 variable[3] = NIT_NULL /*null*/;
23252 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23253 variable[4] = variable[5];
23254 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23255 variable[5] = variable[6];
23256 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23257 variable[6] = variable[7];
23258 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23259 variable[7] = variable[8];
23260 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23261 variable[8] = variable[9];
23262 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23263 variable[9] = variable[10];
23264 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23265 variable[10] = variable[11];
23266 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23267 variable[11] = variable[12];
23268 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23269 variable[12] = variable[13];
23270 variable[13] = variable[12] /*nodearraylist1*/;
23271 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
23272 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction272___action, LOCATE_parser, 14449); nit_exit(1);}
23273 variable[14] = variable[11] /*nodearraylist2*/;
23274 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
23275 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction272___action, LOCATE_parser, 14451); nit_exit(1);}
23276 variable[15] = variable[10] /*nodearraylist3*/;
23277 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
23278 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction272___action, LOCATE_parser, 14453); nit_exit(1);}
23279 variable[16] = variable[9] /*nodearraylist4*/;
23280 variable[17] = TAG_Bool(( variable[16] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
23281 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction272___action, LOCATE_parser, 14455); nit_exit(1);}
23282 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
23283 variable[17] = variable[18];
23284 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
23285 variable[18] = variable[19];
23286 variable[19] = variable[8] /*nodearraylist5*/;
23287 variable[20] = TAG_Bool(( variable[19] /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable[19] /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
23288 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction272___action, LOCATE_parser, 14459); nit_exit(1);}
23289 variable[20] = variable[7] /*nodearraylist6*/;
23290 variable[21] = TAG_Bool(( variable[20] /*listnode10*/==NIT_NULL) || VAL_ISA( variable[20] /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
23291 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction272___action, LOCATE_parser, 14461); nit_exit(1);}
23292 variable[21] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[20] /*listnode10*/ == NIT_NULL /*null*/) || (( variable[20] /*listnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[20] /*listnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode10*/,COLOR_kernel___Object_____eqeq))( variable[20] /*listnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
23293 if (UNTAG_Bool(variable[21])) { /*if*/
23294 variable[21] = ((array___AbstractArray___is_empty_t)CALL( variable[18] /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable[18] /*listnode11*/) /*AbstractArray::is_empty*/;
23295 if (UNTAG_Bool(variable[21])) { /*if*/
23296 variable[18] = variable[20] /*listnode10*/ /*listnode11=*/;
23297 } else { /*if*/
23298 ((abstract_collection___IndexedCollection___append_t)CALL( variable[18] /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable[18] /*listnode11*/, variable[20] /*listnode10*/) /*IndexedCollection::append*/;
23299 }
23300 }
23301 variable[22] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[17] /*listnode8*/, variable[19] /*ptypenode9*/, variable[18] /*listnode11*/); /*new ASignature*/
23302 variable[21] = variable[22];
23303 variable[22] = variable[4] /*nodearraylist9*/;
23304 variable[23] = TAG_Bool(( variable[22] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[22] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
23305 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction272___action, LOCATE_parser, 14475); nit_exit(1);}
23306 variable[24] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[13] /*pdocnode2*/, variable[14] /*tkwredefnode3*/, variable[15] /*pvisibilitynode4*/, variable[16] /*tkwinitnode5*/, NIT_NULL /*null*/, variable[21] /*psignaturenode7*/, variable[22] /*pexprnode12*/); /*new AConcreteInitPropdef*/
23307 variable[23] = variable[24];
23308 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
23309 variable[24] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
23310 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
23311 return_label576: while(false);
23312 tracehead = trace.prev;
23313 return;
23314 }
23315 void parser___ReduceAction272___init(val_t self, int* init_table) {
23316 struct trace_t trace = {NULL, NULL, 14488, LOCATE_parser___ReduceAction272___init};
23317 val_t variable[2];
23318 void **closurevariable = NULL;
23319 trace.prev = tracehead; tracehead = &trace;
23320 trace.file = LOCATE_parser;
23321 variable[0] = self;
23322 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction272].i]) return;
23323 return_label577: while(false);
23324 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction272].i] = 1;
23325 tracehead = trace.prev;
23326 return;
23327 }
23328 void parser___ReduceAction273___action(val_t self, val_t param0) {
23329 struct trace_t trace = {NULL, NULL, 14492, LOCATE_parser___ReduceAction273___action};
23330 val_t variable[27];
23331 void **closurevariable = NULL;
23332 trace.prev = tracehead; tracehead = &trace;
23333 trace.file = LOCATE_parser;
23334 variable[0] = self;
23335 variable[1] = param0;
23336 variable[3] = NIT_NULL /*null*/;
23337 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23338 variable[4] = variable[5];
23339 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23340 variable[5] = variable[6];
23341 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23342 variable[6] = variable[7];
23343 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23344 variable[7] = variable[8];
23345 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23346 variable[8] = variable[9];
23347 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23348 variable[9] = variable[10];
23349 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23350 variable[10] = variable[11];
23351 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23352 variable[11] = variable[12];
23353 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23354 variable[12] = variable[13];
23355 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23356 variable[13] = variable[14];
23357 variable[14] = variable[13] /*nodearraylist1*/;
23358 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
23359 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction273___action, LOCATE_parser, 14506); nit_exit(1);}
23360 variable[15] = variable[12] /*nodearraylist2*/;
23361 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
23362 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction273___action, LOCATE_parser, 14508); nit_exit(1);}
23363 variable[16] = variable[11] /*nodearraylist3*/;
23364 variable[17] = TAG_Bool(( variable[16] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[16] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
23365 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction273___action, LOCATE_parser, 14510); nit_exit(1);}
23366 variable[17] = variable[10] /*nodearraylist4*/;
23367 variable[18] = TAG_Bool(( variable[17] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
23368 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction273___action, LOCATE_parser, 14512); nit_exit(1);}
23369 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
23370 variable[18] = variable[19];
23371 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
23372 variable[19] = variable[20];
23373 variable[20] = variable[9] /*nodearraylist5*/;
23374 variable[21] = TAG_Bool(( variable[20] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[20] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
23375 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction273___action, LOCATE_parser, 14516); nit_exit(1);}
23376 variable[21] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[20] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[20] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[20] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[20] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
23377 if (UNTAG_Bool(variable[21])) { /*if*/
23378 variable[21] = ((array___AbstractArray___is_empty_t)CALL( variable[18] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[18] /*listnode9*/) /*AbstractArray::is_empty*/;
23379 if (UNTAG_Bool(variable[21])) { /*if*/
23380 variable[18] = variable[20] /*listnode8*/ /*listnode9=*/;
23381 } else { /*if*/
23382 ((abstract_collection___IndexedCollection___append_t)CALL( variable[18] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[18] /*listnode9*/, variable[20] /*listnode8*/) /*IndexedCollection::append*/;
23383 }
23384 }
23385 variable[21] = variable[8] /*nodearraylist6*/;
23386 variable[22] = TAG_Bool(( variable[21] /*ptypenode10*/==NIT_NULL) || VAL_ISA( variable[21] /*ptypenode10*/, COLOR_PType, ID_PType)) /*cast PType*/;
23387 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction273___action, LOCATE_parser, 14525); nit_exit(1);}
23388 variable[22] = variable[7] /*nodearraylist7*/;
23389 variable[23] = TAG_Bool(( variable[22] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[22] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
23390 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction273___action, LOCATE_parser, 14527); nit_exit(1);}
23391 variable[23] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[22] /*listnode11*/ == NIT_NULL /*null*/) || (( variable[22] /*listnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[22] /*listnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[22] /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[22] /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable[22] /*listnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
23392 if (UNTAG_Bool(variable[23])) { /*if*/
23393 variable[23] = ((array___AbstractArray___is_empty_t)CALL( variable[19] /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable[19] /*listnode12*/) /*AbstractArray::is_empty*/;
23394 if (UNTAG_Bool(variable[23])) { /*if*/
23395 variable[19] = variable[22] /*listnode11*/ /*listnode12=*/;
23396 } else { /*if*/
23397 ((abstract_collection___IndexedCollection___append_t)CALL( variable[19] /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable[19] /*listnode12*/, variable[22] /*listnode11*/) /*IndexedCollection::append*/;
23398 }
23399 }
23400 variable[24] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[18] /*listnode9*/, variable[21] /*ptypenode10*/, variable[19] /*listnode12*/); /*new ASignature*/
23401 variable[23] = variable[24];
23402 variable[24] = variable[4] /*nodearraylist10*/;
23403 variable[25] = TAG_Bool(( variable[24] /*pexprnode13*/==NIT_NULL) || VAL_ISA( variable[24] /*pexprnode13*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
23404 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction273___action, LOCATE_parser, 14541); nit_exit(1);}
23405 variable[26] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[14] /*pdocnode2*/, variable[15] /*tkwredefnode3*/, variable[16] /*pvisibilitynode4*/, variable[17] /*tkwinitnode5*/, NIT_NULL /*null*/, variable[23] /*psignaturenode7*/, variable[24] /*pexprnode13*/); /*new AConcreteInitPropdef*/
23406 variable[25] = variable[26];
23407 variable[3] = variable[25] /*ppropdefnode1*/ /*node_list=*/;
23408 variable[26] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
23409 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[26], variable[3] /*node_list*/) /*Parser::push*/;
23410 return_label578: while(false);
23411 tracehead = trace.prev;
23412 return;
23413 }
23414 void parser___ReduceAction273___init(val_t self, int* init_table) {
23415 struct trace_t trace = {NULL, NULL, 14554, LOCATE_parser___ReduceAction273___init};
23416 val_t variable[2];
23417 void **closurevariable = NULL;
23418 trace.prev = tracehead; tracehead = &trace;
23419 trace.file = LOCATE_parser;
23420 variable[0] = self;
23421 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction273].i]) return;
23422 return_label579: while(false);
23423 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction273].i] = 1;
23424 tracehead = trace.prev;
23425 return;
23426 }
23427 void parser___ReduceAction274___action(val_t self, val_t param0) {
23428 struct trace_t trace = {NULL, NULL, 14558, LOCATE_parser___ReduceAction274___action};
23429 val_t variable[21];
23430 void **closurevariable = NULL;
23431 trace.prev = tracehead; tracehead = &trace;
23432 trace.file = LOCATE_parser;
23433 variable[0] = self;
23434 variable[1] = param0;
23435 variable[3] = NIT_NULL /*null*/;
23436 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23437 variable[4] = variable[5];
23438 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23439 variable[5] = variable[6];
23440 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23441 variable[6] = variable[7];
23442 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23443 variable[7] = variable[8];
23444 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23445 variable[8] = variable[9];
23446 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23447 variable[9] = variable[10];
23448 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23449 variable[10] = variable[11];
23450 variable[11] = variable[10] /*nodearraylist1*/;
23451 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
23452 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction274___action, LOCATE_parser, 14569); nit_exit(1);}
23453 variable[12] = variable[9] /*nodearraylist2*/;
23454 variable[13] = TAG_Bool(( variable[12] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[12] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
23455 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction274___action, LOCATE_parser, 14571); nit_exit(1);}
23456 variable[13] = variable[8] /*nodearraylist3*/;
23457 variable[14] = TAG_Bool(( variable[13] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
23458 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction274___action, LOCATE_parser, 14573); nit_exit(1);}
23459 variable[14] = variable[7] /*nodearraylist4*/;
23460 variable[15] = TAG_Bool(( variable[14] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[14] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
23461 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction274___action, LOCATE_parser, 14575); nit_exit(1);}
23462 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
23463 variable[15] = variable[16];
23464 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
23465 variable[16] = variable[17];
23466 variable[18] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[15] /*listnode8*/, NIT_NULL /*null*/, variable[16] /*listnode10*/); /*new ASignature*/
23467 variable[17] = variable[18];
23468 variable[18] = variable[4] /*nodearraylist7*/;
23469 variable[19] = TAG_Bool(( variable[18] /*pexprnode11*/==NIT_NULL) || VAL_ISA( variable[18] /*pexprnode11*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
23470 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction274___action, LOCATE_parser, 14584); nit_exit(1);}
23471 variable[20] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[11] /*pdocnode2*/, NIT_NULL /*null*/, variable[12] /*pvisibilitynode4*/, variable[13] /*tkwinitnode5*/, variable[14] /*pmethidnode6*/, variable[17] /*psignaturenode7*/, variable[18] /*pexprnode11*/); /*new AConcreteInitPropdef*/
23472 variable[19] = variable[20];
23473 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
23474 variable[20] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
23475 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
23476 return_label580: while(false);
23477 tracehead = trace.prev;
23478 return;
23479 }
23480 void parser___ReduceAction274___init(val_t self, int* init_table) {
23481 struct trace_t trace = {NULL, NULL, 14597, LOCATE_parser___ReduceAction274___init};
23482 val_t variable[2];
23483 void **closurevariable = NULL;
23484 trace.prev = tracehead; tracehead = &trace;
23485 trace.file = LOCATE_parser;
23486 variable[0] = self;
23487 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction274].i]) return;
23488 return_label581: while(false);
23489 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction274].i] = 1;
23490 tracehead = trace.prev;
23491 return;
23492 }
23493 void parser___ReduceAction275___action(val_t self, val_t param0) {
23494 struct trace_t trace = {NULL, NULL, 14601, LOCATE_parser___ReduceAction275___action};
23495 val_t variable[23];
23496 void **closurevariable = NULL;
23497 trace.prev = tracehead; tracehead = &trace;
23498 trace.file = LOCATE_parser;
23499 variable[0] = self;
23500 variable[1] = param0;
23501 variable[3] = NIT_NULL /*null*/;
23502 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23503 variable[4] = variable[5];
23504 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23505 variable[5] = variable[6];
23506 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23507 variable[6] = variable[7];
23508 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23509 variable[7] = variable[8];
23510 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23511 variable[8] = variable[9];
23512 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23513 variable[9] = variable[10];
23514 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23515 variable[10] = variable[11];
23516 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23517 variable[11] = variable[12];
23518 variable[12] = variable[11] /*nodearraylist1*/;
23519 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
23520 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction275___action, LOCATE_parser, 14613); nit_exit(1);}
23521 variable[13] = variable[10] /*nodearraylist2*/;
23522 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
23523 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction275___action, LOCATE_parser, 14615); nit_exit(1);}
23524 variable[14] = variable[9] /*nodearraylist3*/;
23525 variable[15] = TAG_Bool(( variable[14] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
23526 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction275___action, LOCATE_parser, 14617); nit_exit(1);}
23527 variable[15] = variable[8] /*nodearraylist4*/;
23528 variable[16] = TAG_Bool(( variable[15] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
23529 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction275___action, LOCATE_parser, 14619); nit_exit(1);}
23530 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
23531 variable[16] = variable[17];
23532 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
23533 variable[17] = variable[18];
23534 variable[18] = variable[7] /*nodearraylist5*/;
23535 variable[19] = TAG_Bool(( variable[18] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[18] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
23536 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction275___action, LOCATE_parser, 14623); nit_exit(1);}
23537 variable[19] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[18] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[18] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[18] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[18] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[18] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[18] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
23538 if (UNTAG_Bool(variable[19])) { /*if*/
23539 variable[19] = ((array___AbstractArray___is_empty_t)CALL( variable[16] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[16] /*listnode9*/) /*AbstractArray::is_empty*/;
23540 if (UNTAG_Bool(variable[19])) { /*if*/
23541 variable[16] = variable[18] /*listnode8*/ /*listnode9=*/;
23542 } else { /*if*/
23543 ((abstract_collection___IndexedCollection___append_t)CALL( variable[16] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[16] /*listnode9*/, variable[18] /*listnode8*/) /*IndexedCollection::append*/;
23544 }
23545 }
23546 variable[20] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[16] /*listnode9*/, NIT_NULL /*null*/, variable[17] /*listnode11*/); /*new ASignature*/
23547 variable[19] = variable[20];
23548 variable[20] = variable[4] /*nodearraylist8*/;
23549 variable[21] = TAG_Bool(( variable[20] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[20] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
23550 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction275___action, LOCATE_parser, 14637); nit_exit(1);}
23551 variable[22] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[12] /*pdocnode2*/, NIT_NULL /*null*/, variable[13] /*pvisibilitynode4*/, variable[14] /*tkwinitnode5*/, variable[15] /*pmethidnode6*/, variable[19] /*psignaturenode7*/, variable[20] /*pexprnode12*/); /*new AConcreteInitPropdef*/
23552 variable[21] = variable[22];
23553 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
23554 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
23555 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
23556 return_label582: while(false);
23557 tracehead = trace.prev;
23558 return;
23559 }
23560 void parser___ReduceAction275___init(val_t self, int* init_table) {
23561 struct trace_t trace = {NULL, NULL, 14650, LOCATE_parser___ReduceAction275___init};
23562 val_t variable[2];
23563 void **closurevariable = NULL;
23564 trace.prev = tracehead; tracehead = &trace;
23565 trace.file = LOCATE_parser;
23566 variable[0] = self;
23567 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction275].i]) return;
23568 return_label583: while(false);
23569 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction275].i] = 1;
23570 tracehead = trace.prev;
23571 return;
23572 }
23573 void parser___ReduceAction276___action(val_t self, val_t param0) {
23574 struct trace_t trace = {NULL, NULL, 14654, LOCATE_parser___ReduceAction276___action};
23575 val_t variable[23];
23576 void **closurevariable = NULL;
23577 trace.prev = tracehead; tracehead = &trace;
23578 trace.file = LOCATE_parser;
23579 variable[0] = self;
23580 variable[1] = param0;
23581 variable[3] = NIT_NULL /*null*/;
23582 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23583 variable[4] = variable[5];
23584 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23585 variable[5] = variable[6];
23586 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23587 variable[6] = variable[7];
23588 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23589 variable[7] = variable[8];
23590 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23591 variable[8] = variable[9];
23592 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23593 variable[9] = variable[10];
23594 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23595 variable[10] = variable[11];
23596 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23597 variable[11] = variable[12];
23598 variable[12] = variable[11] /*nodearraylist1*/;
23599 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
23600 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction276___action, LOCATE_parser, 14666); nit_exit(1);}
23601 variable[13] = variable[10] /*nodearraylist2*/;
23602 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
23603 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction276___action, LOCATE_parser, 14668); nit_exit(1);}
23604 variable[14] = variable[9] /*nodearraylist3*/;
23605 variable[15] = TAG_Bool(( variable[14] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
23606 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction276___action, LOCATE_parser, 14670); nit_exit(1);}
23607 variable[15] = variable[8] /*nodearraylist4*/;
23608 variable[16] = TAG_Bool(( variable[15] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
23609 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction276___action, LOCATE_parser, 14672); nit_exit(1);}
23610 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
23611 variable[16] = variable[17];
23612 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
23613 variable[17] = variable[18];
23614 variable[18] = variable[7] /*nodearraylist5*/;
23615 variable[19] = TAG_Bool(( variable[18] /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable[18] /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
23616 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction276___action, LOCATE_parser, 14676); nit_exit(1);}
23617 variable[20] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[16] /*listnode8*/, variable[18] /*ptypenode9*/, variable[17] /*listnode10*/); /*new ASignature*/
23618 variable[19] = variable[20];
23619 variable[20] = variable[4] /*nodearraylist8*/;
23620 variable[21] = TAG_Bool(( variable[20] /*pexprnode11*/==NIT_NULL) || VAL_ISA( variable[20] /*pexprnode11*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
23621 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction276___action, LOCATE_parser, 14683); nit_exit(1);}
23622 variable[22] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[12] /*pdocnode2*/, NIT_NULL /*null*/, variable[13] /*pvisibilitynode4*/, variable[14] /*tkwinitnode5*/, variable[15] /*pmethidnode6*/, variable[19] /*psignaturenode7*/, variable[20] /*pexprnode11*/); /*new AConcreteInitPropdef*/
23623 variable[21] = variable[22];
23624 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
23625 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
23626 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
23627 return_label584: while(false);
23628 tracehead = trace.prev;
23629 return;
23630 }
23631 void parser___ReduceAction276___init(val_t self, int* init_table) {
23632 struct trace_t trace = {NULL, NULL, 14696, LOCATE_parser___ReduceAction276___init};
23633 val_t variable[2];
23634 void **closurevariable = NULL;
23635 trace.prev = tracehead; tracehead = &trace;
23636 trace.file = LOCATE_parser;
23637 variable[0] = self;
23638 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction276].i]) return;
23639 return_label585: while(false);
23640 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction276].i] = 1;
23641 tracehead = trace.prev;
23642 return;
23643 }
23644 void parser___ReduceAction277___action(val_t self, val_t param0) {
23645 struct trace_t trace = {NULL, NULL, 14700, LOCATE_parser___ReduceAction277___action};
23646 val_t variable[25];
23647 void **closurevariable = NULL;
23648 trace.prev = tracehead; tracehead = &trace;
23649 trace.file = LOCATE_parser;
23650 variable[0] = self;
23651 variable[1] = param0;
23652 variable[3] = NIT_NULL /*null*/;
23653 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23654 variable[4] = variable[5];
23655 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23656 variable[5] = variable[6];
23657 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23658 variable[6] = variable[7];
23659 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23660 variable[7] = variable[8];
23661 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23662 variable[8] = variable[9];
23663 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23664 variable[9] = variable[10];
23665 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23666 variable[10] = variable[11];
23667 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23668 variable[11] = variable[12];
23669 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23670 variable[12] = variable[13];
23671 variable[13] = variable[12] /*nodearraylist1*/;
23672 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
23673 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction277___action, LOCATE_parser, 14713); nit_exit(1);}
23674 variable[14] = variable[11] /*nodearraylist2*/;
23675 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
23676 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction277___action, LOCATE_parser, 14715); nit_exit(1);}
23677 variable[15] = variable[10] /*nodearraylist3*/;
23678 variable[16] = TAG_Bool(( variable[15] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
23679 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction277___action, LOCATE_parser, 14717); nit_exit(1);}
23680 variable[16] = variable[9] /*nodearraylist4*/;
23681 variable[17] = TAG_Bool(( variable[16] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[16] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
23682 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction277___action, LOCATE_parser, 14719); nit_exit(1);}
23683 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
23684 variable[17] = variable[18];
23685 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
23686 variable[18] = variable[19];
23687 variable[19] = variable[8] /*nodearraylist5*/;
23688 variable[20] = TAG_Bool(( variable[19] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[19] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
23689 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction277___action, LOCATE_parser, 14723); nit_exit(1);}
23690 variable[20] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[19] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[19] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[19] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[19] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
23691 if (UNTAG_Bool(variable[20])) { /*if*/
23692 variable[20] = ((array___AbstractArray___is_empty_t)CALL( variable[17] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[17] /*listnode9*/) /*AbstractArray::is_empty*/;
23693 if (UNTAG_Bool(variable[20])) { /*if*/
23694 variable[17] = variable[19] /*listnode8*/ /*listnode9=*/;
23695 } else { /*if*/
23696 ((abstract_collection___IndexedCollection___append_t)CALL( variable[17] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[17] /*listnode9*/, variable[19] /*listnode8*/) /*IndexedCollection::append*/;
23697 }
23698 }
23699 variable[20] = variable[7] /*nodearraylist6*/;
23700 variable[21] = TAG_Bool(( variable[20] /*ptypenode10*/==NIT_NULL) || VAL_ISA( variable[20] /*ptypenode10*/, COLOR_PType, ID_PType)) /*cast PType*/;
23701 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction277___action, LOCATE_parser, 14732); nit_exit(1);}
23702 variable[22] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[17] /*listnode9*/, variable[20] /*ptypenode10*/, variable[18] /*listnode11*/); /*new ASignature*/
23703 variable[21] = variable[22];
23704 variable[22] = variable[4] /*nodearraylist9*/;
23705 variable[23] = TAG_Bool(( variable[22] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[22] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
23706 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction277___action, LOCATE_parser, 14739); nit_exit(1);}
23707 variable[24] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[13] /*pdocnode2*/, NIT_NULL /*null*/, variable[14] /*pvisibilitynode4*/, variable[15] /*tkwinitnode5*/, variable[16] /*pmethidnode6*/, variable[21] /*psignaturenode7*/, variable[22] /*pexprnode12*/); /*new AConcreteInitPropdef*/
23708 variable[23] = variable[24];
23709 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
23710 variable[24] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
23711 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
23712 return_label586: while(false);
23713 tracehead = trace.prev;
23714 return;
23715 }
23716 void parser___ReduceAction277___init(val_t self, int* init_table) {
23717 struct trace_t trace = {NULL, NULL, 14752, LOCATE_parser___ReduceAction277___init};
23718 val_t variable[2];
23719 void **closurevariable = NULL;
23720 trace.prev = tracehead; tracehead = &trace;
23721 trace.file = LOCATE_parser;
23722 variable[0] = self;
23723 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction277].i]) return;
23724 return_label587: while(false);
23725 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction277].i] = 1;
23726 tracehead = trace.prev;
23727 return;
23728 }
23729 void parser___ReduceAction278___action(val_t self, val_t param0) {
23730 struct trace_t trace = {NULL, NULL, 14756, LOCATE_parser___ReduceAction278___action};
23731 val_t variable[23];
23732 void **closurevariable = NULL;
23733 trace.prev = tracehead; tracehead = &trace;
23734 trace.file = LOCATE_parser;
23735 variable[0] = self;
23736 variable[1] = param0;
23737 variable[3] = NIT_NULL /*null*/;
23738 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23739 variable[4] = variable[5];
23740 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23741 variable[5] = variable[6];
23742 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23743 variable[6] = variable[7];
23744 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23745 variable[7] = variable[8];
23746 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23747 variable[8] = variable[9];
23748 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23749 variable[9] = variable[10];
23750 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23751 variable[10] = variable[11];
23752 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23753 variable[11] = variable[12];
23754 variable[12] = variable[11] /*nodearraylist1*/;
23755 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
23756 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction278___action, LOCATE_parser, 14768); nit_exit(1);}
23757 variable[13] = variable[10] /*nodearraylist2*/;
23758 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
23759 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction278___action, LOCATE_parser, 14770); nit_exit(1);}
23760 variable[14] = variable[9] /*nodearraylist3*/;
23761 variable[15] = TAG_Bool(( variable[14] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
23762 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction278___action, LOCATE_parser, 14772); nit_exit(1);}
23763 variable[15] = variable[8] /*nodearraylist4*/;
23764 variable[16] = TAG_Bool(( variable[15] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
23765 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction278___action, LOCATE_parser, 14774); nit_exit(1);}
23766 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
23767 variable[16] = variable[17];
23768 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
23769 variable[17] = variable[18];
23770 variable[18] = variable[7] /*nodearraylist5*/;
23771 variable[19] = TAG_Bool(( variable[18] /*listnode10*/==NIT_NULL) || VAL_ISA( variable[18] /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
23772 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction278___action, LOCATE_parser, 14778); nit_exit(1);}
23773 variable[19] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[18] /*listnode10*/ == NIT_NULL /*null*/) || (( variable[18] /*listnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[18] /*listnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[18] /*listnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[18] /*listnode10*/,COLOR_kernel___Object_____eqeq))( variable[18] /*listnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
23774 if (UNTAG_Bool(variable[19])) { /*if*/
23775 variable[19] = ((array___AbstractArray___is_empty_t)CALL( variable[17] /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable[17] /*listnode11*/) /*AbstractArray::is_empty*/;
23776 if (UNTAG_Bool(variable[19])) { /*if*/
23777 variable[17] = variable[18] /*listnode10*/ /*listnode11=*/;
23778 } else { /*if*/
23779 ((abstract_collection___IndexedCollection___append_t)CALL( variable[17] /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable[17] /*listnode11*/, variable[18] /*listnode10*/) /*IndexedCollection::append*/;
23780 }
23781 }
23782 variable[20] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[16] /*listnode8*/, NIT_NULL /*null*/, variable[17] /*listnode11*/); /*new ASignature*/
23783 variable[19] = variable[20];
23784 variable[20] = variable[4] /*nodearraylist8*/;
23785 variable[21] = TAG_Bool(( variable[20] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[20] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
23786 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction278___action, LOCATE_parser, 14792); nit_exit(1);}
23787 variable[22] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[12] /*pdocnode2*/, NIT_NULL /*null*/, variable[13] /*pvisibilitynode4*/, variable[14] /*tkwinitnode5*/, variable[15] /*pmethidnode6*/, variable[19] /*psignaturenode7*/, variable[20] /*pexprnode12*/); /*new AConcreteInitPropdef*/
23788 variable[21] = variable[22];
23789 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
23790 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
23791 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
23792 return_label588: while(false);
23793 tracehead = trace.prev;
23794 return;
23795 }
23796 void parser___ReduceAction278___init(val_t self, int* init_table) {
23797 struct trace_t trace = {NULL, NULL, 14805, LOCATE_parser___ReduceAction278___init};
23798 val_t variable[2];
23799 void **closurevariable = NULL;
23800 trace.prev = tracehead; tracehead = &trace;
23801 trace.file = LOCATE_parser;
23802 variable[0] = self;
23803 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction278].i]) return;
23804 return_label589: while(false);
23805 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction278].i] = 1;
23806 tracehead = trace.prev;
23807 return;
23808 }
23809 void parser___ReduceAction279___action(val_t self, val_t param0) {
23810 struct trace_t trace = {NULL, NULL, 14809, LOCATE_parser___ReduceAction279___action};
23811 val_t variable[25];
23812 void **closurevariable = NULL;
23813 trace.prev = tracehead; tracehead = &trace;
23814 trace.file = LOCATE_parser;
23815 variable[0] = self;
23816 variable[1] = param0;
23817 variable[3] = NIT_NULL /*null*/;
23818 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23819 variable[4] = variable[5];
23820 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23821 variable[5] = variable[6];
23822 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23823 variable[6] = variable[7];
23824 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23825 variable[7] = variable[8];
23826 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23827 variable[8] = variable[9];
23828 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23829 variable[9] = variable[10];
23830 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23831 variable[10] = variable[11];
23832 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23833 variable[11] = variable[12];
23834 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23835 variable[12] = variable[13];
23836 variable[13] = variable[12] /*nodearraylist1*/;
23837 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
23838 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction279___action, LOCATE_parser, 14822); nit_exit(1);}
23839 variable[14] = variable[11] /*nodearraylist2*/;
23840 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
23841 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction279___action, LOCATE_parser, 14824); nit_exit(1);}
23842 variable[15] = variable[10] /*nodearraylist3*/;
23843 variable[16] = TAG_Bool(( variable[15] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
23844 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction279___action, LOCATE_parser, 14826); nit_exit(1);}
23845 variable[16] = variable[9] /*nodearraylist4*/;
23846 variable[17] = TAG_Bool(( variable[16] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[16] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
23847 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction279___action, LOCATE_parser, 14828); nit_exit(1);}
23848 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
23849 variable[17] = variable[18];
23850 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
23851 variable[18] = variable[19];
23852 variable[19] = variable[8] /*nodearraylist5*/;
23853 variable[20] = TAG_Bool(( variable[19] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[19] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
23854 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction279___action, LOCATE_parser, 14832); nit_exit(1);}
23855 variable[20] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[19] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[19] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[19] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[19] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
23856 if (UNTAG_Bool(variable[20])) { /*if*/
23857 variable[20] = ((array___AbstractArray___is_empty_t)CALL( variable[17] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[17] /*listnode9*/) /*AbstractArray::is_empty*/;
23858 if (UNTAG_Bool(variable[20])) { /*if*/
23859 variable[17] = variable[19] /*listnode8*/ /*listnode9=*/;
23860 } else { /*if*/
23861 ((abstract_collection___IndexedCollection___append_t)CALL( variable[17] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[17] /*listnode9*/, variable[19] /*listnode8*/) /*IndexedCollection::append*/;
23862 }
23863 }
23864 variable[20] = variable[7] /*nodearraylist6*/;
23865 variable[21] = TAG_Bool(( variable[20] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[20] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
23866 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction279___action, LOCATE_parser, 14841); nit_exit(1);}
23867 variable[21] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[20] /*listnode11*/ == NIT_NULL /*null*/) || (( variable[20] /*listnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[20] /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable[20] /*listnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
23868 if (UNTAG_Bool(variable[21])) { /*if*/
23869 variable[21] = ((array___AbstractArray___is_empty_t)CALL( variable[18] /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable[18] /*listnode12*/) /*AbstractArray::is_empty*/;
23870 if (UNTAG_Bool(variable[21])) { /*if*/
23871 variable[18] = variable[20] /*listnode11*/ /*listnode12=*/;
23872 } else { /*if*/
23873 ((abstract_collection___IndexedCollection___append_t)CALL( variable[18] /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable[18] /*listnode12*/, variable[20] /*listnode11*/) /*IndexedCollection::append*/;
23874 }
23875 }
23876 variable[22] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[17] /*listnode9*/, NIT_NULL /*null*/, variable[18] /*listnode12*/); /*new ASignature*/
23877 variable[21] = variable[22];
23878 variable[22] = variable[4] /*nodearraylist9*/;
23879 variable[23] = TAG_Bool(( variable[22] /*pexprnode13*/==NIT_NULL) || VAL_ISA( variable[22] /*pexprnode13*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
23880 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction279___action, LOCATE_parser, 14855); nit_exit(1);}
23881 variable[24] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[13] /*pdocnode2*/, NIT_NULL /*null*/, variable[14] /*pvisibilitynode4*/, variable[15] /*tkwinitnode5*/, variable[16] /*pmethidnode6*/, variable[21] /*psignaturenode7*/, variable[22] /*pexprnode13*/); /*new AConcreteInitPropdef*/
23882 variable[23] = variable[24];
23883 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
23884 variable[24] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
23885 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
23886 return_label590: while(false);
23887 tracehead = trace.prev;
23888 return;
23889 }
23890 void parser___ReduceAction279___init(val_t self, int* init_table) {
23891 struct trace_t trace = {NULL, NULL, 14868, LOCATE_parser___ReduceAction279___init};
23892 val_t variable[2];
23893 void **closurevariable = NULL;
23894 trace.prev = tracehead; tracehead = &trace;
23895 trace.file = LOCATE_parser;
23896 variable[0] = self;
23897 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction279].i]) return;
23898 return_label591: while(false);
23899 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction279].i] = 1;
23900 tracehead = trace.prev;
23901 return;
23902 }
23903 void parser___ReduceAction280___action(val_t self, val_t param0) {
23904 struct trace_t trace = {NULL, NULL, 14872, LOCATE_parser___ReduceAction280___action};
23905 val_t variable[25];
23906 void **closurevariable = NULL;
23907 trace.prev = tracehead; tracehead = &trace;
23908 trace.file = LOCATE_parser;
23909 variable[0] = self;
23910 variable[1] = param0;
23911 variable[3] = NIT_NULL /*null*/;
23912 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23913 variable[4] = variable[5];
23914 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23915 variable[5] = variable[6];
23916 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23917 variable[6] = variable[7];
23918 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23919 variable[7] = variable[8];
23920 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23921 variable[8] = variable[9];
23922 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23923 variable[9] = variable[10];
23924 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23925 variable[10] = variable[11];
23926 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23927 variable[11] = variable[12];
23928 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23929 variable[12] = variable[13];
23930 variable[13] = variable[12] /*nodearraylist1*/;
23931 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
23932 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction280___action, LOCATE_parser, 14885); nit_exit(1);}
23933 variable[14] = variable[11] /*nodearraylist2*/;
23934 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
23935 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction280___action, LOCATE_parser, 14887); nit_exit(1);}
23936 variable[15] = variable[10] /*nodearraylist3*/;
23937 variable[16] = TAG_Bool(( variable[15] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
23938 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction280___action, LOCATE_parser, 14889); nit_exit(1);}
23939 variable[16] = variable[9] /*nodearraylist4*/;
23940 variable[17] = TAG_Bool(( variable[16] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[16] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
23941 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction280___action, LOCATE_parser, 14891); nit_exit(1);}
23942 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
23943 variable[17] = variable[18];
23944 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
23945 variable[18] = variable[19];
23946 variable[19] = variable[8] /*nodearraylist5*/;
23947 variable[20] = TAG_Bool(( variable[19] /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable[19] /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
23948 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction280___action, LOCATE_parser, 14895); nit_exit(1);}
23949 variable[20] = variable[7] /*nodearraylist6*/;
23950 variable[21] = TAG_Bool(( variable[20] /*listnode10*/==NIT_NULL) || VAL_ISA( variable[20] /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
23951 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction280___action, LOCATE_parser, 14897); nit_exit(1);}
23952 variable[21] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[20] /*listnode10*/ == NIT_NULL /*null*/) || (( variable[20] /*listnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[20] /*listnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode10*/,COLOR_kernel___Object_____eqeq))( variable[20] /*listnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
23953 if (UNTAG_Bool(variable[21])) { /*if*/
23954 variable[21] = ((array___AbstractArray___is_empty_t)CALL( variable[18] /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable[18] /*listnode11*/) /*AbstractArray::is_empty*/;
23955 if (UNTAG_Bool(variable[21])) { /*if*/
23956 variable[18] = variable[20] /*listnode10*/ /*listnode11=*/;
23957 } else { /*if*/
23958 ((abstract_collection___IndexedCollection___append_t)CALL( variable[18] /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable[18] /*listnode11*/, variable[20] /*listnode10*/) /*IndexedCollection::append*/;
23959 }
23960 }
23961 variable[22] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[17] /*listnode8*/, variable[19] /*ptypenode9*/, variable[18] /*listnode11*/); /*new ASignature*/
23962 variable[21] = variable[22];
23963 variable[22] = variable[4] /*nodearraylist9*/;
23964 variable[23] = TAG_Bool(( variable[22] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[22] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
23965 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction280___action, LOCATE_parser, 14911); nit_exit(1);}
23966 variable[24] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[13] /*pdocnode2*/, NIT_NULL /*null*/, variable[14] /*pvisibilitynode4*/, variable[15] /*tkwinitnode5*/, variable[16] /*pmethidnode6*/, variable[21] /*psignaturenode7*/, variable[22] /*pexprnode12*/); /*new AConcreteInitPropdef*/
23967 variable[23] = variable[24];
23968 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
23969 variable[24] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
23970 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
23971 return_label592: while(false);
23972 tracehead = trace.prev;
23973 return;
23974 }
23975 void parser___ReduceAction280___init(val_t self, int* init_table) {
23976 struct trace_t trace = {NULL, NULL, 14924, LOCATE_parser___ReduceAction280___init};
23977 val_t variable[2];
23978 void **closurevariable = NULL;
23979 trace.prev = tracehead; tracehead = &trace;
23980 trace.file = LOCATE_parser;
23981 variable[0] = self;
23982 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction280].i]) return;
23983 return_label593: while(false);
23984 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction280].i] = 1;
23985 tracehead = trace.prev;
23986 return;
23987 }
23988 void parser___ReduceAction281___action(val_t self, val_t param0) {
23989 struct trace_t trace = {NULL, NULL, 14928, LOCATE_parser___ReduceAction281___action};
23990 val_t variable[27];
23991 void **closurevariable = NULL;
23992 trace.prev = tracehead; tracehead = &trace;
23993 trace.file = LOCATE_parser;
23994 variable[0] = self;
23995 variable[1] = param0;
23996 variable[3] = NIT_NULL /*null*/;
23997 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
23998 variable[4] = variable[5];
23999 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24000 variable[5] = variable[6];
24001 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24002 variable[6] = variable[7];
24003 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24004 variable[7] = variable[8];
24005 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24006 variable[8] = variable[9];
24007 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24008 variable[9] = variable[10];
24009 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24010 variable[10] = variable[11];
24011 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24012 variable[11] = variable[12];
24013 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24014 variable[12] = variable[13];
24015 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24016 variable[13] = variable[14];
24017 variable[14] = variable[13] /*nodearraylist1*/;
24018 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
24019 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction281___action, LOCATE_parser, 14942); nit_exit(1);}
24020 variable[15] = variable[12] /*nodearraylist2*/;
24021 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
24022 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction281___action, LOCATE_parser, 14944); nit_exit(1);}
24023 variable[16] = variable[11] /*nodearraylist3*/;
24024 variable[17] = TAG_Bool(( variable[16] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
24025 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction281___action, LOCATE_parser, 14946); nit_exit(1);}
24026 variable[17] = variable[10] /*nodearraylist4*/;
24027 variable[18] = TAG_Bool(( variable[17] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[17] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
24028 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction281___action, LOCATE_parser, 14948); nit_exit(1);}
24029 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
24030 variable[18] = variable[19];
24031 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
24032 variable[19] = variable[20];
24033 variable[20] = variable[9] /*nodearraylist5*/;
24034 variable[21] = TAG_Bool(( variable[20] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[20] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
24035 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction281___action, LOCATE_parser, 14952); nit_exit(1);}
24036 variable[21] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[20] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[20] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[20] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[20] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
24037 if (UNTAG_Bool(variable[21])) { /*if*/
24038 variable[21] = ((array___AbstractArray___is_empty_t)CALL( variable[18] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[18] /*listnode9*/) /*AbstractArray::is_empty*/;
24039 if (UNTAG_Bool(variable[21])) { /*if*/
24040 variable[18] = variable[20] /*listnode8*/ /*listnode9=*/;
24041 } else { /*if*/
24042 ((abstract_collection___IndexedCollection___append_t)CALL( variable[18] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[18] /*listnode9*/, variable[20] /*listnode8*/) /*IndexedCollection::append*/;
24043 }
24044 }
24045 variable[21] = variable[8] /*nodearraylist6*/;
24046 variable[22] = TAG_Bool(( variable[21] /*ptypenode10*/==NIT_NULL) || VAL_ISA( variable[21] /*ptypenode10*/, COLOR_PType, ID_PType)) /*cast PType*/;
24047 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction281___action, LOCATE_parser, 14961); nit_exit(1);}
24048 variable[22] = variable[7] /*nodearraylist7*/;
24049 variable[23] = TAG_Bool(( variable[22] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[22] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
24050 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction281___action, LOCATE_parser, 14963); nit_exit(1);}
24051 variable[23] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[22] /*listnode11*/ == NIT_NULL /*null*/) || (( variable[22] /*listnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[22] /*listnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[22] /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[22] /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable[22] /*listnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
24052 if (UNTAG_Bool(variable[23])) { /*if*/
24053 variable[23] = ((array___AbstractArray___is_empty_t)CALL( variable[19] /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable[19] /*listnode12*/) /*AbstractArray::is_empty*/;
24054 if (UNTAG_Bool(variable[23])) { /*if*/
24055 variable[19] = variable[22] /*listnode11*/ /*listnode12=*/;
24056 } else { /*if*/
24057 ((abstract_collection___IndexedCollection___append_t)CALL( variable[19] /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable[19] /*listnode12*/, variable[22] /*listnode11*/) /*IndexedCollection::append*/;
24058 }
24059 }
24060 variable[24] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[18] /*listnode9*/, variable[21] /*ptypenode10*/, variable[19] /*listnode12*/); /*new ASignature*/
24061 variable[23] = variable[24];
24062 variable[24] = variable[4] /*nodearraylist10*/;
24063 variable[25] = TAG_Bool(( variable[24] /*pexprnode13*/==NIT_NULL) || VAL_ISA( variable[24] /*pexprnode13*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
24064 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction281___action, LOCATE_parser, 14977); nit_exit(1);}
24065 variable[26] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[14] /*pdocnode2*/, NIT_NULL /*null*/, variable[15] /*pvisibilitynode4*/, variable[16] /*tkwinitnode5*/, variable[17] /*pmethidnode6*/, variable[23] /*psignaturenode7*/, variable[24] /*pexprnode13*/); /*new AConcreteInitPropdef*/
24066 variable[25] = variable[26];
24067 variable[3] = variable[25] /*ppropdefnode1*/ /*node_list=*/;
24068 variable[26] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
24069 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[26], variable[3] /*node_list*/) /*Parser::push*/;
24070 return_label594: while(false);
24071 tracehead = trace.prev;
24072 return;
24073 }
24074 void parser___ReduceAction281___init(val_t self, int* init_table) {
24075 struct trace_t trace = {NULL, NULL, 14990, LOCATE_parser___ReduceAction281___init};
24076 val_t variable[2];
24077 void **closurevariable = NULL;
24078 trace.prev = tracehead; tracehead = &trace;
24079 trace.file = LOCATE_parser;
24080 variable[0] = self;
24081 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction281].i]) return;
24082 return_label595: while(false);
24083 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction281].i] = 1;
24084 tracehead = trace.prev;
24085 return;
24086 }
24087 void parser___ReduceAction282___action(val_t self, val_t param0) {
24088 struct trace_t trace = {NULL, NULL, 14994, LOCATE_parser___ReduceAction282___action};
24089 val_t variable[23];
24090 void **closurevariable = NULL;
24091 trace.prev = tracehead; tracehead = &trace;
24092 trace.file = LOCATE_parser;
24093 variable[0] = self;
24094 variable[1] = param0;
24095 variable[3] = NIT_NULL /*null*/;
24096 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24097 variable[4] = variable[5];
24098 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24099 variable[5] = variable[6];
24100 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24101 variable[6] = variable[7];
24102 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24103 variable[7] = variable[8];
24104 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24105 variable[8] = variable[9];
24106 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24107 variable[9] = variable[10];
24108 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24109 variable[10] = variable[11];
24110 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24111 variable[11] = variable[12];
24112 variable[12] = variable[11] /*nodearraylist1*/;
24113 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
24114 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction282___action, LOCATE_parser, 15006); nit_exit(1);}
24115 variable[13] = variable[10] /*nodearraylist2*/;
24116 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
24117 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction282___action, LOCATE_parser, 15008); nit_exit(1);}
24118 variable[14] = variable[9] /*nodearraylist3*/;
24119 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
24120 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction282___action, LOCATE_parser, 15010); nit_exit(1);}
24121 variable[15] = variable[8] /*nodearraylist4*/;
24122 variable[16] = TAG_Bool(( variable[15] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
24123 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction282___action, LOCATE_parser, 15012); nit_exit(1);}
24124 variable[16] = variable[7] /*nodearraylist5*/;
24125 variable[17] = TAG_Bool(( variable[16] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[16] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
24126 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction282___action, LOCATE_parser, 15014); nit_exit(1);}
24127 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
24128 variable[17] = variable[18];
24129 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
24130 variable[18] = variable[19];
24131 variable[20] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[17] /*listnode8*/, NIT_NULL /*null*/, variable[18] /*listnode10*/); /*new ASignature*/
24132 variable[19] = variable[20];
24133 variable[20] = variable[4] /*nodearraylist8*/;
24134 variable[21] = TAG_Bool(( variable[20] /*pexprnode11*/==NIT_NULL) || VAL_ISA( variable[20] /*pexprnode11*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
24135 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction282___action, LOCATE_parser, 15023); nit_exit(1);}
24136 variable[22] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[12] /*pdocnode2*/, variable[13] /*tkwredefnode3*/, variable[14] /*pvisibilitynode4*/, variable[15] /*tkwinitnode5*/, variable[16] /*pmethidnode6*/, variable[19] /*psignaturenode7*/, variable[20] /*pexprnode11*/); /*new AConcreteInitPropdef*/
24137 variable[21] = variable[22];
24138 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
24139 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
24140 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
24141 return_label596: while(false);
24142 tracehead = trace.prev;
24143 return;
24144 }
24145 void parser___ReduceAction282___init(val_t self, int* init_table) {
24146 struct trace_t trace = {NULL, NULL, 15036, LOCATE_parser___ReduceAction282___init};
24147 val_t variable[2];
24148 void **closurevariable = NULL;
24149 trace.prev = tracehead; tracehead = &trace;
24150 trace.file = LOCATE_parser;
24151 variable[0] = self;
24152 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction282].i]) return;
24153 return_label597: while(false);
24154 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction282].i] = 1;
24155 tracehead = trace.prev;
24156 return;
24157 }
24158 void parser___ReduceAction283___action(val_t self, val_t param0) {
24159 struct trace_t trace = {NULL, NULL, 15040, LOCATE_parser___ReduceAction283___action};
24160 val_t variable[25];
24161 void **closurevariable = NULL;
24162 trace.prev = tracehead; tracehead = &trace;
24163 trace.file = LOCATE_parser;
24164 variable[0] = self;
24165 variable[1] = param0;
24166 variable[3] = NIT_NULL /*null*/;
24167 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24168 variable[4] = variable[5];
24169 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24170 variable[5] = variable[6];
24171 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24172 variable[6] = variable[7];
24173 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24174 variable[7] = variable[8];
24175 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24176 variable[8] = variable[9];
24177 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24178 variable[9] = variable[10];
24179 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24180 variable[10] = variable[11];
24181 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24182 variable[11] = variable[12];
24183 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24184 variable[12] = variable[13];
24185 variable[13] = variable[12] /*nodearraylist1*/;
24186 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
24187 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction283___action, LOCATE_parser, 15053); nit_exit(1);}
24188 variable[14] = variable[11] /*nodearraylist2*/;
24189 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
24190 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction283___action, LOCATE_parser, 15055); nit_exit(1);}
24191 variable[15] = variable[10] /*nodearraylist3*/;
24192 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
24193 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction283___action, LOCATE_parser, 15057); nit_exit(1);}
24194 variable[16] = variable[9] /*nodearraylist4*/;
24195 variable[17] = TAG_Bool(( variable[16] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
24196 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction283___action, LOCATE_parser, 15059); nit_exit(1);}
24197 variable[17] = variable[8] /*nodearraylist5*/;
24198 variable[18] = TAG_Bool(( variable[17] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[17] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
24199 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction283___action, LOCATE_parser, 15061); nit_exit(1);}
24200 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
24201 variable[18] = variable[19];
24202 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
24203 variable[19] = variable[20];
24204 variable[20] = variable[7] /*nodearraylist6*/;
24205 variable[21] = TAG_Bool(( variable[20] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[20] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
24206 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction283___action, LOCATE_parser, 15065); nit_exit(1);}
24207 variable[21] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[20] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[20] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[20] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[20] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
24208 if (UNTAG_Bool(variable[21])) { /*if*/
24209 variable[21] = ((array___AbstractArray___is_empty_t)CALL( variable[18] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[18] /*listnode9*/) /*AbstractArray::is_empty*/;
24210 if (UNTAG_Bool(variable[21])) { /*if*/
24211 variable[18] = variable[20] /*listnode8*/ /*listnode9=*/;
24212 } else { /*if*/
24213 ((abstract_collection___IndexedCollection___append_t)CALL( variable[18] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[18] /*listnode9*/, variable[20] /*listnode8*/) /*IndexedCollection::append*/;
24214 }
24215 }
24216 variable[22] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[18] /*listnode9*/, NIT_NULL /*null*/, variable[19] /*listnode11*/); /*new ASignature*/
24217 variable[21] = variable[22];
24218 variable[22] = variable[4] /*nodearraylist9*/;
24219 variable[23] = TAG_Bool(( variable[22] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[22] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
24220 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction283___action, LOCATE_parser, 15079); nit_exit(1);}
24221 variable[24] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[13] /*pdocnode2*/, variable[14] /*tkwredefnode3*/, variable[15] /*pvisibilitynode4*/, variable[16] /*tkwinitnode5*/, variable[17] /*pmethidnode6*/, variable[21] /*psignaturenode7*/, variable[22] /*pexprnode12*/); /*new AConcreteInitPropdef*/
24222 variable[23] = variable[24];
24223 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
24224 variable[24] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
24225 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
24226 return_label598: while(false);
24227 tracehead = trace.prev;
24228 return;
24229 }
24230 void parser___ReduceAction283___init(val_t self, int* init_table) {
24231 struct trace_t trace = {NULL, NULL, 15092, LOCATE_parser___ReduceAction283___init};
24232 val_t variable[2];
24233 void **closurevariable = NULL;
24234 trace.prev = tracehead; tracehead = &trace;
24235 trace.file = LOCATE_parser;
24236 variable[0] = self;
24237 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction283].i]) return;
24238 return_label599: while(false);
24239 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction283].i] = 1;
24240 tracehead = trace.prev;
24241 return;
24242 }
24243 void parser___ReduceAction284___action(val_t self, val_t param0) {
24244 struct trace_t trace = {NULL, NULL, 15096, LOCATE_parser___ReduceAction284___action};
24245 val_t variable[25];
24246 void **closurevariable = NULL;
24247 trace.prev = tracehead; tracehead = &trace;
24248 trace.file = LOCATE_parser;
24249 variable[0] = self;
24250 variable[1] = param0;
24251 variable[3] = NIT_NULL /*null*/;
24252 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24253 variable[4] = variable[5];
24254 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24255 variable[5] = variable[6];
24256 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24257 variable[6] = variable[7];
24258 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24259 variable[7] = variable[8];
24260 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24261 variable[8] = variable[9];
24262 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24263 variable[9] = variable[10];
24264 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24265 variable[10] = variable[11];
24266 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24267 variable[11] = variable[12];
24268 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24269 variable[12] = variable[13];
24270 variable[13] = variable[12] /*nodearraylist1*/;
24271 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
24272 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction284___action, LOCATE_parser, 15109); nit_exit(1);}
24273 variable[14] = variable[11] /*nodearraylist2*/;
24274 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
24275 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction284___action, LOCATE_parser, 15111); nit_exit(1);}
24276 variable[15] = variable[10] /*nodearraylist3*/;
24277 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
24278 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction284___action, LOCATE_parser, 15113); nit_exit(1);}
24279 variable[16] = variable[9] /*nodearraylist4*/;
24280 variable[17] = TAG_Bool(( variable[16] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
24281 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction284___action, LOCATE_parser, 15115); nit_exit(1);}
24282 variable[17] = variable[8] /*nodearraylist5*/;
24283 variable[18] = TAG_Bool(( variable[17] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[17] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
24284 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction284___action, LOCATE_parser, 15117); nit_exit(1);}
24285 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
24286 variable[18] = variable[19];
24287 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
24288 variable[19] = variable[20];
24289 variable[20] = variable[7] /*nodearraylist6*/;
24290 variable[21] = TAG_Bool(( variable[20] /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable[20] /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
24291 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction284___action, LOCATE_parser, 15121); nit_exit(1);}
24292 variable[22] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[18] /*listnode8*/, variable[20] /*ptypenode9*/, variable[19] /*listnode10*/); /*new ASignature*/
24293 variable[21] = variable[22];
24294 variable[22] = variable[4] /*nodearraylist9*/;
24295 variable[23] = TAG_Bool(( variable[22] /*pexprnode11*/==NIT_NULL) || VAL_ISA( variable[22] /*pexprnode11*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
24296 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction284___action, LOCATE_parser, 15128); nit_exit(1);}
24297 variable[24] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[13] /*pdocnode2*/, variable[14] /*tkwredefnode3*/, variable[15] /*pvisibilitynode4*/, variable[16] /*tkwinitnode5*/, variable[17] /*pmethidnode6*/, variable[21] /*psignaturenode7*/, variable[22] /*pexprnode11*/); /*new AConcreteInitPropdef*/
24298 variable[23] = variable[24];
24299 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
24300 variable[24] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
24301 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
24302 return_label600: while(false);
24303 tracehead = trace.prev;
24304 return;
24305 }
24306 void parser___ReduceAction284___init(val_t self, int* init_table) {
24307 struct trace_t trace = {NULL, NULL, 15141, LOCATE_parser___ReduceAction284___init};
24308 val_t variable[2];
24309 void **closurevariable = NULL;
24310 trace.prev = tracehead; tracehead = &trace;
24311 trace.file = LOCATE_parser;
24312 variable[0] = self;
24313 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction284].i]) return;
24314 return_label601: while(false);
24315 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction284].i] = 1;
24316 tracehead = trace.prev;
24317 return;
24318 }
24319 void parser___ReduceAction285___action(val_t self, val_t param0) {
24320 struct trace_t trace = {NULL, NULL, 15145, LOCATE_parser___ReduceAction285___action};
24321 val_t variable[27];
24322 void **closurevariable = NULL;
24323 trace.prev = tracehead; tracehead = &trace;
24324 trace.file = LOCATE_parser;
24325 variable[0] = self;
24326 variable[1] = param0;
24327 variable[3] = NIT_NULL /*null*/;
24328 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24329 variable[4] = variable[5];
24330 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24331 variable[5] = variable[6];
24332 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24333 variable[6] = variable[7];
24334 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24335 variable[7] = variable[8];
24336 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24337 variable[8] = variable[9];
24338 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24339 variable[9] = variable[10];
24340 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24341 variable[10] = variable[11];
24342 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24343 variable[11] = variable[12];
24344 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24345 variable[12] = variable[13];
24346 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24347 variable[13] = variable[14];
24348 variable[14] = variable[13] /*nodearraylist1*/;
24349 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
24350 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction285___action, LOCATE_parser, 15159); nit_exit(1);}
24351 variable[15] = variable[12] /*nodearraylist2*/;
24352 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
24353 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction285___action, LOCATE_parser, 15161); nit_exit(1);}
24354 variable[16] = variable[11] /*nodearraylist3*/;
24355 variable[17] = TAG_Bool(( variable[16] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[16] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
24356 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction285___action, LOCATE_parser, 15163); nit_exit(1);}
24357 variable[17] = variable[10] /*nodearraylist4*/;
24358 variable[18] = TAG_Bool(( variable[17] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
24359 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction285___action, LOCATE_parser, 15165); nit_exit(1);}
24360 variable[18] = variable[9] /*nodearraylist5*/;
24361 variable[19] = TAG_Bool(( variable[18] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[18] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
24362 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction285___action, LOCATE_parser, 15167); nit_exit(1);}
24363 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
24364 variable[19] = variable[20];
24365 variable[21] = NEW_Array_array___Array___init(); /*new Array[Object]*/
24366 variable[20] = variable[21];
24367 variable[21] = variable[8] /*nodearraylist6*/;
24368 variable[22] = TAG_Bool(( variable[21] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[21] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
24369 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction285___action, LOCATE_parser, 15171); nit_exit(1);}
24370 variable[22] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[21] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[21] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[21] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[21] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
24371 if (UNTAG_Bool(variable[22])) { /*if*/
24372 variable[22] = ((array___AbstractArray___is_empty_t)CALL( variable[19] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[19] /*listnode9*/) /*AbstractArray::is_empty*/;
24373 if (UNTAG_Bool(variable[22])) { /*if*/
24374 variable[19] = variable[21] /*listnode8*/ /*listnode9=*/;
24375 } else { /*if*/
24376 ((abstract_collection___IndexedCollection___append_t)CALL( variable[19] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[19] /*listnode9*/, variable[21] /*listnode8*/) /*IndexedCollection::append*/;
24377 }
24378 }
24379 variable[22] = variable[7] /*nodearraylist7*/;
24380 variable[23] = TAG_Bool(( variable[22] /*ptypenode10*/==NIT_NULL) || VAL_ISA( variable[22] /*ptypenode10*/, COLOR_PType, ID_PType)) /*cast PType*/;
24381 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction285___action, LOCATE_parser, 15180); nit_exit(1);}
24382 variable[24] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[19] /*listnode9*/, variable[22] /*ptypenode10*/, variable[20] /*listnode11*/); /*new ASignature*/
24383 variable[23] = variable[24];
24384 variable[24] = variable[4] /*nodearraylist10*/;
24385 variable[25] = TAG_Bool(( variable[24] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[24] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
24386 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction285___action, LOCATE_parser, 15187); nit_exit(1);}
24387 variable[26] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[14] /*pdocnode2*/, variable[15] /*tkwredefnode3*/, variable[16] /*pvisibilitynode4*/, variable[17] /*tkwinitnode5*/, variable[18] /*pmethidnode6*/, variable[23] /*psignaturenode7*/, variable[24] /*pexprnode12*/); /*new AConcreteInitPropdef*/
24388 variable[25] = variable[26];
24389 variable[3] = variable[25] /*ppropdefnode1*/ /*node_list=*/;
24390 variable[26] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
24391 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[26], variable[3] /*node_list*/) /*Parser::push*/;
24392 return_label602: while(false);
24393 tracehead = trace.prev;
24394 return;
24395 }
24396 void parser___ReduceAction285___init(val_t self, int* init_table) {
24397 struct trace_t trace = {NULL, NULL, 15200, LOCATE_parser___ReduceAction285___init};
24398 val_t variable[2];
24399 void **closurevariable = NULL;
24400 trace.prev = tracehead; tracehead = &trace;
24401 trace.file = LOCATE_parser;
24402 variable[0] = self;
24403 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction285].i]) return;
24404 return_label603: while(false);
24405 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction285].i] = 1;
24406 tracehead = trace.prev;
24407 return;
24408 }
24409 void parser___ReduceAction286___action(val_t self, val_t param0) {
24410 struct trace_t trace = {NULL, NULL, 15204, LOCATE_parser___ReduceAction286___action};
24411 val_t variable[25];
24412 void **closurevariable = NULL;
24413 trace.prev = tracehead; tracehead = &trace;
24414 trace.file = LOCATE_parser;
24415 variable[0] = self;
24416 variable[1] = param0;
24417 variable[3] = NIT_NULL /*null*/;
24418 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24419 variable[4] = variable[5];
24420 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24421 variable[5] = variable[6];
24422 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24423 variable[6] = variable[7];
24424 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24425 variable[7] = variable[8];
24426 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24427 variable[8] = variable[9];
24428 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24429 variable[9] = variable[10];
24430 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24431 variable[10] = variable[11];
24432 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24433 variable[11] = variable[12];
24434 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24435 variable[12] = variable[13];
24436 variable[13] = variable[12] /*nodearraylist1*/;
24437 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
24438 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction286___action, LOCATE_parser, 15217); nit_exit(1);}
24439 variable[14] = variable[11] /*nodearraylist2*/;
24440 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
24441 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction286___action, LOCATE_parser, 15219); nit_exit(1);}
24442 variable[15] = variable[10] /*nodearraylist3*/;
24443 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
24444 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction286___action, LOCATE_parser, 15221); nit_exit(1);}
24445 variable[16] = variable[9] /*nodearraylist4*/;
24446 variable[17] = TAG_Bool(( variable[16] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
24447 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction286___action, LOCATE_parser, 15223); nit_exit(1);}
24448 variable[17] = variable[8] /*nodearraylist5*/;
24449 variable[18] = TAG_Bool(( variable[17] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[17] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
24450 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction286___action, LOCATE_parser, 15225); nit_exit(1);}
24451 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
24452 variable[18] = variable[19];
24453 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
24454 variable[19] = variable[20];
24455 variable[20] = variable[7] /*nodearraylist6*/;
24456 variable[21] = TAG_Bool(( variable[20] /*listnode10*/==NIT_NULL) || VAL_ISA( variable[20] /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
24457 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction286___action, LOCATE_parser, 15229); nit_exit(1);}
24458 variable[21] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[20] /*listnode10*/ == NIT_NULL /*null*/) || (( variable[20] /*listnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[20] /*listnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode10*/,COLOR_kernel___Object_____eqeq))( variable[20] /*listnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
24459 if (UNTAG_Bool(variable[21])) { /*if*/
24460 variable[21] = ((array___AbstractArray___is_empty_t)CALL( variable[19] /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable[19] /*listnode11*/) /*AbstractArray::is_empty*/;
24461 if (UNTAG_Bool(variable[21])) { /*if*/
24462 variable[19] = variable[20] /*listnode10*/ /*listnode11=*/;
24463 } else { /*if*/
24464 ((abstract_collection___IndexedCollection___append_t)CALL( variable[19] /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable[19] /*listnode11*/, variable[20] /*listnode10*/) /*IndexedCollection::append*/;
24465 }
24466 }
24467 variable[22] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[18] /*listnode8*/, NIT_NULL /*null*/, variable[19] /*listnode11*/); /*new ASignature*/
24468 variable[21] = variable[22];
24469 variable[22] = variable[4] /*nodearraylist9*/;
24470 variable[23] = TAG_Bool(( variable[22] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[22] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
24471 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction286___action, LOCATE_parser, 15243); nit_exit(1);}
24472 variable[24] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[13] /*pdocnode2*/, variable[14] /*tkwredefnode3*/, variable[15] /*pvisibilitynode4*/, variable[16] /*tkwinitnode5*/, variable[17] /*pmethidnode6*/, variable[21] /*psignaturenode7*/, variable[22] /*pexprnode12*/); /*new AConcreteInitPropdef*/
24473 variable[23] = variable[24];
24474 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
24475 variable[24] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
24476 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
24477 return_label604: while(false);
24478 tracehead = trace.prev;
24479 return;
24480 }
24481 void parser___ReduceAction286___init(val_t self, int* init_table) {
24482 struct trace_t trace = {NULL, NULL, 15256, LOCATE_parser___ReduceAction286___init};
24483 val_t variable[2];
24484 void **closurevariable = NULL;
24485 trace.prev = tracehead; tracehead = &trace;
24486 trace.file = LOCATE_parser;
24487 variable[0] = self;
24488 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction286].i]) return;
24489 return_label605: while(false);
24490 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction286].i] = 1;
24491 tracehead = trace.prev;
24492 return;
24493 }
24494 void parser___ReduceAction287___action(val_t self, val_t param0) {
24495 struct trace_t trace = {NULL, NULL, 15260, LOCATE_parser___ReduceAction287___action};
24496 val_t variable[27];
24497 void **closurevariable = NULL;
24498 trace.prev = tracehead; tracehead = &trace;
24499 trace.file = LOCATE_parser;
24500 variable[0] = self;
24501 variable[1] = param0;
24502 variable[3] = NIT_NULL /*null*/;
24503 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24504 variable[4] = variable[5];
24505 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24506 variable[5] = variable[6];
24507 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24508 variable[6] = variable[7];
24509 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24510 variable[7] = variable[8];
24511 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24512 variable[8] = variable[9];
24513 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24514 variable[9] = variable[10];
24515 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24516 variable[10] = variable[11];
24517 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24518 variable[11] = variable[12];
24519 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24520 variable[12] = variable[13];
24521 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24522 variable[13] = variable[14];
24523 variable[14] = variable[13] /*nodearraylist1*/;
24524 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
24525 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction287___action, LOCATE_parser, 15274); nit_exit(1);}
24526 variable[15] = variable[12] /*nodearraylist2*/;
24527 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
24528 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction287___action, LOCATE_parser, 15276); nit_exit(1);}
24529 variable[16] = variable[11] /*nodearraylist3*/;
24530 variable[17] = TAG_Bool(( variable[16] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[16] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
24531 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction287___action, LOCATE_parser, 15278); nit_exit(1);}
24532 variable[17] = variable[10] /*nodearraylist4*/;
24533 variable[18] = TAG_Bool(( variable[17] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
24534 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction287___action, LOCATE_parser, 15280); nit_exit(1);}
24535 variable[18] = variable[9] /*nodearraylist5*/;
24536 variable[19] = TAG_Bool(( variable[18] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[18] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
24537 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction287___action, LOCATE_parser, 15282); nit_exit(1);}
24538 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
24539 variable[19] = variable[20];
24540 variable[21] = NEW_Array_array___Array___init(); /*new Array[Object]*/
24541 variable[20] = variable[21];
24542 variable[21] = variable[8] /*nodearraylist6*/;
24543 variable[22] = TAG_Bool(( variable[21] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[21] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
24544 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction287___action, LOCATE_parser, 15286); nit_exit(1);}
24545 variable[22] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[21] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[21] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[21] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[21] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
24546 if (UNTAG_Bool(variable[22])) { /*if*/
24547 variable[22] = ((array___AbstractArray___is_empty_t)CALL( variable[19] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[19] /*listnode9*/) /*AbstractArray::is_empty*/;
24548 if (UNTAG_Bool(variable[22])) { /*if*/
24549 variable[19] = variable[21] /*listnode8*/ /*listnode9=*/;
24550 } else { /*if*/
24551 ((abstract_collection___IndexedCollection___append_t)CALL( variable[19] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[19] /*listnode9*/, variable[21] /*listnode8*/) /*IndexedCollection::append*/;
24552 }
24553 }
24554 variable[22] = variable[7] /*nodearraylist7*/;
24555 variable[23] = TAG_Bool(( variable[22] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[22] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
24556 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction287___action, LOCATE_parser, 15295); nit_exit(1);}
24557 variable[23] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[22] /*listnode11*/ == NIT_NULL /*null*/) || (( variable[22] /*listnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[22] /*listnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[22] /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[22] /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable[22] /*listnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
24558 if (UNTAG_Bool(variable[23])) { /*if*/
24559 variable[23] = ((array___AbstractArray___is_empty_t)CALL( variable[20] /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable[20] /*listnode12*/) /*AbstractArray::is_empty*/;
24560 if (UNTAG_Bool(variable[23])) { /*if*/
24561 variable[20] = variable[22] /*listnode11*/ /*listnode12=*/;
24562 } else { /*if*/
24563 ((abstract_collection___IndexedCollection___append_t)CALL( variable[20] /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable[20] /*listnode12*/, variable[22] /*listnode11*/) /*IndexedCollection::append*/;
24564 }
24565 }
24566 variable[24] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[19] /*listnode9*/, NIT_NULL /*null*/, variable[20] /*listnode12*/); /*new ASignature*/
24567 variable[23] = variable[24];
24568 variable[24] = variable[4] /*nodearraylist10*/;
24569 variable[25] = TAG_Bool(( variable[24] /*pexprnode13*/==NIT_NULL) || VAL_ISA( variable[24] /*pexprnode13*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
24570 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction287___action, LOCATE_parser, 15309); nit_exit(1);}
24571 variable[26] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[14] /*pdocnode2*/, variable[15] /*tkwredefnode3*/, variable[16] /*pvisibilitynode4*/, variable[17] /*tkwinitnode5*/, variable[18] /*pmethidnode6*/, variable[23] /*psignaturenode7*/, variable[24] /*pexprnode13*/); /*new AConcreteInitPropdef*/
24572 variable[25] = variable[26];
24573 variable[3] = variable[25] /*ppropdefnode1*/ /*node_list=*/;
24574 variable[26] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
24575 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[26], variable[3] /*node_list*/) /*Parser::push*/;
24576 return_label606: while(false);
24577 tracehead = trace.prev;
24578 return;
24579 }
24580 void parser___ReduceAction287___init(val_t self, int* init_table) {
24581 struct trace_t trace = {NULL, NULL, 15322, LOCATE_parser___ReduceAction287___init};
24582 val_t variable[2];
24583 void **closurevariable = NULL;
24584 trace.prev = tracehead; tracehead = &trace;
24585 trace.file = LOCATE_parser;
24586 variable[0] = self;
24587 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction287].i]) return;
24588 return_label607: while(false);
24589 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction287].i] = 1;
24590 tracehead = trace.prev;
24591 return;
24592 }
24593 void parser___ReduceAction288___action(val_t self, val_t param0) {
24594 struct trace_t trace = {NULL, NULL, 15326, LOCATE_parser___ReduceAction288___action};
24595 val_t variable[27];
24596 void **closurevariable = NULL;
24597 trace.prev = tracehead; tracehead = &trace;
24598 trace.file = LOCATE_parser;
24599 variable[0] = self;
24600 variable[1] = param0;
24601 variable[3] = NIT_NULL /*null*/;
24602 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24603 variable[4] = variable[5];
24604 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24605 variable[5] = variable[6];
24606 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24607 variable[6] = variable[7];
24608 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24609 variable[7] = variable[8];
24610 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24611 variable[8] = variable[9];
24612 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24613 variable[9] = variable[10];
24614 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24615 variable[10] = variable[11];
24616 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24617 variable[11] = variable[12];
24618 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24619 variable[12] = variable[13];
24620 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24621 variable[13] = variable[14];
24622 variable[14] = variable[13] /*nodearraylist1*/;
24623 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
24624 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction288___action, LOCATE_parser, 15340); nit_exit(1);}
24625 variable[15] = variable[12] /*nodearraylist2*/;
24626 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
24627 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction288___action, LOCATE_parser, 15342); nit_exit(1);}
24628 variable[16] = variable[11] /*nodearraylist3*/;
24629 variable[17] = TAG_Bool(( variable[16] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[16] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
24630 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction288___action, LOCATE_parser, 15344); nit_exit(1);}
24631 variable[17] = variable[10] /*nodearraylist4*/;
24632 variable[18] = TAG_Bool(( variable[17] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
24633 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction288___action, LOCATE_parser, 15346); nit_exit(1);}
24634 variable[18] = variable[9] /*nodearraylist5*/;
24635 variable[19] = TAG_Bool(( variable[18] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[18] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
24636 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction288___action, LOCATE_parser, 15348); nit_exit(1);}
24637 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
24638 variable[19] = variable[20];
24639 variable[21] = NEW_Array_array___Array___init(); /*new Array[Object]*/
24640 variable[20] = variable[21];
24641 variable[21] = variable[8] /*nodearraylist6*/;
24642 variable[22] = TAG_Bool(( variable[21] /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable[21] /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
24643 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction288___action, LOCATE_parser, 15352); nit_exit(1);}
24644 variable[22] = variable[7] /*nodearraylist7*/;
24645 variable[23] = TAG_Bool(( variable[22] /*listnode10*/==NIT_NULL) || VAL_ISA( variable[22] /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
24646 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction288___action, LOCATE_parser, 15354); nit_exit(1);}
24647 variable[23] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[22] /*listnode10*/ == NIT_NULL /*null*/) || (( variable[22] /*listnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[22] /*listnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[22] /*listnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[22] /*listnode10*/,COLOR_kernel___Object_____eqeq))( variable[22] /*listnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
24648 if (UNTAG_Bool(variable[23])) { /*if*/
24649 variable[23] = ((array___AbstractArray___is_empty_t)CALL( variable[20] /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable[20] /*listnode11*/) /*AbstractArray::is_empty*/;
24650 if (UNTAG_Bool(variable[23])) { /*if*/
24651 variable[20] = variable[22] /*listnode10*/ /*listnode11=*/;
24652 } else { /*if*/
24653 ((abstract_collection___IndexedCollection___append_t)CALL( variable[20] /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable[20] /*listnode11*/, variable[22] /*listnode10*/) /*IndexedCollection::append*/;
24654 }
24655 }
24656 variable[24] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[19] /*listnode8*/, variable[21] /*ptypenode9*/, variable[20] /*listnode11*/); /*new ASignature*/
24657 variable[23] = variable[24];
24658 variable[24] = variable[4] /*nodearraylist10*/;
24659 variable[25] = TAG_Bool(( variable[24] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[24] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
24660 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction288___action, LOCATE_parser, 15368); nit_exit(1);}
24661 variable[26] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[14] /*pdocnode2*/, variable[15] /*tkwredefnode3*/, variable[16] /*pvisibilitynode4*/, variable[17] /*tkwinitnode5*/, variable[18] /*pmethidnode6*/, variable[23] /*psignaturenode7*/, variable[24] /*pexprnode12*/); /*new AConcreteInitPropdef*/
24662 variable[25] = variable[26];
24663 variable[3] = variable[25] /*ppropdefnode1*/ /*node_list=*/;
24664 variable[26] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
24665 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[26], variable[3] /*node_list*/) /*Parser::push*/;
24666 return_label608: while(false);
24667 tracehead = trace.prev;
24668 return;
24669 }
24670 void parser___ReduceAction288___init(val_t self, int* init_table) {
24671 struct trace_t trace = {NULL, NULL, 15381, LOCATE_parser___ReduceAction288___init};
24672 val_t variable[2];
24673 void **closurevariable = NULL;
24674 trace.prev = tracehead; tracehead = &trace;
24675 trace.file = LOCATE_parser;
24676 variable[0] = self;
24677 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction288].i]) return;
24678 return_label609: while(false);
24679 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction288].i] = 1;
24680 tracehead = trace.prev;
24681 return;
24682 }
24683 void parser___ReduceAction289___action(val_t self, val_t param0) {
24684 struct trace_t trace = {NULL, NULL, 15385, LOCATE_parser___ReduceAction289___action};
24685 val_t variable[29];
24686 void **closurevariable = NULL;
24687 trace.prev = tracehead; tracehead = &trace;
24688 trace.file = LOCATE_parser;
24689 variable[0] = self;
24690 variable[1] = param0;
24691 variable[3] = NIT_NULL /*null*/;
24692 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24693 variable[4] = variable[5];
24694 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24695 variable[5] = variable[6];
24696 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24697 variable[6] = variable[7];
24698 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24699 variable[7] = variable[8];
24700 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24701 variable[8] = variable[9];
24702 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24703 variable[9] = variable[10];
24704 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24705 variable[10] = variable[11];
24706 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24707 variable[11] = variable[12];
24708 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24709 variable[12] = variable[13];
24710 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24711 variable[13] = variable[14];
24712 variable[15] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24713 variable[14] = variable[15];
24714 variable[15] = variable[14] /*nodearraylist1*/;
24715 variable[16] = TAG_Bool(( variable[15] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
24716 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction289___action, LOCATE_parser, 15400); nit_exit(1);}
24717 variable[16] = variable[13] /*nodearraylist2*/;
24718 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
24719 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction289___action, LOCATE_parser, 15402); nit_exit(1);}
24720 variable[17] = variable[12] /*nodearraylist3*/;
24721 variable[18] = TAG_Bool(( variable[17] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[17] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
24722 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction289___action, LOCATE_parser, 15404); nit_exit(1);}
24723 variable[18] = variable[11] /*nodearraylist4*/;
24724 variable[19] = TAG_Bool(( variable[18] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
24725 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction289___action, LOCATE_parser, 15406); nit_exit(1);}
24726 variable[19] = variable[10] /*nodearraylist5*/;
24727 variable[20] = TAG_Bool(( variable[19] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[19] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
24728 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction289___action, LOCATE_parser, 15408); nit_exit(1);}
24729 variable[21] = NEW_Array_array___Array___init(); /*new Array[Object]*/
24730 variable[20] = variable[21];
24731 variable[22] = NEW_Array_array___Array___init(); /*new Array[Object]*/
24732 variable[21] = variable[22];
24733 variable[22] = variable[9] /*nodearraylist6*/;
24734 variable[23] = TAG_Bool(( variable[22] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[22] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
24735 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction289___action, LOCATE_parser, 15412); nit_exit(1);}
24736 variable[23] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[22] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[22] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[22] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[22] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[22] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[22] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
24737 if (UNTAG_Bool(variable[23])) { /*if*/
24738 variable[23] = ((array___AbstractArray___is_empty_t)CALL( variable[20] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[20] /*listnode9*/) /*AbstractArray::is_empty*/;
24739 if (UNTAG_Bool(variable[23])) { /*if*/
24740 variable[20] = variable[22] /*listnode8*/ /*listnode9=*/;
24741 } else { /*if*/
24742 ((abstract_collection___IndexedCollection___append_t)CALL( variable[20] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[20] /*listnode9*/, variable[22] /*listnode8*/) /*IndexedCollection::append*/;
24743 }
24744 }
24745 variable[23] = variable[8] /*nodearraylist7*/;
24746 variable[24] = TAG_Bool(( variable[23] /*ptypenode10*/==NIT_NULL) || VAL_ISA( variable[23] /*ptypenode10*/, COLOR_PType, ID_PType)) /*cast PType*/;
24747 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction289___action, LOCATE_parser, 15421); nit_exit(1);}
24748 variable[24] = variable[7] /*nodearraylist8*/;
24749 variable[25] = TAG_Bool(( variable[24] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[24] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
24750 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction289___action, LOCATE_parser, 15423); nit_exit(1);}
24751 variable[25] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[24] /*listnode11*/ == NIT_NULL /*null*/) || (( variable[24] /*listnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[24] /*listnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[24] /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[24] /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable[24] /*listnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
24752 if (UNTAG_Bool(variable[25])) { /*if*/
24753 variable[25] = ((array___AbstractArray___is_empty_t)CALL( variable[21] /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable[21] /*listnode12*/) /*AbstractArray::is_empty*/;
24754 if (UNTAG_Bool(variable[25])) { /*if*/
24755 variable[21] = variable[24] /*listnode11*/ /*listnode12=*/;
24756 } else { /*if*/
24757 ((abstract_collection___IndexedCollection___append_t)CALL( variable[21] /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable[21] /*listnode12*/, variable[24] /*listnode11*/) /*IndexedCollection::append*/;
24758 }
24759 }
24760 variable[26] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[20] /*listnode9*/, variable[23] /*ptypenode10*/, variable[21] /*listnode12*/); /*new ASignature*/
24761 variable[25] = variable[26];
24762 variable[26] = variable[4] /*nodearraylist11*/;
24763 variable[27] = TAG_Bool(( variable[26] /*pexprnode13*/==NIT_NULL) || VAL_ISA( variable[26] /*pexprnode13*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
24764 if (!UNTAG_Bool(variable[27])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction289___action, LOCATE_parser, 15437); nit_exit(1);}
24765 variable[28] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[15] /*pdocnode2*/, variable[16] /*tkwredefnode3*/, variable[17] /*pvisibilitynode4*/, variable[18] /*tkwinitnode5*/, variable[19] /*pmethidnode6*/, variable[25] /*psignaturenode7*/, variable[26] /*pexprnode13*/); /*new AConcreteInitPropdef*/
24766 variable[27] = variable[28];
24767 variable[3] = variable[27] /*ppropdefnode1*/ /*node_list=*/;
24768 variable[28] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
24769 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[28], variable[3] /*node_list*/) /*Parser::push*/;
24770 return_label610: while(false);
24771 tracehead = trace.prev;
24772 return;
24773 }
24774 void parser___ReduceAction289___init(val_t self, int* init_table) {
24775 struct trace_t trace = {NULL, NULL, 15450, LOCATE_parser___ReduceAction289___init};
24776 val_t variable[2];
24777 void **closurevariable = NULL;
24778 trace.prev = tracehead; tracehead = &trace;
24779 trace.file = LOCATE_parser;
24780 variable[0] = self;
24781 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction289].i]) return;
24782 return_label611: while(false);
24783 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction289].i] = 1;
24784 tracehead = trace.prev;
24785 return;
24786 }
24787 void parser___ReduceAction290___action(val_t self, val_t param0) {
24788 struct trace_t trace = {NULL, NULL, 15454, LOCATE_parser___ReduceAction290___action};
24789 val_t variable[20];
24790 void **closurevariable = NULL;
24791 trace.prev = tracehead; tracehead = &trace;
24792 trace.file = LOCATE_parser;
24793 variable[0] = self;
24794 variable[1] = param0;
24795 variable[3] = NIT_NULL /*null*/;
24796 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24797 variable[4] = variable[5];
24798 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24799 variable[5] = variable[6];
24800 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24801 variable[6] = variable[7];
24802 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24803 variable[7] = variable[8];
24804 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24805 variable[8] = variable[9];
24806 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24807 variable[9] = variable[10];
24808 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24809 variable[10] = variable[11];
24810 variable[11] = variable[10] /*nodearraylist1*/;
24811 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
24812 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction290___action, LOCATE_parser, 15465); nit_exit(1);}
24813 variable[12] = variable[9] /*nodearraylist2*/;
24814 variable[13] = TAG_Bool(( variable[12] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[12] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
24815 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction290___action, LOCATE_parser, 15467); nit_exit(1);}
24816 variable[13] = variable[8] /*nodearraylist3*/;
24817 variable[14] = TAG_Bool(( variable[13] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
24818 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction290___action, LOCATE_parser, 15469); nit_exit(1);}
24819 variable[15] = NEW_Array_array___Array___init(); /*new Array[Object]*/
24820 variable[14] = variable[15];
24821 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
24822 variable[15] = variable[16];
24823 variable[17] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[14] /*listnode8*/, NIT_NULL /*null*/, variable[15] /*listnode10*/); /*new ASignature*/
24824 variable[16] = variable[17];
24825 variable[17] = variable[5] /*nodearraylist6*/;
24826 variable[18] = TAG_Bool(( variable[17] /*pexprnode11*/==NIT_NULL) || VAL_ISA( variable[17] /*pexprnode11*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
24827 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction290___action, LOCATE_parser, 15478); nit_exit(1);}
24828 variable[19] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[11] /*pdocnode2*/, NIT_NULL /*null*/, variable[12] /*pvisibilitynode4*/, variable[13] /*tkwinitnode5*/, NIT_NULL /*null*/, variable[16] /*psignaturenode7*/, variable[17] /*pexprnode11*/); /*new AConcreteInitPropdef*/
24829 variable[18] = variable[19];
24830 variable[3] = variable[18] /*ppropdefnode1*/ /*node_list=*/;
24831 variable[19] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
24832 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[19], variable[3] /*node_list*/) /*Parser::push*/;
24833 return_label612: while(false);
24834 tracehead = trace.prev;
24835 return;
24836 }
24837 void parser___ReduceAction290___init(val_t self, int* init_table) {
24838 struct trace_t trace = {NULL, NULL, 15491, LOCATE_parser___ReduceAction290___init};
24839 val_t variable[2];
24840 void **closurevariable = NULL;
24841 trace.prev = tracehead; tracehead = &trace;
24842 trace.file = LOCATE_parser;
24843 variable[0] = self;
24844 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction290].i]) return;
24845 return_label613: while(false);
24846 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction290].i] = 1;
24847 tracehead = trace.prev;
24848 return;
24849 }
24850 void parser___ReduceAction291___action(val_t self, val_t param0) {
24851 struct trace_t trace = {NULL, NULL, 15495, LOCATE_parser___ReduceAction291___action};
24852 val_t variable[22];
24853 void **closurevariable = NULL;
24854 trace.prev = tracehead; tracehead = &trace;
24855 trace.file = LOCATE_parser;
24856 variable[0] = self;
24857 variable[1] = param0;
24858 variable[3] = NIT_NULL /*null*/;
24859 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24860 variable[4] = variable[5];
24861 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24862 variable[5] = variable[6];
24863 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24864 variable[6] = variable[7];
24865 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24866 variable[7] = variable[8];
24867 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24868 variable[8] = variable[9];
24869 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24870 variable[9] = variable[10];
24871 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24872 variable[10] = variable[11];
24873 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24874 variable[11] = variable[12];
24875 variable[12] = variable[11] /*nodearraylist1*/;
24876 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
24877 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction291___action, LOCATE_parser, 15507); nit_exit(1);}
24878 variable[13] = variable[10] /*nodearraylist2*/;
24879 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
24880 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction291___action, LOCATE_parser, 15509); nit_exit(1);}
24881 variable[14] = variable[9] /*nodearraylist3*/;
24882 variable[15] = TAG_Bool(( variable[14] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
24883 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction291___action, LOCATE_parser, 15511); nit_exit(1);}
24884 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
24885 variable[15] = variable[16];
24886 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
24887 variable[16] = variable[17];
24888 variable[17] = variable[8] /*nodearraylist4*/;
24889 variable[18] = TAG_Bool(( variable[17] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[17] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
24890 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction291___action, LOCATE_parser, 15515); nit_exit(1);}
24891 variable[18] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[17] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[17] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[17] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[17] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[17] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[17] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
24892 if (UNTAG_Bool(variable[18])) { /*if*/
24893 variable[18] = ((array___AbstractArray___is_empty_t)CALL( variable[15] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[15] /*listnode9*/) /*AbstractArray::is_empty*/;
24894 if (UNTAG_Bool(variable[18])) { /*if*/
24895 variable[15] = variable[17] /*listnode8*/ /*listnode9=*/;
24896 } else { /*if*/
24897 ((abstract_collection___IndexedCollection___append_t)CALL( variable[15] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[15] /*listnode9*/, variable[17] /*listnode8*/) /*IndexedCollection::append*/;
24898 }
24899 }
24900 variable[19] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[15] /*listnode9*/, NIT_NULL /*null*/, variable[16] /*listnode11*/); /*new ASignature*/
24901 variable[18] = variable[19];
24902 variable[19] = variable[5] /*nodearraylist7*/;
24903 variable[20] = TAG_Bool(( variable[19] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[19] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
24904 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction291___action, LOCATE_parser, 15529); nit_exit(1);}
24905 variable[21] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[12] /*pdocnode2*/, NIT_NULL /*null*/, variable[13] /*pvisibilitynode4*/, variable[14] /*tkwinitnode5*/, NIT_NULL /*null*/, variable[18] /*psignaturenode7*/, variable[19] /*pexprnode12*/); /*new AConcreteInitPropdef*/
24906 variable[20] = variable[21];
24907 variable[3] = variable[20] /*ppropdefnode1*/ /*node_list=*/;
24908 variable[21] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
24909 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[21], variable[3] /*node_list*/) /*Parser::push*/;
24910 return_label614: while(false);
24911 tracehead = trace.prev;
24912 return;
24913 }
24914 void parser___ReduceAction291___init(val_t self, int* init_table) {
24915 struct trace_t trace = {NULL, NULL, 15542, LOCATE_parser___ReduceAction291___init};
24916 val_t variable[2];
24917 void **closurevariable = NULL;
24918 trace.prev = tracehead; tracehead = &trace;
24919 trace.file = LOCATE_parser;
24920 variable[0] = self;
24921 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction291].i]) return;
24922 return_label615: while(false);
24923 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction291].i] = 1;
24924 tracehead = trace.prev;
24925 return;
24926 }
24927 void parser___ReduceAction292___action(val_t self, val_t param0) {
24928 struct trace_t trace = {NULL, NULL, 15546, LOCATE_parser___ReduceAction292___action};
24929 val_t variable[22];
24930 void **closurevariable = NULL;
24931 trace.prev = tracehead; tracehead = &trace;
24932 trace.file = LOCATE_parser;
24933 variable[0] = self;
24934 variable[1] = param0;
24935 variable[3] = NIT_NULL /*null*/;
24936 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24937 variable[4] = variable[5];
24938 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24939 variable[5] = variable[6];
24940 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24941 variable[6] = variable[7];
24942 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24943 variable[7] = variable[8];
24944 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24945 variable[8] = variable[9];
24946 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24947 variable[9] = variable[10];
24948 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24949 variable[10] = variable[11];
24950 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
24951 variable[11] = variable[12];
24952 variable[12] = variable[11] /*nodearraylist1*/;
24953 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
24954 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction292___action, LOCATE_parser, 15558); nit_exit(1);}
24955 variable[13] = variable[10] /*nodearraylist2*/;
24956 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
24957 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction292___action, LOCATE_parser, 15560); nit_exit(1);}
24958 variable[14] = variable[9] /*nodearraylist3*/;
24959 variable[15] = TAG_Bool(( variable[14] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
24960 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction292___action, LOCATE_parser, 15562); nit_exit(1);}
24961 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
24962 variable[15] = variable[16];
24963 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
24964 variable[16] = variable[17];
24965 variable[17] = variable[8] /*nodearraylist4*/;
24966 variable[18] = TAG_Bool(( variable[17] /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable[17] /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
24967 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction292___action, LOCATE_parser, 15566); nit_exit(1);}
24968 variable[19] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[15] /*listnode8*/, variable[17] /*ptypenode9*/, variable[16] /*listnode10*/); /*new ASignature*/
24969 variable[18] = variable[19];
24970 variable[19] = variable[5] /*nodearraylist7*/;
24971 variable[20] = TAG_Bool(( variable[19] /*pexprnode11*/==NIT_NULL) || VAL_ISA( variable[19] /*pexprnode11*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
24972 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction292___action, LOCATE_parser, 15573); nit_exit(1);}
24973 variable[21] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[12] /*pdocnode2*/, NIT_NULL /*null*/, variable[13] /*pvisibilitynode4*/, variable[14] /*tkwinitnode5*/, NIT_NULL /*null*/, variable[18] /*psignaturenode7*/, variable[19] /*pexprnode11*/); /*new AConcreteInitPropdef*/
24974 variable[20] = variable[21];
24975 variable[3] = variable[20] /*ppropdefnode1*/ /*node_list=*/;
24976 variable[21] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
24977 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[21], variable[3] /*node_list*/) /*Parser::push*/;
24978 return_label616: while(false);
24979 tracehead = trace.prev;
24980 return;
24981 }
24982 void parser___ReduceAction292___init(val_t self, int* init_table) {
24983 struct trace_t trace = {NULL, NULL, 15586, LOCATE_parser___ReduceAction292___init};
24984 val_t variable[2];
24985 void **closurevariable = NULL;
24986 trace.prev = tracehead; tracehead = &trace;
24987 trace.file = LOCATE_parser;
24988 variable[0] = self;
24989 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction292].i]) return;
24990 return_label617: while(false);
24991 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction292].i] = 1;
24992 tracehead = trace.prev;
24993 return;
24994 }
24995 void parser___ReduceAction293___action(val_t self, val_t param0) {
24996 struct trace_t trace = {NULL, NULL, 15590, LOCATE_parser___ReduceAction293___action};
24997 val_t variable[24];
24998 void **closurevariable = NULL;
24999 trace.prev = tracehead; tracehead = &trace;
25000 trace.file = LOCATE_parser;
25001 variable[0] = self;
25002 variable[1] = param0;
25003 variable[3] = NIT_NULL /*null*/;
25004 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25005 variable[4] = variable[5];
25006 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25007 variable[5] = variable[6];
25008 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25009 variable[6] = variable[7];
25010 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25011 variable[7] = variable[8];
25012 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25013 variable[8] = variable[9];
25014 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25015 variable[9] = variable[10];
25016 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25017 variable[10] = variable[11];
25018 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25019 variable[11] = variable[12];
25020 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25021 variable[12] = variable[13];
25022 variable[13] = variable[12] /*nodearraylist1*/;
25023 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
25024 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction293___action, LOCATE_parser, 15603); nit_exit(1);}
25025 variable[14] = variable[11] /*nodearraylist2*/;
25026 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
25027 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction293___action, LOCATE_parser, 15605); nit_exit(1);}
25028 variable[15] = variable[10] /*nodearraylist3*/;
25029 variable[16] = TAG_Bool(( variable[15] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
25030 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction293___action, LOCATE_parser, 15607); nit_exit(1);}
25031 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
25032 variable[16] = variable[17];
25033 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
25034 variable[17] = variable[18];
25035 variable[18] = variable[9] /*nodearraylist4*/;
25036 variable[19] = TAG_Bool(( variable[18] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[18] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
25037 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction293___action, LOCATE_parser, 15611); nit_exit(1);}
25038 variable[19] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[18] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[18] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[18] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[18] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[18] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[18] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
25039 if (UNTAG_Bool(variable[19])) { /*if*/
25040 variable[19] = ((array___AbstractArray___is_empty_t)CALL( variable[16] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[16] /*listnode9*/) /*AbstractArray::is_empty*/;
25041 if (UNTAG_Bool(variable[19])) { /*if*/
25042 variable[16] = variable[18] /*listnode8*/ /*listnode9=*/;
25043 } else { /*if*/
25044 ((abstract_collection___IndexedCollection___append_t)CALL( variable[16] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[16] /*listnode9*/, variable[18] /*listnode8*/) /*IndexedCollection::append*/;
25045 }
25046 }
25047 variable[19] = variable[8] /*nodearraylist5*/;
25048 variable[20] = TAG_Bool(( variable[19] /*ptypenode10*/==NIT_NULL) || VAL_ISA( variable[19] /*ptypenode10*/, COLOR_PType, ID_PType)) /*cast PType*/;
25049 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction293___action, LOCATE_parser, 15620); nit_exit(1);}
25050 variable[21] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[16] /*listnode9*/, variable[19] /*ptypenode10*/, variable[17] /*listnode11*/); /*new ASignature*/
25051 variable[20] = variable[21];
25052 variable[21] = variable[5] /*nodearraylist8*/;
25053 variable[22] = TAG_Bool(( variable[21] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[21] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
25054 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction293___action, LOCATE_parser, 15627); nit_exit(1);}
25055 variable[23] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[13] /*pdocnode2*/, NIT_NULL /*null*/, variable[14] /*pvisibilitynode4*/, variable[15] /*tkwinitnode5*/, NIT_NULL /*null*/, variable[20] /*psignaturenode7*/, variable[21] /*pexprnode12*/); /*new AConcreteInitPropdef*/
25056 variable[22] = variable[23];
25057 variable[3] = variable[22] /*ppropdefnode1*/ /*node_list=*/;
25058 variable[23] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
25059 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[23], variable[3] /*node_list*/) /*Parser::push*/;
25060 return_label618: while(false);
25061 tracehead = trace.prev;
25062 return;
25063 }
25064 void parser___ReduceAction293___init(val_t self, int* init_table) {
25065 struct trace_t trace = {NULL, NULL, 15640, LOCATE_parser___ReduceAction293___init};
25066 val_t variable[2];
25067 void **closurevariable = NULL;
25068 trace.prev = tracehead; tracehead = &trace;
25069 trace.file = LOCATE_parser;
25070 variable[0] = self;
25071 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction293].i]) return;
25072 return_label619: while(false);
25073 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction293].i] = 1;
25074 tracehead = trace.prev;
25075 return;
25076 }
25077 void parser___ReduceAction294___action(val_t self, val_t param0) {
25078 struct trace_t trace = {NULL, NULL, 15644, LOCATE_parser___ReduceAction294___action};
25079 val_t variable[22];
25080 void **closurevariable = NULL;
25081 trace.prev = tracehead; tracehead = &trace;
25082 trace.file = LOCATE_parser;
25083 variable[0] = self;
25084 variable[1] = param0;
25085 variable[3] = NIT_NULL /*null*/;
25086 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25087 variable[4] = variable[5];
25088 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25089 variable[5] = variable[6];
25090 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25091 variable[6] = variable[7];
25092 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25093 variable[7] = variable[8];
25094 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25095 variable[8] = variable[9];
25096 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25097 variable[9] = variable[10];
25098 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25099 variable[10] = variable[11];
25100 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25101 variable[11] = variable[12];
25102 variable[12] = variable[11] /*nodearraylist1*/;
25103 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
25104 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction294___action, LOCATE_parser, 15656); nit_exit(1);}
25105 variable[13] = variable[10] /*nodearraylist2*/;
25106 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
25107 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction294___action, LOCATE_parser, 15658); nit_exit(1);}
25108 variable[14] = variable[9] /*nodearraylist3*/;
25109 variable[15] = TAG_Bool(( variable[14] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
25110 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction294___action, LOCATE_parser, 15660); nit_exit(1);}
25111 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
25112 variable[15] = variable[16];
25113 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
25114 variable[16] = variable[17];
25115 variable[17] = variable[8] /*nodearraylist4*/;
25116 variable[18] = TAG_Bool(( variable[17] /*listnode10*/==NIT_NULL) || VAL_ISA( variable[17] /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
25117 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction294___action, LOCATE_parser, 15664); nit_exit(1);}
25118 variable[18] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[17] /*listnode10*/ == NIT_NULL /*null*/) || (( variable[17] /*listnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[17] /*listnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[17] /*listnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[17] /*listnode10*/,COLOR_kernel___Object_____eqeq))( variable[17] /*listnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
25119 if (UNTAG_Bool(variable[18])) { /*if*/
25120 variable[18] = ((array___AbstractArray___is_empty_t)CALL( variable[16] /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable[16] /*listnode11*/) /*AbstractArray::is_empty*/;
25121 if (UNTAG_Bool(variable[18])) { /*if*/
25122 variable[16] = variable[17] /*listnode10*/ /*listnode11=*/;
25123 } else { /*if*/
25124 ((abstract_collection___IndexedCollection___append_t)CALL( variable[16] /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable[16] /*listnode11*/, variable[17] /*listnode10*/) /*IndexedCollection::append*/;
25125 }
25126 }
25127 variable[19] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[15] /*listnode8*/, NIT_NULL /*null*/, variable[16] /*listnode11*/); /*new ASignature*/
25128 variable[18] = variable[19];
25129 variable[19] = variable[5] /*nodearraylist7*/;
25130 variable[20] = TAG_Bool(( variable[19] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[19] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
25131 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction294___action, LOCATE_parser, 15678); nit_exit(1);}
25132 variable[21] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[12] /*pdocnode2*/, NIT_NULL /*null*/, variable[13] /*pvisibilitynode4*/, variable[14] /*tkwinitnode5*/, NIT_NULL /*null*/, variable[18] /*psignaturenode7*/, variable[19] /*pexprnode12*/); /*new AConcreteInitPropdef*/
25133 variable[20] = variable[21];
25134 variable[3] = variable[20] /*ppropdefnode1*/ /*node_list=*/;
25135 variable[21] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
25136 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[21], variable[3] /*node_list*/) /*Parser::push*/;
25137 return_label620: while(false);
25138 tracehead = trace.prev;
25139 return;
25140 }
25141 void parser___ReduceAction294___init(val_t self, int* init_table) {
25142 struct trace_t trace = {NULL, NULL, 15691, LOCATE_parser___ReduceAction294___init};
25143 val_t variable[2];
25144 void **closurevariable = NULL;
25145 trace.prev = tracehead; tracehead = &trace;
25146 trace.file = LOCATE_parser;
25147 variable[0] = self;
25148 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction294].i]) return;
25149 return_label621: while(false);
25150 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction294].i] = 1;
25151 tracehead = trace.prev;
25152 return;
25153 }
25154 void parser___ReduceAction295___action(val_t self, val_t param0) {
25155 struct trace_t trace = {NULL, NULL, 15695, LOCATE_parser___ReduceAction295___action};
25156 val_t variable[24];
25157 void **closurevariable = NULL;
25158 trace.prev = tracehead; tracehead = &trace;
25159 trace.file = LOCATE_parser;
25160 variable[0] = self;
25161 variable[1] = param0;
25162 variable[3] = NIT_NULL /*null*/;
25163 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25164 variable[4] = variable[5];
25165 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25166 variable[5] = variable[6];
25167 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25168 variable[6] = variable[7];
25169 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25170 variable[7] = variable[8];
25171 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25172 variable[8] = variable[9];
25173 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25174 variable[9] = variable[10];
25175 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25176 variable[10] = variable[11];
25177 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25178 variable[11] = variable[12];
25179 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25180 variable[12] = variable[13];
25181 variable[13] = variable[12] /*nodearraylist1*/;
25182 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
25183 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction295___action, LOCATE_parser, 15708); nit_exit(1);}
25184 variable[14] = variable[11] /*nodearraylist2*/;
25185 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
25186 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction295___action, LOCATE_parser, 15710); nit_exit(1);}
25187 variable[15] = variable[10] /*nodearraylist3*/;
25188 variable[16] = TAG_Bool(( variable[15] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
25189 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction295___action, LOCATE_parser, 15712); nit_exit(1);}
25190 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
25191 variable[16] = variable[17];
25192 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
25193 variable[17] = variable[18];
25194 variable[18] = variable[9] /*nodearraylist4*/;
25195 variable[19] = TAG_Bool(( variable[18] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[18] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
25196 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction295___action, LOCATE_parser, 15716); nit_exit(1);}
25197 variable[19] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[18] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[18] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[18] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[18] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[18] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[18] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
25198 if (UNTAG_Bool(variable[19])) { /*if*/
25199 variable[19] = ((array___AbstractArray___is_empty_t)CALL( variable[16] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[16] /*listnode9*/) /*AbstractArray::is_empty*/;
25200 if (UNTAG_Bool(variable[19])) { /*if*/
25201 variable[16] = variable[18] /*listnode8*/ /*listnode9=*/;
25202 } else { /*if*/
25203 ((abstract_collection___IndexedCollection___append_t)CALL( variable[16] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[16] /*listnode9*/, variable[18] /*listnode8*/) /*IndexedCollection::append*/;
25204 }
25205 }
25206 variable[19] = variable[8] /*nodearraylist5*/;
25207 variable[20] = TAG_Bool(( variable[19] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[19] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
25208 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction295___action, LOCATE_parser, 15725); nit_exit(1);}
25209 variable[20] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[19] /*listnode11*/ == NIT_NULL /*null*/) || (( variable[19] /*listnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[19] /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable[19] /*listnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
25210 if (UNTAG_Bool(variable[20])) { /*if*/
25211 variable[20] = ((array___AbstractArray___is_empty_t)CALL( variable[17] /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable[17] /*listnode12*/) /*AbstractArray::is_empty*/;
25212 if (UNTAG_Bool(variable[20])) { /*if*/
25213 variable[17] = variable[19] /*listnode11*/ /*listnode12=*/;
25214 } else { /*if*/
25215 ((abstract_collection___IndexedCollection___append_t)CALL( variable[17] /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable[17] /*listnode12*/, variable[19] /*listnode11*/) /*IndexedCollection::append*/;
25216 }
25217 }
25218 variable[21] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[16] /*listnode9*/, NIT_NULL /*null*/, variable[17] /*listnode12*/); /*new ASignature*/
25219 variable[20] = variable[21];
25220 variable[21] = variable[5] /*nodearraylist8*/;
25221 variable[22] = TAG_Bool(( variable[21] /*pexprnode13*/==NIT_NULL) || VAL_ISA( variable[21] /*pexprnode13*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
25222 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction295___action, LOCATE_parser, 15739); nit_exit(1);}
25223 variable[23] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[13] /*pdocnode2*/, NIT_NULL /*null*/, variable[14] /*pvisibilitynode4*/, variable[15] /*tkwinitnode5*/, NIT_NULL /*null*/, variable[20] /*psignaturenode7*/, variable[21] /*pexprnode13*/); /*new AConcreteInitPropdef*/
25224 variable[22] = variable[23];
25225 variable[3] = variable[22] /*ppropdefnode1*/ /*node_list=*/;
25226 variable[23] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
25227 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[23], variable[3] /*node_list*/) /*Parser::push*/;
25228 return_label622: while(false);
25229 tracehead = trace.prev;
25230 return;
25231 }
25232 void parser___ReduceAction295___init(val_t self, int* init_table) {
25233 struct trace_t trace = {NULL, NULL, 15752, LOCATE_parser___ReduceAction295___init};
25234 val_t variable[2];
25235 void **closurevariable = NULL;
25236 trace.prev = tracehead; tracehead = &trace;
25237 trace.file = LOCATE_parser;
25238 variable[0] = self;
25239 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction295].i]) return;
25240 return_label623: while(false);
25241 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction295].i] = 1;
25242 tracehead = trace.prev;
25243 return;
25244 }
25245 void parser___ReduceAction296___action(val_t self, val_t param0) {
25246 struct trace_t trace = {NULL, NULL, 15756, LOCATE_parser___ReduceAction296___action};
25247 val_t variable[24];
25248 void **closurevariable = NULL;
25249 trace.prev = tracehead; tracehead = &trace;
25250 trace.file = LOCATE_parser;
25251 variable[0] = self;
25252 variable[1] = param0;
25253 variable[3] = NIT_NULL /*null*/;
25254 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25255 variable[4] = variable[5];
25256 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25257 variable[5] = variable[6];
25258 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25259 variable[6] = variable[7];
25260 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25261 variable[7] = variable[8];
25262 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25263 variable[8] = variable[9];
25264 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25265 variable[9] = variable[10];
25266 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25267 variable[10] = variable[11];
25268 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25269 variable[11] = variable[12];
25270 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25271 variable[12] = variable[13];
25272 variable[13] = variable[12] /*nodearraylist1*/;
25273 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
25274 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction296___action, LOCATE_parser, 15769); nit_exit(1);}
25275 variable[14] = variable[11] /*nodearraylist2*/;
25276 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
25277 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction296___action, LOCATE_parser, 15771); nit_exit(1);}
25278 variable[15] = variable[10] /*nodearraylist3*/;
25279 variable[16] = TAG_Bool(( variable[15] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
25280 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction296___action, LOCATE_parser, 15773); nit_exit(1);}
25281 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
25282 variable[16] = variable[17];
25283 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
25284 variable[17] = variable[18];
25285 variable[18] = variable[9] /*nodearraylist4*/;
25286 variable[19] = TAG_Bool(( variable[18] /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable[18] /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
25287 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction296___action, LOCATE_parser, 15777); nit_exit(1);}
25288 variable[19] = variable[8] /*nodearraylist5*/;
25289 variable[20] = TAG_Bool(( variable[19] /*listnode10*/==NIT_NULL) || VAL_ISA( variable[19] /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
25290 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction296___action, LOCATE_parser, 15779); nit_exit(1);}
25291 variable[20] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[19] /*listnode10*/ == NIT_NULL /*null*/) || (( variable[19] /*listnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[19] /*listnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode10*/,COLOR_kernel___Object_____eqeq))( variable[19] /*listnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
25292 if (UNTAG_Bool(variable[20])) { /*if*/
25293 variable[20] = ((array___AbstractArray___is_empty_t)CALL( variable[17] /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable[17] /*listnode11*/) /*AbstractArray::is_empty*/;
25294 if (UNTAG_Bool(variable[20])) { /*if*/
25295 variable[17] = variable[19] /*listnode10*/ /*listnode11=*/;
25296 } else { /*if*/
25297 ((abstract_collection___IndexedCollection___append_t)CALL( variable[17] /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable[17] /*listnode11*/, variable[19] /*listnode10*/) /*IndexedCollection::append*/;
25298 }
25299 }
25300 variable[21] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[16] /*listnode8*/, variable[18] /*ptypenode9*/, variable[17] /*listnode11*/); /*new ASignature*/
25301 variable[20] = variable[21];
25302 variable[21] = variable[5] /*nodearraylist8*/;
25303 variable[22] = TAG_Bool(( variable[21] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[21] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
25304 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction296___action, LOCATE_parser, 15793); nit_exit(1);}
25305 variable[23] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[13] /*pdocnode2*/, NIT_NULL /*null*/, variable[14] /*pvisibilitynode4*/, variable[15] /*tkwinitnode5*/, NIT_NULL /*null*/, variable[20] /*psignaturenode7*/, variable[21] /*pexprnode12*/); /*new AConcreteInitPropdef*/
25306 variable[22] = variable[23];
25307 variable[3] = variable[22] /*ppropdefnode1*/ /*node_list=*/;
25308 variable[23] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
25309 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[23], variable[3] /*node_list*/) /*Parser::push*/;
25310 return_label624: while(false);
25311 tracehead = trace.prev;
25312 return;
25313 }
25314 void parser___ReduceAction296___init(val_t self, int* init_table) {
25315 struct trace_t trace = {NULL, NULL, 15806, LOCATE_parser___ReduceAction296___init};
25316 val_t variable[2];
25317 void **closurevariable = NULL;
25318 trace.prev = tracehead; tracehead = &trace;
25319 trace.file = LOCATE_parser;
25320 variable[0] = self;
25321 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction296].i]) return;
25322 return_label625: while(false);
25323 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction296].i] = 1;
25324 tracehead = trace.prev;
25325 return;
25326 }
25327 void parser___ReduceAction297___action(val_t self, val_t param0) {
25328 struct trace_t trace = {NULL, NULL, 15810, LOCATE_parser___ReduceAction297___action};
25329 val_t variable[26];
25330 void **closurevariable = NULL;
25331 trace.prev = tracehead; tracehead = &trace;
25332 trace.file = LOCATE_parser;
25333 variable[0] = self;
25334 variable[1] = param0;
25335 variable[3] = NIT_NULL /*null*/;
25336 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25337 variable[4] = variable[5];
25338 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25339 variable[5] = variable[6];
25340 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25341 variable[6] = variable[7];
25342 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25343 variable[7] = variable[8];
25344 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25345 variable[8] = variable[9];
25346 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25347 variable[9] = variable[10];
25348 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25349 variable[10] = variable[11];
25350 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25351 variable[11] = variable[12];
25352 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25353 variable[12] = variable[13];
25354 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25355 variable[13] = variable[14];
25356 variable[14] = variable[13] /*nodearraylist1*/;
25357 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
25358 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction297___action, LOCATE_parser, 15824); nit_exit(1);}
25359 variable[15] = variable[12] /*nodearraylist2*/;
25360 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
25361 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction297___action, LOCATE_parser, 15826); nit_exit(1);}
25362 variable[16] = variable[11] /*nodearraylist3*/;
25363 variable[17] = TAG_Bool(( variable[16] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
25364 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction297___action, LOCATE_parser, 15828); nit_exit(1);}
25365 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
25366 variable[17] = variable[18];
25367 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
25368 variable[18] = variable[19];
25369 variable[19] = variable[10] /*nodearraylist4*/;
25370 variable[20] = TAG_Bool(( variable[19] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[19] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
25371 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction297___action, LOCATE_parser, 15832); nit_exit(1);}
25372 variable[20] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[19] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[19] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[19] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[19] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
25373 if (UNTAG_Bool(variable[20])) { /*if*/
25374 variable[20] = ((array___AbstractArray___is_empty_t)CALL( variable[17] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[17] /*listnode9*/) /*AbstractArray::is_empty*/;
25375 if (UNTAG_Bool(variable[20])) { /*if*/
25376 variable[17] = variable[19] /*listnode8*/ /*listnode9=*/;
25377 } else { /*if*/
25378 ((abstract_collection___IndexedCollection___append_t)CALL( variable[17] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[17] /*listnode9*/, variable[19] /*listnode8*/) /*IndexedCollection::append*/;
25379 }
25380 }
25381 variable[20] = variable[9] /*nodearraylist5*/;
25382 variable[21] = TAG_Bool(( variable[20] /*ptypenode10*/==NIT_NULL) || VAL_ISA( variable[20] /*ptypenode10*/, COLOR_PType, ID_PType)) /*cast PType*/;
25383 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction297___action, LOCATE_parser, 15841); nit_exit(1);}
25384 variable[21] = variable[8] /*nodearraylist6*/;
25385 variable[22] = TAG_Bool(( variable[21] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[21] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
25386 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction297___action, LOCATE_parser, 15843); nit_exit(1);}
25387 variable[22] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[21] /*listnode11*/ == NIT_NULL /*null*/) || (( variable[21] /*listnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[21] /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable[21] /*listnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
25388 if (UNTAG_Bool(variable[22])) { /*if*/
25389 variable[22] = ((array___AbstractArray___is_empty_t)CALL( variable[18] /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable[18] /*listnode12*/) /*AbstractArray::is_empty*/;
25390 if (UNTAG_Bool(variable[22])) { /*if*/
25391 variable[18] = variable[21] /*listnode11*/ /*listnode12=*/;
25392 } else { /*if*/
25393 ((abstract_collection___IndexedCollection___append_t)CALL( variable[18] /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable[18] /*listnode12*/, variable[21] /*listnode11*/) /*IndexedCollection::append*/;
25394 }
25395 }
25396 variable[23] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[17] /*listnode9*/, variable[20] /*ptypenode10*/, variable[18] /*listnode12*/); /*new ASignature*/
25397 variable[22] = variable[23];
25398 variable[23] = variable[5] /*nodearraylist9*/;
25399 variable[24] = TAG_Bool(( variable[23] /*pexprnode13*/==NIT_NULL) || VAL_ISA( variable[23] /*pexprnode13*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
25400 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction297___action, LOCATE_parser, 15857); nit_exit(1);}
25401 variable[25] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[14] /*pdocnode2*/, NIT_NULL /*null*/, variable[15] /*pvisibilitynode4*/, variable[16] /*tkwinitnode5*/, NIT_NULL /*null*/, variable[22] /*psignaturenode7*/, variable[23] /*pexprnode13*/); /*new AConcreteInitPropdef*/
25402 variable[24] = variable[25];
25403 variable[3] = variable[24] /*ppropdefnode1*/ /*node_list=*/;
25404 variable[25] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
25405 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[25], variable[3] /*node_list*/) /*Parser::push*/;
25406 return_label626: while(false);
25407 tracehead = trace.prev;
25408 return;
25409 }
25410 void parser___ReduceAction297___init(val_t self, int* init_table) {
25411 struct trace_t trace = {NULL, NULL, 15870, LOCATE_parser___ReduceAction297___init};
25412 val_t variable[2];
25413 void **closurevariable = NULL;
25414 trace.prev = tracehead; tracehead = &trace;
25415 trace.file = LOCATE_parser;
25416 variable[0] = self;
25417 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction297].i]) return;
25418 return_label627: while(false);
25419 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction297].i] = 1;
25420 tracehead = trace.prev;
25421 return;
25422 }
25423 void parser___ReduceAction298___action(val_t self, val_t param0) {
25424 struct trace_t trace = {NULL, NULL, 15874, LOCATE_parser___ReduceAction298___action};
25425 val_t variable[22];
25426 void **closurevariable = NULL;
25427 trace.prev = tracehead; tracehead = &trace;
25428 trace.file = LOCATE_parser;
25429 variable[0] = self;
25430 variable[1] = param0;
25431 variable[3] = NIT_NULL /*null*/;
25432 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25433 variable[4] = variable[5];
25434 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25435 variable[5] = variable[6];
25436 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25437 variable[6] = variable[7];
25438 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25439 variable[7] = variable[8];
25440 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25441 variable[8] = variable[9];
25442 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25443 variable[9] = variable[10];
25444 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25445 variable[10] = variable[11];
25446 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25447 variable[11] = variable[12];
25448 variable[12] = variable[11] /*nodearraylist1*/;
25449 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
25450 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction298___action, LOCATE_parser, 15886); nit_exit(1);}
25451 variable[13] = variable[10] /*nodearraylist2*/;
25452 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
25453 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction298___action, LOCATE_parser, 15888); nit_exit(1);}
25454 variable[14] = variable[9] /*nodearraylist3*/;
25455 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
25456 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction298___action, LOCATE_parser, 15890); nit_exit(1);}
25457 variable[15] = variable[8] /*nodearraylist4*/;
25458 variable[16] = TAG_Bool(( variable[15] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
25459 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction298___action, LOCATE_parser, 15892); nit_exit(1);}
25460 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
25461 variable[16] = variable[17];
25462 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
25463 variable[17] = variable[18];
25464 variable[19] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[16] /*listnode8*/, NIT_NULL /*null*/, variable[17] /*listnode10*/); /*new ASignature*/
25465 variable[18] = variable[19];
25466 variable[19] = variable[5] /*nodearraylist7*/;
25467 variable[20] = TAG_Bool(( variable[19] /*pexprnode11*/==NIT_NULL) || VAL_ISA( variable[19] /*pexprnode11*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
25468 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction298___action, LOCATE_parser, 15901); nit_exit(1);}
25469 variable[21] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[12] /*pdocnode2*/, variable[13] /*tkwredefnode3*/, variable[14] /*pvisibilitynode4*/, variable[15] /*tkwinitnode5*/, NIT_NULL /*null*/, variable[18] /*psignaturenode7*/, variable[19] /*pexprnode11*/); /*new AConcreteInitPropdef*/
25470 variable[20] = variable[21];
25471 variable[3] = variable[20] /*ppropdefnode1*/ /*node_list=*/;
25472 variable[21] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
25473 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[21], variable[3] /*node_list*/) /*Parser::push*/;
25474 return_label628: while(false);
25475 tracehead = trace.prev;
25476 return;
25477 }
25478 void parser___ReduceAction298___init(val_t self, int* init_table) {
25479 struct trace_t trace = {NULL, NULL, 15914, LOCATE_parser___ReduceAction298___init};
25480 val_t variable[2];
25481 void **closurevariable = NULL;
25482 trace.prev = tracehead; tracehead = &trace;
25483 trace.file = LOCATE_parser;
25484 variable[0] = self;
25485 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction298].i]) return;
25486 return_label629: while(false);
25487 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction298].i] = 1;
25488 tracehead = trace.prev;
25489 return;
25490 }
25491 void parser___ReduceAction299___action(val_t self, val_t param0) {
25492 struct trace_t trace = {NULL, NULL, 15918, LOCATE_parser___ReduceAction299___action};
25493 val_t variable[24];
25494 void **closurevariable = NULL;
25495 trace.prev = tracehead; tracehead = &trace;
25496 trace.file = LOCATE_parser;
25497 variable[0] = self;
25498 variable[1] = param0;
25499 variable[3] = NIT_NULL /*null*/;
25500 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25501 variable[4] = variable[5];
25502 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25503 variable[5] = variable[6];
25504 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25505 variable[6] = variable[7];
25506 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25507 variable[7] = variable[8];
25508 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25509 variable[8] = variable[9];
25510 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25511 variable[9] = variable[10];
25512 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25513 variable[10] = variable[11];
25514 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25515 variable[11] = variable[12];
25516 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25517 variable[12] = variable[13];
25518 variable[13] = variable[12] /*nodearraylist1*/;
25519 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
25520 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction299___action, LOCATE_parser, 15931); nit_exit(1);}
25521 variable[14] = variable[11] /*nodearraylist2*/;
25522 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
25523 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction299___action, LOCATE_parser, 15933); nit_exit(1);}
25524 variable[15] = variable[10] /*nodearraylist3*/;
25525 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
25526 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction299___action, LOCATE_parser, 15935); nit_exit(1);}
25527 variable[16] = variable[9] /*nodearraylist4*/;
25528 variable[17] = TAG_Bool(( variable[16] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
25529 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction299___action, LOCATE_parser, 15937); nit_exit(1);}
25530 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
25531 variable[17] = variable[18];
25532 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
25533 variable[18] = variable[19];
25534 variable[19] = variable[8] /*nodearraylist5*/;
25535 variable[20] = TAG_Bool(( variable[19] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[19] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
25536 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction299___action, LOCATE_parser, 15941); nit_exit(1);}
25537 variable[20] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[19] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[19] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[19] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[19] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
25538 if (UNTAG_Bool(variable[20])) { /*if*/
25539 variable[20] = ((array___AbstractArray___is_empty_t)CALL( variable[17] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[17] /*listnode9*/) /*AbstractArray::is_empty*/;
25540 if (UNTAG_Bool(variable[20])) { /*if*/
25541 variable[17] = variable[19] /*listnode8*/ /*listnode9=*/;
25542 } else { /*if*/
25543 ((abstract_collection___IndexedCollection___append_t)CALL( variable[17] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[17] /*listnode9*/, variable[19] /*listnode8*/) /*IndexedCollection::append*/;
25544 }
25545 }
25546 variable[21] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[17] /*listnode9*/, NIT_NULL /*null*/, variable[18] /*listnode11*/); /*new ASignature*/
25547 variable[20] = variable[21];
25548 variable[21] = variable[5] /*nodearraylist8*/;
25549 variable[22] = TAG_Bool(( variable[21] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[21] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
25550 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction299___action, LOCATE_parser, 15955); nit_exit(1);}
25551 variable[23] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[13] /*pdocnode2*/, variable[14] /*tkwredefnode3*/, variable[15] /*pvisibilitynode4*/, variable[16] /*tkwinitnode5*/, NIT_NULL /*null*/, variable[20] /*psignaturenode7*/, variable[21] /*pexprnode12*/); /*new AConcreteInitPropdef*/
25552 variable[22] = variable[23];
25553 variable[3] = variable[22] /*ppropdefnode1*/ /*node_list=*/;
25554 variable[23] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
25555 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[23], variable[3] /*node_list*/) /*Parser::push*/;
25556 return_label630: while(false);
25557 tracehead = trace.prev;
25558 return;
25559 }
25560 void parser___ReduceAction299___init(val_t self, int* init_table) {
25561 struct trace_t trace = {NULL, NULL, 15968, LOCATE_parser___ReduceAction299___init};
25562 val_t variable[2];
25563 void **closurevariable = NULL;
25564 trace.prev = tracehead; tracehead = &trace;
25565 trace.file = LOCATE_parser;
25566 variable[0] = self;
25567 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction299].i]) return;
25568 return_label631: while(false);
25569 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction299].i] = 1;
25570 tracehead = trace.prev;
25571 return;
25572 }
25573 void parser___ReduceAction300___action(val_t self, val_t param0) {
25574 struct trace_t trace = {NULL, NULL, 15972, LOCATE_parser___ReduceAction300___action};
25575 val_t variable[24];
25576 void **closurevariable = NULL;
25577 trace.prev = tracehead; tracehead = &trace;
25578 trace.file = LOCATE_parser;
25579 variable[0] = self;
25580 variable[1] = param0;
25581 variable[3] = NIT_NULL /*null*/;
25582 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25583 variable[4] = variable[5];
25584 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25585 variable[5] = variable[6];
25586 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25587 variable[6] = variable[7];
25588 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25589 variable[7] = variable[8];
25590 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25591 variable[8] = variable[9];
25592 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25593 variable[9] = variable[10];
25594 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25595 variable[10] = variable[11];
25596 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25597 variable[11] = variable[12];
25598 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25599 variable[12] = variable[13];
25600 variable[13] = variable[12] /*nodearraylist1*/;
25601 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
25602 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction300___action, LOCATE_parser, 15985); nit_exit(1);}
25603 variable[14] = variable[11] /*nodearraylist2*/;
25604 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
25605 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction300___action, LOCATE_parser, 15987); nit_exit(1);}
25606 variable[15] = variable[10] /*nodearraylist3*/;
25607 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
25608 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction300___action, LOCATE_parser, 15989); nit_exit(1);}
25609 variable[16] = variable[9] /*nodearraylist4*/;
25610 variable[17] = TAG_Bool(( variable[16] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
25611 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction300___action, LOCATE_parser, 15991); nit_exit(1);}
25612 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
25613 variable[17] = variable[18];
25614 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
25615 variable[18] = variable[19];
25616 variable[19] = variable[8] /*nodearraylist5*/;
25617 variable[20] = TAG_Bool(( variable[19] /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable[19] /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
25618 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction300___action, LOCATE_parser, 15995); nit_exit(1);}
25619 variable[21] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[17] /*listnode8*/, variable[19] /*ptypenode9*/, variable[18] /*listnode10*/); /*new ASignature*/
25620 variable[20] = variable[21];
25621 variable[21] = variable[5] /*nodearraylist8*/;
25622 variable[22] = TAG_Bool(( variable[21] /*pexprnode11*/==NIT_NULL) || VAL_ISA( variable[21] /*pexprnode11*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
25623 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction300___action, LOCATE_parser, 16002); nit_exit(1);}
25624 variable[23] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[13] /*pdocnode2*/, variable[14] /*tkwredefnode3*/, variable[15] /*pvisibilitynode4*/, variable[16] /*tkwinitnode5*/, NIT_NULL /*null*/, variable[20] /*psignaturenode7*/, variable[21] /*pexprnode11*/); /*new AConcreteInitPropdef*/
25625 variable[22] = variable[23];
25626 variable[3] = variable[22] /*ppropdefnode1*/ /*node_list=*/;
25627 variable[23] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
25628 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[23], variable[3] /*node_list*/) /*Parser::push*/;
25629 return_label632: while(false);
25630 tracehead = trace.prev;
25631 return;
25632 }
25633 void parser___ReduceAction300___init(val_t self, int* init_table) {
25634 struct trace_t trace = {NULL, NULL, 16015, LOCATE_parser___ReduceAction300___init};
25635 val_t variable[2];
25636 void **closurevariable = NULL;
25637 trace.prev = tracehead; tracehead = &trace;
25638 trace.file = LOCATE_parser;
25639 variable[0] = self;
25640 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction300].i]) return;
25641 return_label633: while(false);
25642 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction300].i] = 1;
25643 tracehead = trace.prev;
25644 return;
25645 }
25646 void parser___ReduceAction301___action(val_t self, val_t param0) {
25647 struct trace_t trace = {NULL, NULL, 16019, LOCATE_parser___ReduceAction301___action};
25648 val_t variable[26];
25649 void **closurevariable = NULL;
25650 trace.prev = tracehead; tracehead = &trace;
25651 trace.file = LOCATE_parser;
25652 variable[0] = self;
25653 variable[1] = param0;
25654 variable[3] = NIT_NULL /*null*/;
25655 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25656 variable[4] = variable[5];
25657 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25658 variable[5] = variable[6];
25659 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25660 variable[6] = variable[7];
25661 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25662 variable[7] = variable[8];
25663 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25664 variable[8] = variable[9];
25665 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25666 variable[9] = variable[10];
25667 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25668 variable[10] = variable[11];
25669 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25670 variable[11] = variable[12];
25671 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25672 variable[12] = variable[13];
25673 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25674 variable[13] = variable[14];
25675 variable[14] = variable[13] /*nodearraylist1*/;
25676 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
25677 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction301___action, LOCATE_parser, 16033); nit_exit(1);}
25678 variable[15] = variable[12] /*nodearraylist2*/;
25679 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
25680 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction301___action, LOCATE_parser, 16035); nit_exit(1);}
25681 variable[16] = variable[11] /*nodearraylist3*/;
25682 variable[17] = TAG_Bool(( variable[16] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[16] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
25683 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction301___action, LOCATE_parser, 16037); nit_exit(1);}
25684 variable[17] = variable[10] /*nodearraylist4*/;
25685 variable[18] = TAG_Bool(( variable[17] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
25686 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction301___action, LOCATE_parser, 16039); nit_exit(1);}
25687 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
25688 variable[18] = variable[19];
25689 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
25690 variable[19] = variable[20];
25691 variable[20] = variable[9] /*nodearraylist5*/;
25692 variable[21] = TAG_Bool(( variable[20] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[20] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
25693 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction301___action, LOCATE_parser, 16043); nit_exit(1);}
25694 variable[21] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[20] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[20] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[20] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[20] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
25695 if (UNTAG_Bool(variable[21])) { /*if*/
25696 variable[21] = ((array___AbstractArray___is_empty_t)CALL( variable[18] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[18] /*listnode9*/) /*AbstractArray::is_empty*/;
25697 if (UNTAG_Bool(variable[21])) { /*if*/
25698 variable[18] = variable[20] /*listnode8*/ /*listnode9=*/;
25699 } else { /*if*/
25700 ((abstract_collection___IndexedCollection___append_t)CALL( variable[18] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[18] /*listnode9*/, variable[20] /*listnode8*/) /*IndexedCollection::append*/;
25701 }
25702 }
25703 variable[21] = variable[8] /*nodearraylist6*/;
25704 variable[22] = TAG_Bool(( variable[21] /*ptypenode10*/==NIT_NULL) || VAL_ISA( variable[21] /*ptypenode10*/, COLOR_PType, ID_PType)) /*cast PType*/;
25705 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction301___action, LOCATE_parser, 16052); nit_exit(1);}
25706 variable[23] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[18] /*listnode9*/, variable[21] /*ptypenode10*/, variable[19] /*listnode11*/); /*new ASignature*/
25707 variable[22] = variable[23];
25708 variable[23] = variable[5] /*nodearraylist9*/;
25709 variable[24] = TAG_Bool(( variable[23] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[23] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
25710 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction301___action, LOCATE_parser, 16059); nit_exit(1);}
25711 variable[25] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[14] /*pdocnode2*/, variable[15] /*tkwredefnode3*/, variable[16] /*pvisibilitynode4*/, variable[17] /*tkwinitnode5*/, NIT_NULL /*null*/, variable[22] /*psignaturenode7*/, variable[23] /*pexprnode12*/); /*new AConcreteInitPropdef*/
25712 variable[24] = variable[25];
25713 variable[3] = variable[24] /*ppropdefnode1*/ /*node_list=*/;
25714 variable[25] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
25715 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[25], variable[3] /*node_list*/) /*Parser::push*/;
25716 return_label634: while(false);
25717 tracehead = trace.prev;
25718 return;
25719 }
25720 void parser___ReduceAction301___init(val_t self, int* init_table) {
25721 struct trace_t trace = {NULL, NULL, 16072, LOCATE_parser___ReduceAction301___init};
25722 val_t variable[2];
25723 void **closurevariable = NULL;
25724 trace.prev = tracehead; tracehead = &trace;
25725 trace.file = LOCATE_parser;
25726 variable[0] = self;
25727 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction301].i]) return;
25728 return_label635: while(false);
25729 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction301].i] = 1;
25730 tracehead = trace.prev;
25731 return;
25732 }
25733 void parser___ReduceAction302___action(val_t self, val_t param0) {
25734 struct trace_t trace = {NULL, NULL, 16076, LOCATE_parser___ReduceAction302___action};
25735 val_t variable[24];
25736 void **closurevariable = NULL;
25737 trace.prev = tracehead; tracehead = &trace;
25738 trace.file = LOCATE_parser;
25739 variable[0] = self;
25740 variable[1] = param0;
25741 variable[3] = NIT_NULL /*null*/;
25742 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25743 variable[4] = variable[5];
25744 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25745 variable[5] = variable[6];
25746 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25747 variable[6] = variable[7];
25748 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25749 variable[7] = variable[8];
25750 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25751 variable[8] = variable[9];
25752 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25753 variable[9] = variable[10];
25754 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25755 variable[10] = variable[11];
25756 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25757 variable[11] = variable[12];
25758 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25759 variable[12] = variable[13];
25760 variable[13] = variable[12] /*nodearraylist1*/;
25761 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
25762 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction302___action, LOCATE_parser, 16089); nit_exit(1);}
25763 variable[14] = variable[11] /*nodearraylist2*/;
25764 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
25765 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction302___action, LOCATE_parser, 16091); nit_exit(1);}
25766 variable[15] = variable[10] /*nodearraylist3*/;
25767 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
25768 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction302___action, LOCATE_parser, 16093); nit_exit(1);}
25769 variable[16] = variable[9] /*nodearraylist4*/;
25770 variable[17] = TAG_Bool(( variable[16] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
25771 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction302___action, LOCATE_parser, 16095); nit_exit(1);}
25772 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
25773 variable[17] = variable[18];
25774 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
25775 variable[18] = variable[19];
25776 variable[19] = variable[8] /*nodearraylist5*/;
25777 variable[20] = TAG_Bool(( variable[19] /*listnode10*/==NIT_NULL) || VAL_ISA( variable[19] /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
25778 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction302___action, LOCATE_parser, 16099); nit_exit(1);}
25779 variable[20] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[19] /*listnode10*/ == NIT_NULL /*null*/) || (( variable[19] /*listnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[19] /*listnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode10*/,COLOR_kernel___Object_____eqeq))( variable[19] /*listnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
25780 if (UNTAG_Bool(variable[20])) { /*if*/
25781 variable[20] = ((array___AbstractArray___is_empty_t)CALL( variable[18] /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable[18] /*listnode11*/) /*AbstractArray::is_empty*/;
25782 if (UNTAG_Bool(variable[20])) { /*if*/
25783 variable[18] = variable[19] /*listnode10*/ /*listnode11=*/;
25784 } else { /*if*/
25785 ((abstract_collection___IndexedCollection___append_t)CALL( variable[18] /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable[18] /*listnode11*/, variable[19] /*listnode10*/) /*IndexedCollection::append*/;
25786 }
25787 }
25788 variable[21] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[17] /*listnode8*/, NIT_NULL /*null*/, variable[18] /*listnode11*/); /*new ASignature*/
25789 variable[20] = variable[21];
25790 variable[21] = variable[5] /*nodearraylist8*/;
25791 variable[22] = TAG_Bool(( variable[21] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[21] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
25792 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction302___action, LOCATE_parser, 16113); nit_exit(1);}
25793 variable[23] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[13] /*pdocnode2*/, variable[14] /*tkwredefnode3*/, variable[15] /*pvisibilitynode4*/, variable[16] /*tkwinitnode5*/, NIT_NULL /*null*/, variable[20] /*psignaturenode7*/, variable[21] /*pexprnode12*/); /*new AConcreteInitPropdef*/
25794 variable[22] = variable[23];
25795 variable[3] = variable[22] /*ppropdefnode1*/ /*node_list=*/;
25796 variable[23] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
25797 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[23], variable[3] /*node_list*/) /*Parser::push*/;
25798 return_label636: while(false);
25799 tracehead = trace.prev;
25800 return;
25801 }
25802 void parser___ReduceAction302___init(val_t self, int* init_table) {
25803 struct trace_t trace = {NULL, NULL, 16126, LOCATE_parser___ReduceAction302___init};
25804 val_t variable[2];
25805 void **closurevariable = NULL;
25806 trace.prev = tracehead; tracehead = &trace;
25807 trace.file = LOCATE_parser;
25808 variable[0] = self;
25809 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction302].i]) return;
25810 return_label637: while(false);
25811 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction302].i] = 1;
25812 tracehead = trace.prev;
25813 return;
25814 }
25815 void parser___ReduceAction303___action(val_t self, val_t param0) {
25816 struct trace_t trace = {NULL, NULL, 16130, LOCATE_parser___ReduceAction303___action};
25817 val_t variable[26];
25818 void **closurevariable = NULL;
25819 trace.prev = tracehead; tracehead = &trace;
25820 trace.file = LOCATE_parser;
25821 variable[0] = self;
25822 variable[1] = param0;
25823 variable[3] = NIT_NULL /*null*/;
25824 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25825 variable[4] = variable[5];
25826 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25827 variable[5] = variable[6];
25828 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25829 variable[6] = variable[7];
25830 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25831 variable[7] = variable[8];
25832 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25833 variable[8] = variable[9];
25834 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25835 variable[9] = variable[10];
25836 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25837 variable[10] = variable[11];
25838 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25839 variable[11] = variable[12];
25840 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25841 variable[12] = variable[13];
25842 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25843 variable[13] = variable[14];
25844 variable[14] = variable[13] /*nodearraylist1*/;
25845 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
25846 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction303___action, LOCATE_parser, 16144); nit_exit(1);}
25847 variable[15] = variable[12] /*nodearraylist2*/;
25848 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
25849 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction303___action, LOCATE_parser, 16146); nit_exit(1);}
25850 variable[16] = variable[11] /*nodearraylist3*/;
25851 variable[17] = TAG_Bool(( variable[16] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[16] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
25852 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction303___action, LOCATE_parser, 16148); nit_exit(1);}
25853 variable[17] = variable[10] /*nodearraylist4*/;
25854 variable[18] = TAG_Bool(( variable[17] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
25855 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction303___action, LOCATE_parser, 16150); nit_exit(1);}
25856 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
25857 variable[18] = variable[19];
25858 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
25859 variable[19] = variable[20];
25860 variable[20] = variable[9] /*nodearraylist5*/;
25861 variable[21] = TAG_Bool(( variable[20] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[20] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
25862 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction303___action, LOCATE_parser, 16154); nit_exit(1);}
25863 variable[21] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[20] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[20] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[20] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[20] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
25864 if (UNTAG_Bool(variable[21])) { /*if*/
25865 variable[21] = ((array___AbstractArray___is_empty_t)CALL( variable[18] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[18] /*listnode9*/) /*AbstractArray::is_empty*/;
25866 if (UNTAG_Bool(variable[21])) { /*if*/
25867 variable[18] = variable[20] /*listnode8*/ /*listnode9=*/;
25868 } else { /*if*/
25869 ((abstract_collection___IndexedCollection___append_t)CALL( variable[18] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[18] /*listnode9*/, variable[20] /*listnode8*/) /*IndexedCollection::append*/;
25870 }
25871 }
25872 variable[21] = variable[8] /*nodearraylist6*/;
25873 variable[22] = TAG_Bool(( variable[21] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[21] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
25874 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction303___action, LOCATE_parser, 16163); nit_exit(1);}
25875 variable[22] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[21] /*listnode11*/ == NIT_NULL /*null*/) || (( variable[21] /*listnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[21] /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable[21] /*listnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
25876 if (UNTAG_Bool(variable[22])) { /*if*/
25877 variable[22] = ((array___AbstractArray___is_empty_t)CALL( variable[19] /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable[19] /*listnode12*/) /*AbstractArray::is_empty*/;
25878 if (UNTAG_Bool(variable[22])) { /*if*/
25879 variable[19] = variable[21] /*listnode11*/ /*listnode12=*/;
25880 } else { /*if*/
25881 ((abstract_collection___IndexedCollection___append_t)CALL( variable[19] /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable[19] /*listnode12*/, variable[21] /*listnode11*/) /*IndexedCollection::append*/;
25882 }
25883 }
25884 variable[23] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[18] /*listnode9*/, NIT_NULL /*null*/, variable[19] /*listnode12*/); /*new ASignature*/
25885 variable[22] = variable[23];
25886 variable[23] = variable[5] /*nodearraylist9*/;
25887 variable[24] = TAG_Bool(( variable[23] /*pexprnode13*/==NIT_NULL) || VAL_ISA( variable[23] /*pexprnode13*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
25888 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction303___action, LOCATE_parser, 16177); nit_exit(1);}
25889 variable[25] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[14] /*pdocnode2*/, variable[15] /*tkwredefnode3*/, variable[16] /*pvisibilitynode4*/, variable[17] /*tkwinitnode5*/, NIT_NULL /*null*/, variable[22] /*psignaturenode7*/, variable[23] /*pexprnode13*/); /*new AConcreteInitPropdef*/
25890 variable[24] = variable[25];
25891 variable[3] = variable[24] /*ppropdefnode1*/ /*node_list=*/;
25892 variable[25] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
25893 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[25], variable[3] /*node_list*/) /*Parser::push*/;
25894 return_label638: while(false);
25895 tracehead = trace.prev;
25896 return;
25897 }
25898 void parser___ReduceAction303___init(val_t self, int* init_table) {
25899 struct trace_t trace = {NULL, NULL, 16190, LOCATE_parser___ReduceAction303___init};
25900 val_t variable[2];
25901 void **closurevariable = NULL;
25902 trace.prev = tracehead; tracehead = &trace;
25903 trace.file = LOCATE_parser;
25904 variable[0] = self;
25905 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction303].i]) return;
25906 return_label639: while(false);
25907 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction303].i] = 1;
25908 tracehead = trace.prev;
25909 return;
25910 }
25911 void parser___ReduceAction304___action(val_t self, val_t param0) {
25912 struct trace_t trace = {NULL, NULL, 16194, LOCATE_parser___ReduceAction304___action};
25913 val_t variable[26];
25914 void **closurevariable = NULL;
25915 trace.prev = tracehead; tracehead = &trace;
25916 trace.file = LOCATE_parser;
25917 variable[0] = self;
25918 variable[1] = param0;
25919 variable[3] = NIT_NULL /*null*/;
25920 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25921 variable[4] = variable[5];
25922 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25923 variable[5] = variable[6];
25924 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25925 variable[6] = variable[7];
25926 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25927 variable[7] = variable[8];
25928 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25929 variable[8] = variable[9];
25930 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25931 variable[9] = variable[10];
25932 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25933 variable[10] = variable[11];
25934 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25935 variable[11] = variable[12];
25936 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25937 variable[12] = variable[13];
25938 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
25939 variable[13] = variable[14];
25940 variable[14] = variable[13] /*nodearraylist1*/;
25941 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
25942 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction304___action, LOCATE_parser, 16208); nit_exit(1);}
25943 variable[15] = variable[12] /*nodearraylist2*/;
25944 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
25945 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction304___action, LOCATE_parser, 16210); nit_exit(1);}
25946 variable[16] = variable[11] /*nodearraylist3*/;
25947 variable[17] = TAG_Bool(( variable[16] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[16] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
25948 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction304___action, LOCATE_parser, 16212); nit_exit(1);}
25949 variable[17] = variable[10] /*nodearraylist4*/;
25950 variable[18] = TAG_Bool(( variable[17] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
25951 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction304___action, LOCATE_parser, 16214); nit_exit(1);}
25952 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
25953 variable[18] = variable[19];
25954 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
25955 variable[19] = variable[20];
25956 variable[20] = variable[9] /*nodearraylist5*/;
25957 variable[21] = TAG_Bool(( variable[20] /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable[20] /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
25958 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction304___action, LOCATE_parser, 16218); nit_exit(1);}
25959 variable[21] = variable[8] /*nodearraylist6*/;
25960 variable[22] = TAG_Bool(( variable[21] /*listnode10*/==NIT_NULL) || VAL_ISA( variable[21] /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
25961 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction304___action, LOCATE_parser, 16220); nit_exit(1);}
25962 variable[22] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[21] /*listnode10*/ == NIT_NULL /*null*/) || (( variable[21] /*listnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[21] /*listnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode10*/,COLOR_kernel___Object_____eqeq))( variable[21] /*listnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
25963 if (UNTAG_Bool(variable[22])) { /*if*/
25964 variable[22] = ((array___AbstractArray___is_empty_t)CALL( variable[19] /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable[19] /*listnode11*/) /*AbstractArray::is_empty*/;
25965 if (UNTAG_Bool(variable[22])) { /*if*/
25966 variable[19] = variable[21] /*listnode10*/ /*listnode11=*/;
25967 } else { /*if*/
25968 ((abstract_collection___IndexedCollection___append_t)CALL( variable[19] /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable[19] /*listnode11*/, variable[21] /*listnode10*/) /*IndexedCollection::append*/;
25969 }
25970 }
25971 variable[23] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[18] /*listnode8*/, variable[20] /*ptypenode9*/, variable[19] /*listnode11*/); /*new ASignature*/
25972 variable[22] = variable[23];
25973 variable[23] = variable[5] /*nodearraylist9*/;
25974 variable[24] = TAG_Bool(( variable[23] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[23] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
25975 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction304___action, LOCATE_parser, 16234); nit_exit(1);}
25976 variable[25] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[14] /*pdocnode2*/, variable[15] /*tkwredefnode3*/, variable[16] /*pvisibilitynode4*/, variable[17] /*tkwinitnode5*/, NIT_NULL /*null*/, variable[22] /*psignaturenode7*/, variable[23] /*pexprnode12*/); /*new AConcreteInitPropdef*/
25977 variable[24] = variable[25];
25978 variable[3] = variable[24] /*ppropdefnode1*/ /*node_list=*/;
25979 variable[25] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
25980 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[25], variable[3] /*node_list*/) /*Parser::push*/;
25981 return_label640: while(false);
25982 tracehead = trace.prev;
25983 return;
25984 }
25985 void parser___ReduceAction304___init(val_t self, int* init_table) {
25986 struct trace_t trace = {NULL, NULL, 16247, LOCATE_parser___ReduceAction304___init};
25987 val_t variable[2];
25988 void **closurevariable = NULL;
25989 trace.prev = tracehead; tracehead = &trace;
25990 trace.file = LOCATE_parser;
25991 variable[0] = self;
25992 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction304].i]) return;
25993 return_label641: while(false);
25994 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction304].i] = 1;
25995 tracehead = trace.prev;
25996 return;
25997 }
25998 void parser___ReduceAction305___action(val_t self, val_t param0) {
25999 struct trace_t trace = {NULL, NULL, 16251, LOCATE_parser___ReduceAction305___action};
26000 val_t variable[28];
26001 void **closurevariable = NULL;
26002 trace.prev = tracehead; tracehead = &trace;
26003 trace.file = LOCATE_parser;
26004 variable[0] = self;
26005 variable[1] = param0;
26006 variable[3] = NIT_NULL /*null*/;
26007 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26008 variable[4] = variable[5];
26009 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26010 variable[5] = variable[6];
26011 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26012 variable[6] = variable[7];
26013 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26014 variable[7] = variable[8];
26015 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26016 variable[8] = variable[9];
26017 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26018 variable[9] = variable[10];
26019 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26020 variable[10] = variable[11];
26021 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26022 variable[11] = variable[12];
26023 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26024 variable[12] = variable[13];
26025 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26026 variable[13] = variable[14];
26027 variable[15] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26028 variable[14] = variable[15];
26029 variable[15] = variable[14] /*nodearraylist1*/;
26030 variable[16] = TAG_Bool(( variable[15] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
26031 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction305___action, LOCATE_parser, 16266); nit_exit(1);}
26032 variable[16] = variable[13] /*nodearraylist2*/;
26033 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
26034 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction305___action, LOCATE_parser, 16268); nit_exit(1);}
26035 variable[17] = variable[12] /*nodearraylist3*/;
26036 variable[18] = TAG_Bool(( variable[17] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[17] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
26037 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction305___action, LOCATE_parser, 16270); nit_exit(1);}
26038 variable[18] = variable[11] /*nodearraylist4*/;
26039 variable[19] = TAG_Bool(( variable[18] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
26040 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction305___action, LOCATE_parser, 16272); nit_exit(1);}
26041 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
26042 variable[19] = variable[20];
26043 variable[21] = NEW_Array_array___Array___init(); /*new Array[Object]*/
26044 variable[20] = variable[21];
26045 variable[21] = variable[10] /*nodearraylist5*/;
26046 variable[22] = TAG_Bool(( variable[21] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[21] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
26047 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction305___action, LOCATE_parser, 16276); nit_exit(1);}
26048 variable[22] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[21] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[21] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[21] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[21] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
26049 if (UNTAG_Bool(variable[22])) { /*if*/
26050 variable[22] = ((array___AbstractArray___is_empty_t)CALL( variable[19] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[19] /*listnode9*/) /*AbstractArray::is_empty*/;
26051 if (UNTAG_Bool(variable[22])) { /*if*/
26052 variable[19] = variable[21] /*listnode8*/ /*listnode9=*/;
26053 } else { /*if*/
26054 ((abstract_collection___IndexedCollection___append_t)CALL( variable[19] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[19] /*listnode9*/, variable[21] /*listnode8*/) /*IndexedCollection::append*/;
26055 }
26056 }
26057 variable[22] = variable[9] /*nodearraylist6*/;
26058 variable[23] = TAG_Bool(( variable[22] /*ptypenode10*/==NIT_NULL) || VAL_ISA( variable[22] /*ptypenode10*/, COLOR_PType, ID_PType)) /*cast PType*/;
26059 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction305___action, LOCATE_parser, 16285); nit_exit(1);}
26060 variable[23] = variable[8] /*nodearraylist7*/;
26061 variable[24] = TAG_Bool(( variable[23] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[23] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
26062 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction305___action, LOCATE_parser, 16287); nit_exit(1);}
26063 variable[24] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[23] /*listnode11*/ == NIT_NULL /*null*/) || (( variable[23] /*listnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[23] /*listnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[23] /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[23] /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable[23] /*listnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
26064 if (UNTAG_Bool(variable[24])) { /*if*/
26065 variable[24] = ((array___AbstractArray___is_empty_t)CALL( variable[20] /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable[20] /*listnode12*/) /*AbstractArray::is_empty*/;
26066 if (UNTAG_Bool(variable[24])) { /*if*/
26067 variable[20] = variable[23] /*listnode11*/ /*listnode12=*/;
26068 } else { /*if*/
26069 ((abstract_collection___IndexedCollection___append_t)CALL( variable[20] /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable[20] /*listnode12*/, variable[23] /*listnode11*/) /*IndexedCollection::append*/;
26070 }
26071 }
26072 variable[25] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[19] /*listnode9*/, variable[22] /*ptypenode10*/, variable[20] /*listnode12*/); /*new ASignature*/
26073 variable[24] = variable[25];
26074 variable[25] = variable[5] /*nodearraylist10*/;
26075 variable[26] = TAG_Bool(( variable[25] /*pexprnode13*/==NIT_NULL) || VAL_ISA( variable[25] /*pexprnode13*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26076 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction305___action, LOCATE_parser, 16301); nit_exit(1);}
26077 variable[27] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[15] /*pdocnode2*/, variable[16] /*tkwredefnode3*/, variable[17] /*pvisibilitynode4*/, variable[18] /*tkwinitnode5*/, NIT_NULL /*null*/, variable[24] /*psignaturenode7*/, variable[25] /*pexprnode13*/); /*new AConcreteInitPropdef*/
26078 variable[26] = variable[27];
26079 variable[3] = variable[26] /*ppropdefnode1*/ /*node_list=*/;
26080 variable[27] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
26081 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[27], variable[3] /*node_list*/) /*Parser::push*/;
26082 return_label642: while(false);
26083 tracehead = trace.prev;
26084 return;
26085 }
26086 void parser___ReduceAction305___init(val_t self, int* init_table) {
26087 struct trace_t trace = {NULL, NULL, 16314, LOCATE_parser___ReduceAction305___init};
26088 val_t variable[2];
26089 void **closurevariable = NULL;
26090 trace.prev = tracehead; tracehead = &trace;
26091 trace.file = LOCATE_parser;
26092 variable[0] = self;
26093 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction305].i]) return;
26094 return_label643: while(false);
26095 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction305].i] = 1;
26096 tracehead = trace.prev;
26097 return;
26098 }
26099 void parser___ReduceAction306___action(val_t self, val_t param0) {
26100 struct trace_t trace = {NULL, NULL, 16318, LOCATE_parser___ReduceAction306___action};
26101 val_t variable[22];
26102 void **closurevariable = NULL;
26103 trace.prev = tracehead; tracehead = &trace;
26104 trace.file = LOCATE_parser;
26105 variable[0] = self;
26106 variable[1] = param0;
26107 variable[3] = NIT_NULL /*null*/;
26108 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26109 variable[4] = variable[5];
26110 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26111 variable[5] = variable[6];
26112 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26113 variable[6] = variable[7];
26114 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26115 variable[7] = variable[8];
26116 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26117 variable[8] = variable[9];
26118 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26119 variable[9] = variable[10];
26120 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26121 variable[10] = variable[11];
26122 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26123 variable[11] = variable[12];
26124 variable[12] = variable[11] /*nodearraylist1*/;
26125 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
26126 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction306___action, LOCATE_parser, 16330); nit_exit(1);}
26127 variable[13] = variable[10] /*nodearraylist2*/;
26128 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
26129 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction306___action, LOCATE_parser, 16332); nit_exit(1);}
26130 variable[14] = variable[9] /*nodearraylist3*/;
26131 variable[15] = TAG_Bool(( variable[14] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
26132 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction306___action, LOCATE_parser, 16334); nit_exit(1);}
26133 variable[15] = variable[8] /*nodearraylist4*/;
26134 variable[16] = TAG_Bool(( variable[15] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
26135 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction306___action, LOCATE_parser, 16336); nit_exit(1);}
26136 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
26137 variable[16] = variable[17];
26138 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
26139 variable[17] = variable[18];
26140 variable[19] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[16] /*listnode8*/, NIT_NULL /*null*/, variable[17] /*listnode10*/); /*new ASignature*/
26141 variable[18] = variable[19];
26142 variable[19] = variable[5] /*nodearraylist7*/;
26143 variable[20] = TAG_Bool(( variable[19] /*pexprnode11*/==NIT_NULL) || VAL_ISA( variable[19] /*pexprnode11*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26144 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction306___action, LOCATE_parser, 16345); nit_exit(1);}
26145 variable[21] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[12] /*pdocnode2*/, NIT_NULL /*null*/, variable[13] /*pvisibilitynode4*/, variable[14] /*tkwinitnode5*/, variable[15] /*pmethidnode6*/, variable[18] /*psignaturenode7*/, variable[19] /*pexprnode11*/); /*new AConcreteInitPropdef*/
26146 variable[20] = variable[21];
26147 variable[3] = variable[20] /*ppropdefnode1*/ /*node_list=*/;
26148 variable[21] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
26149 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[21], variable[3] /*node_list*/) /*Parser::push*/;
26150 return_label644: while(false);
26151 tracehead = trace.prev;
26152 return;
26153 }
26154 void parser___ReduceAction306___init(val_t self, int* init_table) {
26155 struct trace_t trace = {NULL, NULL, 16358, LOCATE_parser___ReduceAction306___init};
26156 val_t variable[2];
26157 void **closurevariable = NULL;
26158 trace.prev = tracehead; tracehead = &trace;
26159 trace.file = LOCATE_parser;
26160 variable[0] = self;
26161 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction306].i]) return;
26162 return_label645: while(false);
26163 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction306].i] = 1;
26164 tracehead = trace.prev;
26165 return;
26166 }
26167 void parser___ReduceAction307___action(val_t self, val_t param0) {
26168 struct trace_t trace = {NULL, NULL, 16362, LOCATE_parser___ReduceAction307___action};
26169 val_t variable[24];
26170 void **closurevariable = NULL;
26171 trace.prev = tracehead; tracehead = &trace;
26172 trace.file = LOCATE_parser;
26173 variable[0] = self;
26174 variable[1] = param0;
26175 variable[3] = NIT_NULL /*null*/;
26176 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26177 variable[4] = variable[5];
26178 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26179 variable[5] = variable[6];
26180 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26181 variable[6] = variable[7];
26182 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26183 variable[7] = variable[8];
26184 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26185 variable[8] = variable[9];
26186 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26187 variable[9] = variable[10];
26188 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26189 variable[10] = variable[11];
26190 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26191 variable[11] = variable[12];
26192 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26193 variable[12] = variable[13];
26194 variable[13] = variable[12] /*nodearraylist1*/;
26195 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
26196 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction307___action, LOCATE_parser, 16375); nit_exit(1);}
26197 variable[14] = variable[11] /*nodearraylist2*/;
26198 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
26199 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction307___action, LOCATE_parser, 16377); nit_exit(1);}
26200 variable[15] = variable[10] /*nodearraylist3*/;
26201 variable[16] = TAG_Bool(( variable[15] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
26202 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction307___action, LOCATE_parser, 16379); nit_exit(1);}
26203 variable[16] = variable[9] /*nodearraylist4*/;
26204 variable[17] = TAG_Bool(( variable[16] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[16] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
26205 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction307___action, LOCATE_parser, 16381); nit_exit(1);}
26206 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
26207 variable[17] = variable[18];
26208 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
26209 variable[18] = variable[19];
26210 variable[19] = variable[8] /*nodearraylist5*/;
26211 variable[20] = TAG_Bool(( variable[19] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[19] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
26212 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction307___action, LOCATE_parser, 16385); nit_exit(1);}
26213 variable[20] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[19] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[19] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[19] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[19] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
26214 if (UNTAG_Bool(variable[20])) { /*if*/
26215 variable[20] = ((array___AbstractArray___is_empty_t)CALL( variable[17] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[17] /*listnode9*/) /*AbstractArray::is_empty*/;
26216 if (UNTAG_Bool(variable[20])) { /*if*/
26217 variable[17] = variable[19] /*listnode8*/ /*listnode9=*/;
26218 } else { /*if*/
26219 ((abstract_collection___IndexedCollection___append_t)CALL( variable[17] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[17] /*listnode9*/, variable[19] /*listnode8*/) /*IndexedCollection::append*/;
26220 }
26221 }
26222 variable[21] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[17] /*listnode9*/, NIT_NULL /*null*/, variable[18] /*listnode11*/); /*new ASignature*/
26223 variable[20] = variable[21];
26224 variable[21] = variable[5] /*nodearraylist8*/;
26225 variable[22] = TAG_Bool(( variable[21] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[21] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26226 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction307___action, LOCATE_parser, 16399); nit_exit(1);}
26227 variable[23] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[13] /*pdocnode2*/, NIT_NULL /*null*/, variable[14] /*pvisibilitynode4*/, variable[15] /*tkwinitnode5*/, variable[16] /*pmethidnode6*/, variable[20] /*psignaturenode7*/, variable[21] /*pexprnode12*/); /*new AConcreteInitPropdef*/
26228 variable[22] = variable[23];
26229 variable[3] = variable[22] /*ppropdefnode1*/ /*node_list=*/;
26230 variable[23] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
26231 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[23], variable[3] /*node_list*/) /*Parser::push*/;
26232 return_label646: while(false);
26233 tracehead = trace.prev;
26234 return;
26235 }
26236 void parser___ReduceAction307___init(val_t self, int* init_table) {
26237 struct trace_t trace = {NULL, NULL, 16412, LOCATE_parser___ReduceAction307___init};
26238 val_t variable[2];
26239 void **closurevariable = NULL;
26240 trace.prev = tracehead; tracehead = &trace;
26241 trace.file = LOCATE_parser;
26242 variable[0] = self;
26243 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction307].i]) return;
26244 return_label647: while(false);
26245 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction307].i] = 1;
26246 tracehead = trace.prev;
26247 return;
26248 }
26249 void parser___ReduceAction308___action(val_t self, val_t param0) {
26250 struct trace_t trace = {NULL, NULL, 16416, LOCATE_parser___ReduceAction308___action};
26251 val_t variable[24];
26252 void **closurevariable = NULL;
26253 trace.prev = tracehead; tracehead = &trace;
26254 trace.file = LOCATE_parser;
26255 variable[0] = self;
26256 variable[1] = param0;
26257 variable[3] = NIT_NULL /*null*/;
26258 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26259 variable[4] = variable[5];
26260 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26261 variable[5] = variable[6];
26262 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26263 variable[6] = variable[7];
26264 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26265 variable[7] = variable[8];
26266 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26267 variable[8] = variable[9];
26268 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26269 variable[9] = variable[10];
26270 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26271 variable[10] = variable[11];
26272 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26273 variable[11] = variable[12];
26274 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26275 variable[12] = variable[13];
26276 variable[13] = variable[12] /*nodearraylist1*/;
26277 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
26278 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction308___action, LOCATE_parser, 16429); nit_exit(1);}
26279 variable[14] = variable[11] /*nodearraylist2*/;
26280 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
26281 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction308___action, LOCATE_parser, 16431); nit_exit(1);}
26282 variable[15] = variable[10] /*nodearraylist3*/;
26283 variable[16] = TAG_Bool(( variable[15] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
26284 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction308___action, LOCATE_parser, 16433); nit_exit(1);}
26285 variable[16] = variable[9] /*nodearraylist4*/;
26286 variable[17] = TAG_Bool(( variable[16] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[16] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
26287 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction308___action, LOCATE_parser, 16435); nit_exit(1);}
26288 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
26289 variable[17] = variable[18];
26290 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
26291 variable[18] = variable[19];
26292 variable[19] = variable[8] /*nodearraylist5*/;
26293 variable[20] = TAG_Bool(( variable[19] /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable[19] /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
26294 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction308___action, LOCATE_parser, 16439); nit_exit(1);}
26295 variable[21] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[17] /*listnode8*/, variable[19] /*ptypenode9*/, variable[18] /*listnode10*/); /*new ASignature*/
26296 variable[20] = variable[21];
26297 variable[21] = variable[5] /*nodearraylist8*/;
26298 variable[22] = TAG_Bool(( variable[21] /*pexprnode11*/==NIT_NULL) || VAL_ISA( variable[21] /*pexprnode11*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26299 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction308___action, LOCATE_parser, 16446); nit_exit(1);}
26300 variable[23] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[13] /*pdocnode2*/, NIT_NULL /*null*/, variable[14] /*pvisibilitynode4*/, variable[15] /*tkwinitnode5*/, variable[16] /*pmethidnode6*/, variable[20] /*psignaturenode7*/, variable[21] /*pexprnode11*/); /*new AConcreteInitPropdef*/
26301 variable[22] = variable[23];
26302 variable[3] = variable[22] /*ppropdefnode1*/ /*node_list=*/;
26303 variable[23] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
26304 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[23], variable[3] /*node_list*/) /*Parser::push*/;
26305 return_label648: while(false);
26306 tracehead = trace.prev;
26307 return;
26308 }
26309 void parser___ReduceAction308___init(val_t self, int* init_table) {
26310 struct trace_t trace = {NULL, NULL, 16459, LOCATE_parser___ReduceAction308___init};
26311 val_t variable[2];
26312 void **closurevariable = NULL;
26313 trace.prev = tracehead; tracehead = &trace;
26314 trace.file = LOCATE_parser;
26315 variable[0] = self;
26316 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction308].i]) return;
26317 return_label649: while(false);
26318 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction308].i] = 1;
26319 tracehead = trace.prev;
26320 return;
26321 }
26322 void parser___ReduceAction309___action(val_t self, val_t param0) {
26323 struct trace_t trace = {NULL, NULL, 16463, LOCATE_parser___ReduceAction309___action};
26324 val_t variable[26];
26325 void **closurevariable = NULL;
26326 trace.prev = tracehead; tracehead = &trace;
26327 trace.file = LOCATE_parser;
26328 variable[0] = self;
26329 variable[1] = param0;
26330 variable[3] = NIT_NULL /*null*/;
26331 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26332 variable[4] = variable[5];
26333 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26334 variable[5] = variable[6];
26335 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26336 variable[6] = variable[7];
26337 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26338 variable[7] = variable[8];
26339 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26340 variable[8] = variable[9];
26341 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26342 variable[9] = variable[10];
26343 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26344 variable[10] = variable[11];
26345 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26346 variable[11] = variable[12];
26347 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26348 variable[12] = variable[13];
26349 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26350 variable[13] = variable[14];
26351 variable[14] = variable[13] /*nodearraylist1*/;
26352 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
26353 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction309___action, LOCATE_parser, 16477); nit_exit(1);}
26354 variable[15] = variable[12] /*nodearraylist2*/;
26355 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
26356 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction309___action, LOCATE_parser, 16479); nit_exit(1);}
26357 variable[16] = variable[11] /*nodearraylist3*/;
26358 variable[17] = TAG_Bool(( variable[16] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
26359 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction309___action, LOCATE_parser, 16481); nit_exit(1);}
26360 variable[17] = variable[10] /*nodearraylist4*/;
26361 variable[18] = TAG_Bool(( variable[17] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[17] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
26362 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction309___action, LOCATE_parser, 16483); nit_exit(1);}
26363 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
26364 variable[18] = variable[19];
26365 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
26366 variable[19] = variable[20];
26367 variable[20] = variable[9] /*nodearraylist5*/;
26368 variable[21] = TAG_Bool(( variable[20] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[20] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
26369 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction309___action, LOCATE_parser, 16487); nit_exit(1);}
26370 variable[21] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[20] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[20] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[20] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[20] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
26371 if (UNTAG_Bool(variable[21])) { /*if*/
26372 variable[21] = ((array___AbstractArray___is_empty_t)CALL( variable[18] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[18] /*listnode9*/) /*AbstractArray::is_empty*/;
26373 if (UNTAG_Bool(variable[21])) { /*if*/
26374 variable[18] = variable[20] /*listnode8*/ /*listnode9=*/;
26375 } else { /*if*/
26376 ((abstract_collection___IndexedCollection___append_t)CALL( variable[18] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[18] /*listnode9*/, variable[20] /*listnode8*/) /*IndexedCollection::append*/;
26377 }
26378 }
26379 variable[21] = variable[8] /*nodearraylist6*/;
26380 variable[22] = TAG_Bool(( variable[21] /*ptypenode10*/==NIT_NULL) || VAL_ISA( variable[21] /*ptypenode10*/, COLOR_PType, ID_PType)) /*cast PType*/;
26381 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction309___action, LOCATE_parser, 16496); nit_exit(1);}
26382 variable[23] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[18] /*listnode9*/, variable[21] /*ptypenode10*/, variable[19] /*listnode11*/); /*new ASignature*/
26383 variable[22] = variable[23];
26384 variable[23] = variable[5] /*nodearraylist9*/;
26385 variable[24] = TAG_Bool(( variable[23] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[23] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26386 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction309___action, LOCATE_parser, 16503); nit_exit(1);}
26387 variable[25] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[14] /*pdocnode2*/, NIT_NULL /*null*/, variable[15] /*pvisibilitynode4*/, variable[16] /*tkwinitnode5*/, variable[17] /*pmethidnode6*/, variable[22] /*psignaturenode7*/, variable[23] /*pexprnode12*/); /*new AConcreteInitPropdef*/
26388 variable[24] = variable[25];
26389 variable[3] = variable[24] /*ppropdefnode1*/ /*node_list=*/;
26390 variable[25] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
26391 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[25], variable[3] /*node_list*/) /*Parser::push*/;
26392 return_label650: while(false);
26393 tracehead = trace.prev;
26394 return;
26395 }
26396 void parser___ReduceAction309___init(val_t self, int* init_table) {
26397 struct trace_t trace = {NULL, NULL, 16516, LOCATE_parser___ReduceAction309___init};
26398 val_t variable[2];
26399 void **closurevariable = NULL;
26400 trace.prev = tracehead; tracehead = &trace;
26401 trace.file = LOCATE_parser;
26402 variable[0] = self;
26403 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction309].i]) return;
26404 return_label651: while(false);
26405 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction309].i] = 1;
26406 tracehead = trace.prev;
26407 return;
26408 }
26409 void parser___ReduceAction310___action(val_t self, val_t param0) {
26410 struct trace_t trace = {NULL, NULL, 16520, LOCATE_parser___ReduceAction310___action};
26411 val_t variable[24];
26412 void **closurevariable = NULL;
26413 trace.prev = tracehead; tracehead = &trace;
26414 trace.file = LOCATE_parser;
26415 variable[0] = self;
26416 variable[1] = param0;
26417 variable[3] = NIT_NULL /*null*/;
26418 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26419 variable[4] = variable[5];
26420 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26421 variable[5] = variable[6];
26422 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26423 variable[6] = variable[7];
26424 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26425 variable[7] = variable[8];
26426 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26427 variable[8] = variable[9];
26428 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26429 variable[9] = variable[10];
26430 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26431 variable[10] = variable[11];
26432 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26433 variable[11] = variable[12];
26434 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26435 variable[12] = variable[13];
26436 variable[13] = variable[12] /*nodearraylist1*/;
26437 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
26438 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction310___action, LOCATE_parser, 16533); nit_exit(1);}
26439 variable[14] = variable[11] /*nodearraylist2*/;
26440 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
26441 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction310___action, LOCATE_parser, 16535); nit_exit(1);}
26442 variable[15] = variable[10] /*nodearraylist3*/;
26443 variable[16] = TAG_Bool(( variable[15] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
26444 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction310___action, LOCATE_parser, 16537); nit_exit(1);}
26445 variable[16] = variable[9] /*nodearraylist4*/;
26446 variable[17] = TAG_Bool(( variable[16] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[16] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
26447 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction310___action, LOCATE_parser, 16539); nit_exit(1);}
26448 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
26449 variable[17] = variable[18];
26450 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
26451 variable[18] = variable[19];
26452 variable[19] = variable[8] /*nodearraylist5*/;
26453 variable[20] = TAG_Bool(( variable[19] /*listnode10*/==NIT_NULL) || VAL_ISA( variable[19] /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
26454 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction310___action, LOCATE_parser, 16543); nit_exit(1);}
26455 variable[20] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[19] /*listnode10*/ == NIT_NULL /*null*/) || (( variable[19] /*listnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[19] /*listnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode10*/,COLOR_kernel___Object_____eqeq))( variable[19] /*listnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
26456 if (UNTAG_Bool(variable[20])) { /*if*/
26457 variable[20] = ((array___AbstractArray___is_empty_t)CALL( variable[18] /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable[18] /*listnode11*/) /*AbstractArray::is_empty*/;
26458 if (UNTAG_Bool(variable[20])) { /*if*/
26459 variable[18] = variable[19] /*listnode10*/ /*listnode11=*/;
26460 } else { /*if*/
26461 ((abstract_collection___IndexedCollection___append_t)CALL( variable[18] /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable[18] /*listnode11*/, variable[19] /*listnode10*/) /*IndexedCollection::append*/;
26462 }
26463 }
26464 variable[21] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[17] /*listnode8*/, NIT_NULL /*null*/, variable[18] /*listnode11*/); /*new ASignature*/
26465 variable[20] = variable[21];
26466 variable[21] = variable[5] /*nodearraylist8*/;
26467 variable[22] = TAG_Bool(( variable[21] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[21] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26468 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction310___action, LOCATE_parser, 16557); nit_exit(1);}
26469 variable[23] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[13] /*pdocnode2*/, NIT_NULL /*null*/, variable[14] /*pvisibilitynode4*/, variable[15] /*tkwinitnode5*/, variable[16] /*pmethidnode6*/, variable[20] /*psignaturenode7*/, variable[21] /*pexprnode12*/); /*new AConcreteInitPropdef*/
26470 variable[22] = variable[23];
26471 variable[3] = variable[22] /*ppropdefnode1*/ /*node_list=*/;
26472 variable[23] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
26473 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[23], variable[3] /*node_list*/) /*Parser::push*/;
26474 return_label652: while(false);
26475 tracehead = trace.prev;
26476 return;
26477 }
26478 void parser___ReduceAction310___init(val_t self, int* init_table) {
26479 struct trace_t trace = {NULL, NULL, 16570, LOCATE_parser___ReduceAction310___init};
26480 val_t variable[2];
26481 void **closurevariable = NULL;
26482 trace.prev = tracehead; tracehead = &trace;
26483 trace.file = LOCATE_parser;
26484 variable[0] = self;
26485 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction310].i]) return;
26486 return_label653: while(false);
26487 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction310].i] = 1;
26488 tracehead = trace.prev;
26489 return;
26490 }
26491 void parser___ReduceAction311___action(val_t self, val_t param0) {
26492 struct trace_t trace = {NULL, NULL, 16574, LOCATE_parser___ReduceAction311___action};
26493 val_t variable[26];
26494 void **closurevariable = NULL;
26495 trace.prev = tracehead; tracehead = &trace;
26496 trace.file = LOCATE_parser;
26497 variable[0] = self;
26498 variable[1] = param0;
26499 variable[3] = NIT_NULL /*null*/;
26500 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26501 variable[4] = variable[5];
26502 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26503 variable[5] = variable[6];
26504 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26505 variable[6] = variable[7];
26506 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26507 variable[7] = variable[8];
26508 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26509 variable[8] = variable[9];
26510 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26511 variable[9] = variable[10];
26512 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26513 variable[10] = variable[11];
26514 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26515 variable[11] = variable[12];
26516 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26517 variable[12] = variable[13];
26518 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26519 variable[13] = variable[14];
26520 variable[14] = variable[13] /*nodearraylist1*/;
26521 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
26522 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction311___action, LOCATE_parser, 16588); nit_exit(1);}
26523 variable[15] = variable[12] /*nodearraylist2*/;
26524 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
26525 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction311___action, LOCATE_parser, 16590); nit_exit(1);}
26526 variable[16] = variable[11] /*nodearraylist3*/;
26527 variable[17] = TAG_Bool(( variable[16] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
26528 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction311___action, LOCATE_parser, 16592); nit_exit(1);}
26529 variable[17] = variable[10] /*nodearraylist4*/;
26530 variable[18] = TAG_Bool(( variable[17] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[17] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
26531 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction311___action, LOCATE_parser, 16594); nit_exit(1);}
26532 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
26533 variable[18] = variable[19];
26534 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
26535 variable[19] = variable[20];
26536 variable[20] = variable[9] /*nodearraylist5*/;
26537 variable[21] = TAG_Bool(( variable[20] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[20] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
26538 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction311___action, LOCATE_parser, 16598); nit_exit(1);}
26539 variable[21] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[20] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[20] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[20] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[20] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
26540 if (UNTAG_Bool(variable[21])) { /*if*/
26541 variable[21] = ((array___AbstractArray___is_empty_t)CALL( variable[18] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[18] /*listnode9*/) /*AbstractArray::is_empty*/;
26542 if (UNTAG_Bool(variable[21])) { /*if*/
26543 variable[18] = variable[20] /*listnode8*/ /*listnode9=*/;
26544 } else { /*if*/
26545 ((abstract_collection___IndexedCollection___append_t)CALL( variable[18] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[18] /*listnode9*/, variable[20] /*listnode8*/) /*IndexedCollection::append*/;
26546 }
26547 }
26548 variable[21] = variable[8] /*nodearraylist6*/;
26549 variable[22] = TAG_Bool(( variable[21] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[21] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
26550 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction311___action, LOCATE_parser, 16607); nit_exit(1);}
26551 variable[22] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[21] /*listnode11*/ == NIT_NULL /*null*/) || (( variable[21] /*listnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[21] /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable[21] /*listnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
26552 if (UNTAG_Bool(variable[22])) { /*if*/
26553 variable[22] = ((array___AbstractArray___is_empty_t)CALL( variable[19] /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable[19] /*listnode12*/) /*AbstractArray::is_empty*/;
26554 if (UNTAG_Bool(variable[22])) { /*if*/
26555 variable[19] = variable[21] /*listnode11*/ /*listnode12=*/;
26556 } else { /*if*/
26557 ((abstract_collection___IndexedCollection___append_t)CALL( variable[19] /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable[19] /*listnode12*/, variable[21] /*listnode11*/) /*IndexedCollection::append*/;
26558 }
26559 }
26560 variable[23] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[18] /*listnode9*/, NIT_NULL /*null*/, variable[19] /*listnode12*/); /*new ASignature*/
26561 variable[22] = variable[23];
26562 variable[23] = variable[5] /*nodearraylist9*/;
26563 variable[24] = TAG_Bool(( variable[23] /*pexprnode13*/==NIT_NULL) || VAL_ISA( variable[23] /*pexprnode13*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26564 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction311___action, LOCATE_parser, 16621); nit_exit(1);}
26565 variable[25] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[14] /*pdocnode2*/, NIT_NULL /*null*/, variable[15] /*pvisibilitynode4*/, variable[16] /*tkwinitnode5*/, variable[17] /*pmethidnode6*/, variable[22] /*psignaturenode7*/, variable[23] /*pexprnode13*/); /*new AConcreteInitPropdef*/
26566 variable[24] = variable[25];
26567 variable[3] = variable[24] /*ppropdefnode1*/ /*node_list=*/;
26568 variable[25] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
26569 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[25], variable[3] /*node_list*/) /*Parser::push*/;
26570 return_label654: while(false);
26571 tracehead = trace.prev;
26572 return;
26573 }
26574 void parser___ReduceAction311___init(val_t self, int* init_table) {
26575 struct trace_t trace = {NULL, NULL, 16634, LOCATE_parser___ReduceAction311___init};
26576 val_t variable[2];
26577 void **closurevariable = NULL;
26578 trace.prev = tracehead; tracehead = &trace;
26579 trace.file = LOCATE_parser;
26580 variable[0] = self;
26581 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction311].i]) return;
26582 return_label655: while(false);
26583 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction311].i] = 1;
26584 tracehead = trace.prev;
26585 return;
26586 }
26587 void parser___ReduceAction312___action(val_t self, val_t param0) {
26588 struct trace_t trace = {NULL, NULL, 16638, LOCATE_parser___ReduceAction312___action};
26589 val_t variable[26];
26590 void **closurevariable = NULL;
26591 trace.prev = tracehead; tracehead = &trace;
26592 trace.file = LOCATE_parser;
26593 variable[0] = self;
26594 variable[1] = param0;
26595 variable[3] = NIT_NULL /*null*/;
26596 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26597 variable[4] = variable[5];
26598 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26599 variable[5] = variable[6];
26600 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26601 variable[6] = variable[7];
26602 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26603 variable[7] = variable[8];
26604 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26605 variable[8] = variable[9];
26606 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26607 variable[9] = variable[10];
26608 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26609 variable[10] = variable[11];
26610 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26611 variable[11] = variable[12];
26612 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26613 variable[12] = variable[13];
26614 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26615 variable[13] = variable[14];
26616 variable[14] = variable[13] /*nodearraylist1*/;
26617 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
26618 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction312___action, LOCATE_parser, 16652); nit_exit(1);}
26619 variable[15] = variable[12] /*nodearraylist2*/;
26620 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
26621 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction312___action, LOCATE_parser, 16654); nit_exit(1);}
26622 variable[16] = variable[11] /*nodearraylist3*/;
26623 variable[17] = TAG_Bool(( variable[16] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
26624 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction312___action, LOCATE_parser, 16656); nit_exit(1);}
26625 variable[17] = variable[10] /*nodearraylist4*/;
26626 variable[18] = TAG_Bool(( variable[17] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[17] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
26627 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction312___action, LOCATE_parser, 16658); nit_exit(1);}
26628 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
26629 variable[18] = variable[19];
26630 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
26631 variable[19] = variable[20];
26632 variable[20] = variable[9] /*nodearraylist5*/;
26633 variable[21] = TAG_Bool(( variable[20] /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable[20] /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
26634 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction312___action, LOCATE_parser, 16662); nit_exit(1);}
26635 variable[21] = variable[8] /*nodearraylist6*/;
26636 variable[22] = TAG_Bool(( variable[21] /*listnode10*/==NIT_NULL) || VAL_ISA( variable[21] /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
26637 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction312___action, LOCATE_parser, 16664); nit_exit(1);}
26638 variable[22] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[21] /*listnode10*/ == NIT_NULL /*null*/) || (( variable[21] /*listnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[21] /*listnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode10*/,COLOR_kernel___Object_____eqeq))( variable[21] /*listnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
26639 if (UNTAG_Bool(variable[22])) { /*if*/
26640 variable[22] = ((array___AbstractArray___is_empty_t)CALL( variable[19] /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable[19] /*listnode11*/) /*AbstractArray::is_empty*/;
26641 if (UNTAG_Bool(variable[22])) { /*if*/
26642 variable[19] = variable[21] /*listnode10*/ /*listnode11=*/;
26643 } else { /*if*/
26644 ((abstract_collection___IndexedCollection___append_t)CALL( variable[19] /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable[19] /*listnode11*/, variable[21] /*listnode10*/) /*IndexedCollection::append*/;
26645 }
26646 }
26647 variable[23] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[18] /*listnode8*/, variable[20] /*ptypenode9*/, variable[19] /*listnode11*/); /*new ASignature*/
26648 variable[22] = variable[23];
26649 variable[23] = variable[5] /*nodearraylist9*/;
26650 variable[24] = TAG_Bool(( variable[23] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[23] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26651 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction312___action, LOCATE_parser, 16678); nit_exit(1);}
26652 variable[25] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[14] /*pdocnode2*/, NIT_NULL /*null*/, variable[15] /*pvisibilitynode4*/, variable[16] /*tkwinitnode5*/, variable[17] /*pmethidnode6*/, variable[22] /*psignaturenode7*/, variable[23] /*pexprnode12*/); /*new AConcreteInitPropdef*/
26653 variable[24] = variable[25];
26654 variable[3] = variable[24] /*ppropdefnode1*/ /*node_list=*/;
26655 variable[25] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
26656 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[25], variable[3] /*node_list*/) /*Parser::push*/;
26657 return_label656: while(false);
26658 tracehead = trace.prev;
26659 return;
26660 }
26661 void parser___ReduceAction312___init(val_t self, int* init_table) {
26662 struct trace_t trace = {NULL, NULL, 16691, LOCATE_parser___ReduceAction312___init};
26663 val_t variable[2];
26664 void **closurevariable = NULL;
26665 trace.prev = tracehead; tracehead = &trace;
26666 trace.file = LOCATE_parser;
26667 variable[0] = self;
26668 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction312].i]) return;
26669 return_label657: while(false);
26670 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction312].i] = 1;
26671 tracehead = trace.prev;
26672 return;
26673 }
26674 void parser___ReduceAction313___action(val_t self, val_t param0) {
26675 struct trace_t trace = {NULL, NULL, 16695, LOCATE_parser___ReduceAction313___action};
26676 val_t variable[28];
26677 void **closurevariable = NULL;
26678 trace.prev = tracehead; tracehead = &trace;
26679 trace.file = LOCATE_parser;
26680 variable[0] = self;
26681 variable[1] = param0;
26682 variable[3] = NIT_NULL /*null*/;
26683 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26684 variable[4] = variable[5];
26685 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26686 variable[5] = variable[6];
26687 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26688 variable[6] = variable[7];
26689 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26690 variable[7] = variable[8];
26691 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26692 variable[8] = variable[9];
26693 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26694 variable[9] = variable[10];
26695 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26696 variable[10] = variable[11];
26697 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26698 variable[11] = variable[12];
26699 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26700 variable[12] = variable[13];
26701 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26702 variable[13] = variable[14];
26703 variable[15] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26704 variable[14] = variable[15];
26705 variable[15] = variable[14] /*nodearraylist1*/;
26706 variable[16] = TAG_Bool(( variable[15] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
26707 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction313___action, LOCATE_parser, 16710); nit_exit(1);}
26708 variable[16] = variable[13] /*nodearraylist2*/;
26709 variable[17] = TAG_Bool(( variable[16] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[16] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
26710 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction313___action, LOCATE_parser, 16712); nit_exit(1);}
26711 variable[17] = variable[12] /*nodearraylist3*/;
26712 variable[18] = TAG_Bool(( variable[17] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
26713 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction313___action, LOCATE_parser, 16714); nit_exit(1);}
26714 variable[18] = variable[11] /*nodearraylist4*/;
26715 variable[19] = TAG_Bool(( variable[18] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[18] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
26716 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction313___action, LOCATE_parser, 16716); nit_exit(1);}
26717 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
26718 variable[19] = variable[20];
26719 variable[21] = NEW_Array_array___Array___init(); /*new Array[Object]*/
26720 variable[20] = variable[21];
26721 variable[21] = variable[10] /*nodearraylist5*/;
26722 variable[22] = TAG_Bool(( variable[21] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[21] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
26723 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction313___action, LOCATE_parser, 16720); nit_exit(1);}
26724 variable[22] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[21] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[21] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[21] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[21] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
26725 if (UNTAG_Bool(variable[22])) { /*if*/
26726 variable[22] = ((array___AbstractArray___is_empty_t)CALL( variable[19] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[19] /*listnode9*/) /*AbstractArray::is_empty*/;
26727 if (UNTAG_Bool(variable[22])) { /*if*/
26728 variable[19] = variable[21] /*listnode8*/ /*listnode9=*/;
26729 } else { /*if*/
26730 ((abstract_collection___IndexedCollection___append_t)CALL( variable[19] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[19] /*listnode9*/, variable[21] /*listnode8*/) /*IndexedCollection::append*/;
26731 }
26732 }
26733 variable[22] = variable[9] /*nodearraylist6*/;
26734 variable[23] = TAG_Bool(( variable[22] /*ptypenode10*/==NIT_NULL) || VAL_ISA( variable[22] /*ptypenode10*/, COLOR_PType, ID_PType)) /*cast PType*/;
26735 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction313___action, LOCATE_parser, 16729); nit_exit(1);}
26736 variable[23] = variable[8] /*nodearraylist7*/;
26737 variable[24] = TAG_Bool(( variable[23] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[23] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
26738 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction313___action, LOCATE_parser, 16731); nit_exit(1);}
26739 variable[24] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[23] /*listnode11*/ == NIT_NULL /*null*/) || (( variable[23] /*listnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[23] /*listnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[23] /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[23] /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable[23] /*listnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
26740 if (UNTAG_Bool(variable[24])) { /*if*/
26741 variable[24] = ((array___AbstractArray___is_empty_t)CALL( variable[20] /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable[20] /*listnode12*/) /*AbstractArray::is_empty*/;
26742 if (UNTAG_Bool(variable[24])) { /*if*/
26743 variable[20] = variable[23] /*listnode11*/ /*listnode12=*/;
26744 } else { /*if*/
26745 ((abstract_collection___IndexedCollection___append_t)CALL( variable[20] /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable[20] /*listnode12*/, variable[23] /*listnode11*/) /*IndexedCollection::append*/;
26746 }
26747 }
26748 variable[25] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[19] /*listnode9*/, variable[22] /*ptypenode10*/, variable[20] /*listnode12*/); /*new ASignature*/
26749 variable[24] = variable[25];
26750 variable[25] = variable[5] /*nodearraylist10*/;
26751 variable[26] = TAG_Bool(( variable[25] /*pexprnode13*/==NIT_NULL) || VAL_ISA( variable[25] /*pexprnode13*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26752 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction313___action, LOCATE_parser, 16745); nit_exit(1);}
26753 variable[27] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[15] /*pdocnode2*/, NIT_NULL /*null*/, variable[16] /*pvisibilitynode4*/, variable[17] /*tkwinitnode5*/, variable[18] /*pmethidnode6*/, variable[24] /*psignaturenode7*/, variable[25] /*pexprnode13*/); /*new AConcreteInitPropdef*/
26754 variable[26] = variable[27];
26755 variable[3] = variable[26] /*ppropdefnode1*/ /*node_list=*/;
26756 variable[27] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
26757 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[27], variable[3] /*node_list*/) /*Parser::push*/;
26758 return_label658: while(false);
26759 tracehead = trace.prev;
26760 return;
26761 }
26762 void parser___ReduceAction313___init(val_t self, int* init_table) {
26763 struct trace_t trace = {NULL, NULL, 16758, LOCATE_parser___ReduceAction313___init};
26764 val_t variable[2];
26765 void **closurevariable = NULL;
26766 trace.prev = tracehead; tracehead = &trace;
26767 trace.file = LOCATE_parser;
26768 variable[0] = self;
26769 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction313].i]) return;
26770 return_label659: while(false);
26771 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction313].i] = 1;
26772 tracehead = trace.prev;
26773 return;
26774 }
26775 void parser___ReduceAction314___action(val_t self, val_t param0) {
26776 struct trace_t trace = {NULL, NULL, 16762, LOCATE_parser___ReduceAction314___action};
26777 val_t variable[24];
26778 void **closurevariable = NULL;
26779 trace.prev = tracehead; tracehead = &trace;
26780 trace.file = LOCATE_parser;
26781 variable[0] = self;
26782 variable[1] = param0;
26783 variable[3] = NIT_NULL /*null*/;
26784 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26785 variable[4] = variable[5];
26786 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26787 variable[5] = variable[6];
26788 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26789 variable[6] = variable[7];
26790 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26791 variable[7] = variable[8];
26792 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26793 variable[8] = variable[9];
26794 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26795 variable[9] = variable[10];
26796 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26797 variable[10] = variable[11];
26798 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26799 variable[11] = variable[12];
26800 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26801 variable[12] = variable[13];
26802 variable[13] = variable[12] /*nodearraylist1*/;
26803 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
26804 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction314___action, LOCATE_parser, 16775); nit_exit(1);}
26805 variable[14] = variable[11] /*nodearraylist2*/;
26806 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
26807 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction314___action, LOCATE_parser, 16777); nit_exit(1);}
26808 variable[15] = variable[10] /*nodearraylist3*/;
26809 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
26810 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction314___action, LOCATE_parser, 16779); nit_exit(1);}
26811 variable[16] = variable[9] /*nodearraylist4*/;
26812 variable[17] = TAG_Bool(( variable[16] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
26813 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction314___action, LOCATE_parser, 16781); nit_exit(1);}
26814 variable[17] = variable[8] /*nodearraylist5*/;
26815 variable[18] = TAG_Bool(( variable[17] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[17] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
26816 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction314___action, LOCATE_parser, 16783); nit_exit(1);}
26817 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
26818 variable[18] = variable[19];
26819 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
26820 variable[19] = variable[20];
26821 variable[21] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[18] /*listnode8*/, NIT_NULL /*null*/, variable[19] /*listnode10*/); /*new ASignature*/
26822 variable[20] = variable[21];
26823 variable[21] = variable[5] /*nodearraylist8*/;
26824 variable[22] = TAG_Bool(( variable[21] /*pexprnode11*/==NIT_NULL) || VAL_ISA( variable[21] /*pexprnode11*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26825 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction314___action, LOCATE_parser, 16792); nit_exit(1);}
26826 variable[23] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[13] /*pdocnode2*/, variable[14] /*tkwredefnode3*/, variable[15] /*pvisibilitynode4*/, variable[16] /*tkwinitnode5*/, variable[17] /*pmethidnode6*/, variable[20] /*psignaturenode7*/, variable[21] /*pexprnode11*/); /*new AConcreteInitPropdef*/
26827 variable[22] = variable[23];
26828 variable[3] = variable[22] /*ppropdefnode1*/ /*node_list=*/;
26829 variable[23] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
26830 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[23], variable[3] /*node_list*/) /*Parser::push*/;
26831 return_label660: while(false);
26832 tracehead = trace.prev;
26833 return;
26834 }
26835 void parser___ReduceAction314___init(val_t self, int* init_table) {
26836 struct trace_t trace = {NULL, NULL, 16805, LOCATE_parser___ReduceAction314___init};
26837 val_t variable[2];
26838 void **closurevariable = NULL;
26839 trace.prev = tracehead; tracehead = &trace;
26840 trace.file = LOCATE_parser;
26841 variable[0] = self;
26842 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction314].i]) return;
26843 return_label661: while(false);
26844 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction314].i] = 1;
26845 tracehead = trace.prev;
26846 return;
26847 }
26848 void parser___ReduceAction315___action(val_t self, val_t param0) {
26849 struct trace_t trace = {NULL, NULL, 16809, LOCATE_parser___ReduceAction315___action};
26850 val_t variable[26];
26851 void **closurevariable = NULL;
26852 trace.prev = tracehead; tracehead = &trace;
26853 trace.file = LOCATE_parser;
26854 variable[0] = self;
26855 variable[1] = param0;
26856 variable[3] = NIT_NULL /*null*/;
26857 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26858 variable[4] = variable[5];
26859 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26860 variable[5] = variable[6];
26861 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26862 variable[6] = variable[7];
26863 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26864 variable[7] = variable[8];
26865 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26866 variable[8] = variable[9];
26867 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26868 variable[9] = variable[10];
26869 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26870 variable[10] = variable[11];
26871 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26872 variable[11] = variable[12];
26873 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26874 variable[12] = variable[13];
26875 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26876 variable[13] = variable[14];
26877 variable[14] = variable[13] /*nodearraylist1*/;
26878 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
26879 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction315___action, LOCATE_parser, 16823); nit_exit(1);}
26880 variable[15] = variable[12] /*nodearraylist2*/;
26881 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
26882 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction315___action, LOCATE_parser, 16825); nit_exit(1);}
26883 variable[16] = variable[11] /*nodearraylist3*/;
26884 variable[17] = TAG_Bool(( variable[16] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[16] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
26885 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction315___action, LOCATE_parser, 16827); nit_exit(1);}
26886 variable[17] = variable[10] /*nodearraylist4*/;
26887 variable[18] = TAG_Bool(( variable[17] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
26888 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction315___action, LOCATE_parser, 16829); nit_exit(1);}
26889 variable[18] = variable[9] /*nodearraylist5*/;
26890 variable[19] = TAG_Bool(( variable[18] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[18] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
26891 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction315___action, LOCATE_parser, 16831); nit_exit(1);}
26892 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
26893 variable[19] = variable[20];
26894 variable[21] = NEW_Array_array___Array___init(); /*new Array[Object]*/
26895 variable[20] = variable[21];
26896 variable[21] = variable[8] /*nodearraylist6*/;
26897 variable[22] = TAG_Bool(( variable[21] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[21] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
26898 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction315___action, LOCATE_parser, 16835); nit_exit(1);}
26899 variable[22] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[21] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[21] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[21] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[21] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
26900 if (UNTAG_Bool(variable[22])) { /*if*/
26901 variable[22] = ((array___AbstractArray___is_empty_t)CALL( variable[19] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[19] /*listnode9*/) /*AbstractArray::is_empty*/;
26902 if (UNTAG_Bool(variable[22])) { /*if*/
26903 variable[19] = variable[21] /*listnode8*/ /*listnode9=*/;
26904 } else { /*if*/
26905 ((abstract_collection___IndexedCollection___append_t)CALL( variable[19] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[19] /*listnode9*/, variable[21] /*listnode8*/) /*IndexedCollection::append*/;
26906 }
26907 }
26908 variable[23] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[19] /*listnode9*/, NIT_NULL /*null*/, variable[20] /*listnode11*/); /*new ASignature*/
26909 variable[22] = variable[23];
26910 variable[23] = variable[5] /*nodearraylist9*/;
26911 variable[24] = TAG_Bool(( variable[23] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[23] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26912 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction315___action, LOCATE_parser, 16849); nit_exit(1);}
26913 variable[25] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[14] /*pdocnode2*/, variable[15] /*tkwredefnode3*/, variable[16] /*pvisibilitynode4*/, variable[17] /*tkwinitnode5*/, variable[18] /*pmethidnode6*/, variable[22] /*psignaturenode7*/, variable[23] /*pexprnode12*/); /*new AConcreteInitPropdef*/
26914 variable[24] = variable[25];
26915 variable[3] = variable[24] /*ppropdefnode1*/ /*node_list=*/;
26916 variable[25] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
26917 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[25], variable[3] /*node_list*/) /*Parser::push*/;
26918 return_label662: while(false);
26919 tracehead = trace.prev;
26920 return;
26921 }
26922 void parser___ReduceAction315___init(val_t self, int* init_table) {
26923 struct trace_t trace = {NULL, NULL, 16862, LOCATE_parser___ReduceAction315___init};
26924 val_t variable[2];
26925 void **closurevariable = NULL;
26926 trace.prev = tracehead; tracehead = &trace;
26927 trace.file = LOCATE_parser;
26928 variable[0] = self;
26929 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction315].i]) return;
26930 return_label663: while(false);
26931 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction315].i] = 1;
26932 tracehead = trace.prev;
26933 return;
26934 }
26935 void parser___ReduceAction316___action(val_t self, val_t param0) {
26936 struct trace_t trace = {NULL, NULL, 16866, LOCATE_parser___ReduceAction316___action};
26937 val_t variable[26];
26938 void **closurevariable = NULL;
26939 trace.prev = tracehead; tracehead = &trace;
26940 trace.file = LOCATE_parser;
26941 variable[0] = self;
26942 variable[1] = param0;
26943 variable[3] = NIT_NULL /*null*/;
26944 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26945 variable[4] = variable[5];
26946 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26947 variable[5] = variable[6];
26948 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26949 variable[6] = variable[7];
26950 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26951 variable[7] = variable[8];
26952 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26953 variable[8] = variable[9];
26954 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26955 variable[9] = variable[10];
26956 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26957 variable[10] = variable[11];
26958 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26959 variable[11] = variable[12];
26960 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26961 variable[12] = variable[13];
26962 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
26963 variable[13] = variable[14];
26964 variable[14] = variable[13] /*nodearraylist1*/;
26965 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
26966 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction316___action, LOCATE_parser, 16880); nit_exit(1);}
26967 variable[15] = variable[12] /*nodearraylist2*/;
26968 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
26969 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction316___action, LOCATE_parser, 16882); nit_exit(1);}
26970 variable[16] = variable[11] /*nodearraylist3*/;
26971 variable[17] = TAG_Bool(( variable[16] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[16] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
26972 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction316___action, LOCATE_parser, 16884); nit_exit(1);}
26973 variable[17] = variable[10] /*nodearraylist4*/;
26974 variable[18] = TAG_Bool(( variable[17] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
26975 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction316___action, LOCATE_parser, 16886); nit_exit(1);}
26976 variable[18] = variable[9] /*nodearraylist5*/;
26977 variable[19] = TAG_Bool(( variable[18] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[18] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
26978 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction316___action, LOCATE_parser, 16888); nit_exit(1);}
26979 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
26980 variable[19] = variable[20];
26981 variable[21] = NEW_Array_array___Array___init(); /*new Array[Object]*/
26982 variable[20] = variable[21];
26983 variable[21] = variable[8] /*nodearraylist6*/;
26984 variable[22] = TAG_Bool(( variable[21] /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable[21] /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
26985 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction316___action, LOCATE_parser, 16892); nit_exit(1);}
26986 variable[23] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[19] /*listnode8*/, variable[21] /*ptypenode9*/, variable[20] /*listnode10*/); /*new ASignature*/
26987 variable[22] = variable[23];
26988 variable[23] = variable[5] /*nodearraylist9*/;
26989 variable[24] = TAG_Bool(( variable[23] /*pexprnode11*/==NIT_NULL) || VAL_ISA( variable[23] /*pexprnode11*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26990 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction316___action, LOCATE_parser, 16899); nit_exit(1);}
26991 variable[25] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[14] /*pdocnode2*/, variable[15] /*tkwredefnode3*/, variable[16] /*pvisibilitynode4*/, variable[17] /*tkwinitnode5*/, variable[18] /*pmethidnode6*/, variable[22] /*psignaturenode7*/, variable[23] /*pexprnode11*/); /*new AConcreteInitPropdef*/
26992 variable[24] = variable[25];
26993 variable[3] = variable[24] /*ppropdefnode1*/ /*node_list=*/;
26994 variable[25] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
26995 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[25], variable[3] /*node_list*/) /*Parser::push*/;
26996 return_label664: while(false);
26997 tracehead = trace.prev;
26998 return;
26999 }
27000 void parser___ReduceAction316___init(val_t self, int* init_table) {
27001 struct trace_t trace = {NULL, NULL, 16912, LOCATE_parser___ReduceAction316___init};
27002 val_t variable[2];
27003 void **closurevariable = NULL;
27004 trace.prev = tracehead; tracehead = &trace;
27005 trace.file = LOCATE_parser;
27006 variable[0] = self;
27007 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction316].i]) return;
27008 return_label665: while(false);
27009 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction316].i] = 1;
27010 tracehead = trace.prev;
27011 return;
27012 }
27013 void parser___ReduceAction317___action(val_t self, val_t param0) {
27014 struct trace_t trace = {NULL, NULL, 16916, LOCATE_parser___ReduceAction317___action};
27015 val_t variable[28];
27016 void **closurevariable = NULL;
27017 trace.prev = tracehead; tracehead = &trace;
27018 trace.file = LOCATE_parser;
27019 variable[0] = self;
27020 variable[1] = param0;
27021 variable[3] = NIT_NULL /*null*/;
27022 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27023 variable[4] = variable[5];
27024 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27025 variable[5] = variable[6];
27026 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27027 variable[6] = variable[7];
27028 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27029 variable[7] = variable[8];
27030 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27031 variable[8] = variable[9];
27032 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27033 variable[9] = variable[10];
27034 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27035 variable[10] = variable[11];
27036 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27037 variable[11] = variable[12];
27038 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27039 variable[12] = variable[13];
27040 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27041 variable[13] = variable[14];
27042 variable[15] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27043 variable[14] = variable[15];
27044 variable[15] = variable[14] /*nodearraylist1*/;
27045 variable[16] = TAG_Bool(( variable[15] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
27046 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction317___action, LOCATE_parser, 16931); nit_exit(1);}
27047 variable[16] = variable[13] /*nodearraylist2*/;
27048 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
27049 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction317___action, LOCATE_parser, 16933); nit_exit(1);}
27050 variable[17] = variable[12] /*nodearraylist3*/;
27051 variable[18] = TAG_Bool(( variable[17] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[17] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
27052 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction317___action, LOCATE_parser, 16935); nit_exit(1);}
27053 variable[18] = variable[11] /*nodearraylist4*/;
27054 variable[19] = TAG_Bool(( variable[18] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
27055 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction317___action, LOCATE_parser, 16937); nit_exit(1);}
27056 variable[19] = variable[10] /*nodearraylist5*/;
27057 variable[20] = TAG_Bool(( variable[19] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[19] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
27058 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction317___action, LOCATE_parser, 16939); nit_exit(1);}
27059 variable[21] = NEW_Array_array___Array___init(); /*new Array[Object]*/
27060 variable[20] = variable[21];
27061 variable[22] = NEW_Array_array___Array___init(); /*new Array[Object]*/
27062 variable[21] = variable[22];
27063 variable[22] = variable[9] /*nodearraylist6*/;
27064 variable[23] = TAG_Bool(( variable[22] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[22] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
27065 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction317___action, LOCATE_parser, 16943); nit_exit(1);}
27066 variable[23] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[22] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[22] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[22] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[22] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[22] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[22] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
27067 if (UNTAG_Bool(variable[23])) { /*if*/
27068 variable[23] = ((array___AbstractArray___is_empty_t)CALL( variable[20] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[20] /*listnode9*/) /*AbstractArray::is_empty*/;
27069 if (UNTAG_Bool(variable[23])) { /*if*/
27070 variable[20] = variable[22] /*listnode8*/ /*listnode9=*/;
27071 } else { /*if*/
27072 ((abstract_collection___IndexedCollection___append_t)CALL( variable[20] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[20] /*listnode9*/, variable[22] /*listnode8*/) /*IndexedCollection::append*/;
27073 }
27074 }
27075 variable[23] = variable[8] /*nodearraylist7*/;
27076 variable[24] = TAG_Bool(( variable[23] /*ptypenode10*/==NIT_NULL) || VAL_ISA( variable[23] /*ptypenode10*/, COLOR_PType, ID_PType)) /*cast PType*/;
27077 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction317___action, LOCATE_parser, 16952); nit_exit(1);}
27078 variable[25] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[20] /*listnode9*/, variable[23] /*ptypenode10*/, variable[21] /*listnode11*/); /*new ASignature*/
27079 variable[24] = variable[25];
27080 variable[25] = variable[5] /*nodearraylist10*/;
27081 variable[26] = TAG_Bool(( variable[25] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[25] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
27082 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction317___action, LOCATE_parser, 16959); nit_exit(1);}
27083 variable[27] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[15] /*pdocnode2*/, variable[16] /*tkwredefnode3*/, variable[17] /*pvisibilitynode4*/, variable[18] /*tkwinitnode5*/, variable[19] /*pmethidnode6*/, variable[24] /*psignaturenode7*/, variable[25] /*pexprnode12*/); /*new AConcreteInitPropdef*/
27084 variable[26] = variable[27];
27085 variable[3] = variable[26] /*ppropdefnode1*/ /*node_list=*/;
27086 variable[27] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
27087 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[27], variable[3] /*node_list*/) /*Parser::push*/;
27088 return_label666: while(false);
27089 tracehead = trace.prev;
27090 return;
27091 }
27092 void parser___ReduceAction317___init(val_t self, int* init_table) {
27093 struct trace_t trace = {NULL, NULL, 16972, LOCATE_parser___ReduceAction317___init};
27094 val_t variable[2];
27095 void **closurevariable = NULL;
27096 trace.prev = tracehead; tracehead = &trace;
27097 trace.file = LOCATE_parser;
27098 variable[0] = self;
27099 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction317].i]) return;
27100 return_label667: while(false);
27101 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction317].i] = 1;
27102 tracehead = trace.prev;
27103 return;
27104 }
27105 void parser___ReduceAction318___action(val_t self, val_t param0) {
27106 struct trace_t trace = {NULL, NULL, 16976, LOCATE_parser___ReduceAction318___action};
27107 val_t variable[26];
27108 void **closurevariable = NULL;
27109 trace.prev = tracehead; tracehead = &trace;
27110 trace.file = LOCATE_parser;
27111 variable[0] = self;
27112 variable[1] = param0;
27113 variable[3] = NIT_NULL /*null*/;
27114 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27115 variable[4] = variable[5];
27116 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27117 variable[5] = variable[6];
27118 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27119 variable[6] = variable[7];
27120 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27121 variable[7] = variable[8];
27122 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27123 variable[8] = variable[9];
27124 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27125 variable[9] = variable[10];
27126 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27127 variable[10] = variable[11];
27128 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27129 variable[11] = variable[12];
27130 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27131 variable[12] = variable[13];
27132 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27133 variable[13] = variable[14];
27134 variable[14] = variable[13] /*nodearraylist1*/;
27135 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
27136 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction318___action, LOCATE_parser, 16990); nit_exit(1);}
27137 variable[15] = variable[12] /*nodearraylist2*/;
27138 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
27139 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction318___action, LOCATE_parser, 16992); nit_exit(1);}
27140 variable[16] = variable[11] /*nodearraylist3*/;
27141 variable[17] = TAG_Bool(( variable[16] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[16] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
27142 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction318___action, LOCATE_parser, 16994); nit_exit(1);}
27143 variable[17] = variable[10] /*nodearraylist4*/;
27144 variable[18] = TAG_Bool(( variable[17] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
27145 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction318___action, LOCATE_parser, 16996); nit_exit(1);}
27146 variable[18] = variable[9] /*nodearraylist5*/;
27147 variable[19] = TAG_Bool(( variable[18] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[18] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
27148 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction318___action, LOCATE_parser, 16998); nit_exit(1);}
27149 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
27150 variable[19] = variable[20];
27151 variable[21] = NEW_Array_array___Array___init(); /*new Array[Object]*/
27152 variable[20] = variable[21];
27153 variable[21] = variable[8] /*nodearraylist6*/;
27154 variable[22] = TAG_Bool(( variable[21] /*listnode10*/==NIT_NULL) || VAL_ISA( variable[21] /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
27155 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction318___action, LOCATE_parser, 17002); nit_exit(1);}
27156 variable[22] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[21] /*listnode10*/ == NIT_NULL /*null*/) || (( variable[21] /*listnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[21] /*listnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode10*/,COLOR_kernel___Object_____eqeq))( variable[21] /*listnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
27157 if (UNTAG_Bool(variable[22])) { /*if*/
27158 variable[22] = ((array___AbstractArray___is_empty_t)CALL( variable[20] /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable[20] /*listnode11*/) /*AbstractArray::is_empty*/;
27159 if (UNTAG_Bool(variable[22])) { /*if*/
27160 variable[20] = variable[21] /*listnode10*/ /*listnode11=*/;
27161 } else { /*if*/
27162 ((abstract_collection___IndexedCollection___append_t)CALL( variable[20] /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable[20] /*listnode11*/, variable[21] /*listnode10*/) /*IndexedCollection::append*/;
27163 }
27164 }
27165 variable[23] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[19] /*listnode8*/, NIT_NULL /*null*/, variable[20] /*listnode11*/); /*new ASignature*/
27166 variable[22] = variable[23];
27167 variable[23] = variable[5] /*nodearraylist9*/;
27168 variable[24] = TAG_Bool(( variable[23] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[23] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
27169 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction318___action, LOCATE_parser, 17016); nit_exit(1);}
27170 variable[25] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[14] /*pdocnode2*/, variable[15] /*tkwredefnode3*/, variable[16] /*pvisibilitynode4*/, variable[17] /*tkwinitnode5*/, variable[18] /*pmethidnode6*/, variable[22] /*psignaturenode7*/, variable[23] /*pexprnode12*/); /*new AConcreteInitPropdef*/
27171 variable[24] = variable[25];
27172 variable[3] = variable[24] /*ppropdefnode1*/ /*node_list=*/;
27173 variable[25] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
27174 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[25], variable[3] /*node_list*/) /*Parser::push*/;
27175 return_label668: while(false);
27176 tracehead = trace.prev;
27177 return;
27178 }
27179 void parser___ReduceAction318___init(val_t self, int* init_table) {
27180 struct trace_t trace = {NULL, NULL, 17029, LOCATE_parser___ReduceAction318___init};
27181 val_t variable[2];
27182 void **closurevariable = NULL;
27183 trace.prev = tracehead; tracehead = &trace;
27184 trace.file = LOCATE_parser;
27185 variable[0] = self;
27186 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction318].i]) return;
27187 return_label669: while(false);
27188 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction318].i] = 1;
27189 tracehead = trace.prev;
27190 return;
27191 }
27192 void parser___ReduceAction319___action(val_t self, val_t param0) {
27193 struct trace_t trace = {NULL, NULL, 17033, LOCATE_parser___ReduceAction319___action};
27194 val_t variable[28];
27195 void **closurevariable = NULL;
27196 trace.prev = tracehead; tracehead = &trace;
27197 trace.file = LOCATE_parser;
27198 variable[0] = self;
27199 variable[1] = param0;
27200 variable[3] = NIT_NULL /*null*/;
27201 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27202 variable[4] = variable[5];
27203 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27204 variable[5] = variable[6];
27205 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27206 variable[6] = variable[7];
27207 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27208 variable[7] = variable[8];
27209 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27210 variable[8] = variable[9];
27211 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27212 variable[9] = variable[10];
27213 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27214 variable[10] = variable[11];
27215 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27216 variable[11] = variable[12];
27217 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27218 variable[12] = variable[13];
27219 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27220 variable[13] = variable[14];
27221 variable[15] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27222 variable[14] = variable[15];
27223 variable[15] = variable[14] /*nodearraylist1*/;
27224 variable[16] = TAG_Bool(( variable[15] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
27225 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction319___action, LOCATE_parser, 17048); nit_exit(1);}
27226 variable[16] = variable[13] /*nodearraylist2*/;
27227 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
27228 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction319___action, LOCATE_parser, 17050); nit_exit(1);}
27229 variable[17] = variable[12] /*nodearraylist3*/;
27230 variable[18] = TAG_Bool(( variable[17] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[17] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
27231 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction319___action, LOCATE_parser, 17052); nit_exit(1);}
27232 variable[18] = variable[11] /*nodearraylist4*/;
27233 variable[19] = TAG_Bool(( variable[18] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
27234 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction319___action, LOCATE_parser, 17054); nit_exit(1);}
27235 variable[19] = variable[10] /*nodearraylist5*/;
27236 variable[20] = TAG_Bool(( variable[19] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[19] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
27237 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction319___action, LOCATE_parser, 17056); nit_exit(1);}
27238 variable[21] = NEW_Array_array___Array___init(); /*new Array[Object]*/
27239 variable[20] = variable[21];
27240 variable[22] = NEW_Array_array___Array___init(); /*new Array[Object]*/
27241 variable[21] = variable[22];
27242 variable[22] = variable[9] /*nodearraylist6*/;
27243 variable[23] = TAG_Bool(( variable[22] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[22] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
27244 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction319___action, LOCATE_parser, 17060); nit_exit(1);}
27245 variable[23] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[22] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[22] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[22] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[22] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[22] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[22] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
27246 if (UNTAG_Bool(variable[23])) { /*if*/
27247 variable[23] = ((array___AbstractArray___is_empty_t)CALL( variable[20] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[20] /*listnode9*/) /*AbstractArray::is_empty*/;
27248 if (UNTAG_Bool(variable[23])) { /*if*/
27249 variable[20] = variable[22] /*listnode8*/ /*listnode9=*/;
27250 } else { /*if*/
27251 ((abstract_collection___IndexedCollection___append_t)CALL( variable[20] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[20] /*listnode9*/, variable[22] /*listnode8*/) /*IndexedCollection::append*/;
27252 }
27253 }
27254 variable[23] = variable[8] /*nodearraylist7*/;
27255 variable[24] = TAG_Bool(( variable[23] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[23] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
27256 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction319___action, LOCATE_parser, 17069); nit_exit(1);}
27257 variable[24] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[23] /*listnode11*/ == NIT_NULL /*null*/) || (( variable[23] /*listnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[23] /*listnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[23] /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[23] /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable[23] /*listnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
27258 if (UNTAG_Bool(variable[24])) { /*if*/
27259 variable[24] = ((array___AbstractArray___is_empty_t)CALL( variable[21] /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable[21] /*listnode12*/) /*AbstractArray::is_empty*/;
27260 if (UNTAG_Bool(variable[24])) { /*if*/
27261 variable[21] = variable[23] /*listnode11*/ /*listnode12=*/;
27262 } else { /*if*/
27263 ((abstract_collection___IndexedCollection___append_t)CALL( variable[21] /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable[21] /*listnode12*/, variable[23] /*listnode11*/) /*IndexedCollection::append*/;
27264 }
27265 }
27266 variable[25] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[20] /*listnode9*/, NIT_NULL /*null*/, variable[21] /*listnode12*/); /*new ASignature*/
27267 variable[24] = variable[25];
27268 variable[25] = variable[5] /*nodearraylist10*/;
27269 variable[26] = TAG_Bool(( variable[25] /*pexprnode13*/==NIT_NULL) || VAL_ISA( variable[25] /*pexprnode13*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
27270 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction319___action, LOCATE_parser, 17083); nit_exit(1);}
27271 variable[27] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[15] /*pdocnode2*/, variable[16] /*tkwredefnode3*/, variable[17] /*pvisibilitynode4*/, variable[18] /*tkwinitnode5*/, variable[19] /*pmethidnode6*/, variable[24] /*psignaturenode7*/, variable[25] /*pexprnode13*/); /*new AConcreteInitPropdef*/
27272 variable[26] = variable[27];
27273 variable[3] = variable[26] /*ppropdefnode1*/ /*node_list=*/;
27274 variable[27] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
27275 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[27], variable[3] /*node_list*/) /*Parser::push*/;
27276 return_label670: while(false);
27277 tracehead = trace.prev;
27278 return;
27279 }
27280 void parser___ReduceAction319___init(val_t self, int* init_table) {
27281 struct trace_t trace = {NULL, NULL, 17096, LOCATE_parser___ReduceAction319___init};
27282 val_t variable[2];
27283 void **closurevariable = NULL;
27284 trace.prev = tracehead; tracehead = &trace;
27285 trace.file = LOCATE_parser;
27286 variable[0] = self;
27287 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction319].i]) return;
27288 return_label671: while(false);
27289 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction319].i] = 1;
27290 tracehead = trace.prev;
27291 return;
27292 }
27293 void parser___ReduceAction320___action(val_t self, val_t param0) {
27294 struct trace_t trace = {NULL, NULL, 17100, LOCATE_parser___ReduceAction320___action};
27295 val_t variable[28];
27296 void **closurevariable = NULL;
27297 trace.prev = tracehead; tracehead = &trace;
27298 trace.file = LOCATE_parser;
27299 variable[0] = self;
27300 variable[1] = param0;
27301 variable[3] = NIT_NULL /*null*/;
27302 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27303 variable[4] = variable[5];
27304 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27305 variable[5] = variable[6];
27306 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27307 variable[6] = variable[7];
27308 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27309 variable[7] = variable[8];
27310 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27311 variable[8] = variable[9];
27312 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27313 variable[9] = variable[10];
27314 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27315 variable[10] = variable[11];
27316 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27317 variable[11] = variable[12];
27318 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27319 variable[12] = variable[13];
27320 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27321 variable[13] = variable[14];
27322 variable[15] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27323 variable[14] = variable[15];
27324 variable[15] = variable[14] /*nodearraylist1*/;
27325 variable[16] = TAG_Bool(( variable[15] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
27326 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction320___action, LOCATE_parser, 17115); nit_exit(1);}
27327 variable[16] = variable[13] /*nodearraylist2*/;
27328 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
27329 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction320___action, LOCATE_parser, 17117); nit_exit(1);}
27330 variable[17] = variable[12] /*nodearraylist3*/;
27331 variable[18] = TAG_Bool(( variable[17] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[17] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
27332 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction320___action, LOCATE_parser, 17119); nit_exit(1);}
27333 variable[18] = variable[11] /*nodearraylist4*/;
27334 variable[19] = TAG_Bool(( variable[18] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
27335 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction320___action, LOCATE_parser, 17121); nit_exit(1);}
27336 variable[19] = variable[10] /*nodearraylist5*/;
27337 variable[20] = TAG_Bool(( variable[19] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[19] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
27338 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction320___action, LOCATE_parser, 17123); nit_exit(1);}
27339 variable[21] = NEW_Array_array___Array___init(); /*new Array[Object]*/
27340 variable[20] = variable[21];
27341 variable[22] = NEW_Array_array___Array___init(); /*new Array[Object]*/
27342 variable[21] = variable[22];
27343 variable[22] = variable[9] /*nodearraylist6*/;
27344 variable[23] = TAG_Bool(( variable[22] /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable[22] /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
27345 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction320___action, LOCATE_parser, 17127); nit_exit(1);}
27346 variable[23] = variable[8] /*nodearraylist7*/;
27347 variable[24] = TAG_Bool(( variable[23] /*listnode10*/==NIT_NULL) || VAL_ISA( variable[23] /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
27348 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction320___action, LOCATE_parser, 17129); nit_exit(1);}
27349 variable[24] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[23] /*listnode10*/ == NIT_NULL /*null*/) || (( variable[23] /*listnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[23] /*listnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[23] /*listnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[23] /*listnode10*/,COLOR_kernel___Object_____eqeq))( variable[23] /*listnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
27350 if (UNTAG_Bool(variable[24])) { /*if*/
27351 variable[24] = ((array___AbstractArray___is_empty_t)CALL( variable[21] /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable[21] /*listnode11*/) /*AbstractArray::is_empty*/;
27352 if (UNTAG_Bool(variable[24])) { /*if*/
27353 variable[21] = variable[23] /*listnode10*/ /*listnode11=*/;
27354 } else { /*if*/
27355 ((abstract_collection___IndexedCollection___append_t)CALL( variable[21] /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable[21] /*listnode11*/, variable[23] /*listnode10*/) /*IndexedCollection::append*/;
27356 }
27357 }
27358 variable[25] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[20] /*listnode8*/, variable[22] /*ptypenode9*/, variable[21] /*listnode11*/); /*new ASignature*/
27359 variable[24] = variable[25];
27360 variable[25] = variable[5] /*nodearraylist10*/;
27361 variable[26] = TAG_Bool(( variable[25] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[25] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
27362 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction320___action, LOCATE_parser, 17143); nit_exit(1);}
27363 variable[27] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[15] /*pdocnode2*/, variable[16] /*tkwredefnode3*/, variable[17] /*pvisibilitynode4*/, variable[18] /*tkwinitnode5*/, variable[19] /*pmethidnode6*/, variable[24] /*psignaturenode7*/, variable[25] /*pexprnode12*/); /*new AConcreteInitPropdef*/
27364 variable[26] = variable[27];
27365 variable[3] = variable[26] /*ppropdefnode1*/ /*node_list=*/;
27366 variable[27] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
27367 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[27], variable[3] /*node_list*/) /*Parser::push*/;
27368 return_label672: while(false);
27369 tracehead = trace.prev;
27370 return;
27371 }
27372 void parser___ReduceAction320___init(val_t self, int* init_table) {
27373 struct trace_t trace = {NULL, NULL, 17156, LOCATE_parser___ReduceAction320___init};
27374 val_t variable[2];
27375 void **closurevariable = NULL;
27376 trace.prev = tracehead; tracehead = &trace;
27377 trace.file = LOCATE_parser;
27378 variable[0] = self;
27379 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction320].i]) return;
27380 return_label673: while(false);
27381 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction320].i] = 1;
27382 tracehead = trace.prev;
27383 return;
27384 }
27385 void parser___ReduceAction321___action(val_t self, val_t param0) {
27386 struct trace_t trace = {NULL, NULL, 17160, LOCATE_parser___ReduceAction321___action};
27387 val_t variable[30];
27388 void **closurevariable = NULL;
27389 trace.prev = tracehead; tracehead = &trace;
27390 trace.file = LOCATE_parser;
27391 variable[0] = self;
27392 variable[1] = param0;
27393 variable[3] = NIT_NULL /*null*/;
27394 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27395 variable[4] = variable[5];
27396 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27397 variable[5] = variable[6];
27398 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27399 variable[6] = variable[7];
27400 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27401 variable[7] = variable[8];
27402 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27403 variable[8] = variable[9];
27404 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27405 variable[9] = variable[10];
27406 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27407 variable[10] = variable[11];
27408 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27409 variable[11] = variable[12];
27410 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27411 variable[12] = variable[13];
27412 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27413 variable[13] = variable[14];
27414 variable[15] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27415 variable[14] = variable[15];
27416 variable[16] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27417 variable[15] = variable[16];
27418 variable[16] = variable[15] /*nodearraylist1*/;
27419 variable[17] = TAG_Bool(( variable[16] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[16] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
27420 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction321___action, LOCATE_parser, 17176); nit_exit(1);}
27421 variable[17] = variable[14] /*nodearraylist2*/;
27422 variable[18] = TAG_Bool(( variable[17] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
27423 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction321___action, LOCATE_parser, 17178); nit_exit(1);}
27424 variable[18] = variable[13] /*nodearraylist3*/;
27425 variable[19] = TAG_Bool(( variable[18] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[18] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
27426 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction321___action, LOCATE_parser, 17180); nit_exit(1);}
27427 variable[19] = variable[12] /*nodearraylist4*/;
27428 variable[20] = TAG_Bool(( variable[19] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
27429 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction321___action, LOCATE_parser, 17182); nit_exit(1);}
27430 variable[20] = variable[11] /*nodearraylist5*/;
27431 variable[21] = TAG_Bool(( variable[20] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[20] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
27432 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction321___action, LOCATE_parser, 17184); nit_exit(1);}
27433 variable[22] = NEW_Array_array___Array___init(); /*new Array[Object]*/
27434 variable[21] = variable[22];
27435 variable[23] = NEW_Array_array___Array___init(); /*new Array[Object]*/
27436 variable[22] = variable[23];
27437 variable[23] = variable[10] /*nodearraylist6*/;
27438 variable[24] = TAG_Bool(( variable[23] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[23] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
27439 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction321___action, LOCATE_parser, 17188); nit_exit(1);}
27440 variable[24] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[23] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[23] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[23] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[23] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[23] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[23] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
27441 if (UNTAG_Bool(variable[24])) { /*if*/
27442 variable[24] = ((array___AbstractArray___is_empty_t)CALL( variable[21] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[21] /*listnode9*/) /*AbstractArray::is_empty*/;
27443 if (UNTAG_Bool(variable[24])) { /*if*/
27444 variable[21] = variable[23] /*listnode8*/ /*listnode9=*/;
27445 } else { /*if*/
27446 ((abstract_collection___IndexedCollection___append_t)CALL( variable[21] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[21] /*listnode9*/, variable[23] /*listnode8*/) /*IndexedCollection::append*/;
27447 }
27448 }
27449 variable[24] = variable[9] /*nodearraylist7*/;
27450 variable[25] = TAG_Bool(( variable[24] /*ptypenode10*/==NIT_NULL) || VAL_ISA( variable[24] /*ptypenode10*/, COLOR_PType, ID_PType)) /*cast PType*/;
27451 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction321___action, LOCATE_parser, 17197); nit_exit(1);}
27452 variable[25] = variable[8] /*nodearraylist8*/;
27453 variable[26] = TAG_Bool(( variable[25] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[25] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
27454 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction321___action, LOCATE_parser, 17199); nit_exit(1);}
27455 variable[26] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[25] /*listnode11*/ == NIT_NULL /*null*/) || (( variable[25] /*listnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[25] /*listnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[25] /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[25] /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable[25] /*listnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
27456 if (UNTAG_Bool(variable[26])) { /*if*/
27457 variable[26] = ((array___AbstractArray___is_empty_t)CALL( variable[22] /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable[22] /*listnode12*/) /*AbstractArray::is_empty*/;
27458 if (UNTAG_Bool(variable[26])) { /*if*/
27459 variable[22] = variable[25] /*listnode11*/ /*listnode12=*/;
27460 } else { /*if*/
27461 ((abstract_collection___IndexedCollection___append_t)CALL( variable[22] /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable[22] /*listnode12*/, variable[25] /*listnode11*/) /*IndexedCollection::append*/;
27462 }
27463 }
27464 variable[27] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[21] /*listnode9*/, variable[24] /*ptypenode10*/, variable[22] /*listnode12*/); /*new ASignature*/
27465 variable[26] = variable[27];
27466 variable[27] = variable[5] /*nodearraylist11*/;
27467 variable[28] = TAG_Bool(( variable[27] /*pexprnode13*/==NIT_NULL) || VAL_ISA( variable[27] /*pexprnode13*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
27468 if (!UNTAG_Bool(variable[28])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction321___action, LOCATE_parser, 17213); nit_exit(1);}
27469 variable[29] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable[16] /*pdocnode2*/, variable[17] /*tkwredefnode3*/, variable[18] /*pvisibilitynode4*/, variable[19] /*tkwinitnode5*/, variable[20] /*pmethidnode6*/, variable[26] /*psignaturenode7*/, variable[27] /*pexprnode13*/); /*new AConcreteInitPropdef*/
27470 variable[28] = variable[29];
27471 variable[3] = variable[28] /*ppropdefnode1*/ /*node_list=*/;
27472 variable[29] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
27473 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[29], variable[3] /*node_list*/) /*Parser::push*/;
27474 return_label674: while(false);
27475 tracehead = trace.prev;
27476 return;
27477 }
27478 void parser___ReduceAction321___init(val_t self, int* init_table) {
27479 struct trace_t trace = {NULL, NULL, 17226, LOCATE_parser___ReduceAction321___init};
27480 val_t variable[2];
27481 void **closurevariable = NULL;
27482 trace.prev = tracehead; tracehead = &trace;
27483 trace.file = LOCATE_parser;
27484 variable[0] = self;
27485 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction321].i]) return;
27486 return_label675: while(false);
27487 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction321].i] = 1;
27488 tracehead = trace.prev;
27489 return;
27490 }
27491 void parser___ReduceAction322___action(val_t self, val_t param0) {
27492 struct trace_t trace = {NULL, NULL, 17230, LOCATE_parser___ReduceAction322___action};
27493 val_t variable[16];
27494 void **closurevariable = NULL;
27495 trace.prev = tracehead; tracehead = &trace;
27496 trace.file = LOCATE_parser;
27497 variable[0] = self;
27498 variable[1] = param0;
27499 variable[3] = NIT_NULL /*null*/;
27500 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27501 variable[4] = variable[5];
27502 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27503 variable[5] = variable[6];
27504 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27505 variable[6] = variable[7];
27506 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27507 variable[7] = variable[8];
27508 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27509 variable[8] = variable[9];
27510 variable[9] = variable[8] /*nodearraylist1*/;
27511 variable[10] = TAG_Bool(( variable[9] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
27512 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction322___action, LOCATE_parser, 17239); nit_exit(1);}
27513 variable[10] = variable[7] /*nodearraylist2*/;
27514 variable[11] = TAG_Bool(( variable[10] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[10] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
27515 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction322___action, LOCATE_parser, 17241); nit_exit(1);}
27516 variable[11] = variable[6] /*nodearraylist3*/;
27517 variable[12] = TAG_Bool(( variable[11] /*tkwtypenode5*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwtypenode5*/, COLOR_TKwtype, ID_TKwtype)) /*cast TKwtype*/;
27518 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction322___action, LOCATE_parser, 17243); nit_exit(1);}
27519 variable[12] = variable[5] /*nodearraylist4*/;
27520 variable[13] = TAG_Bool(( variable[12] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
27521 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction322___action, LOCATE_parser, 17245); nit_exit(1);}
27522 variable[13] = variable[4] /*nodearraylist5*/;
27523 variable[14] = TAG_Bool(( variable[13] /*ptypenode7*/==NIT_NULL) || VAL_ISA( variable[13] /*ptypenode7*/, COLOR_PType, ID_PType)) /*cast PType*/;
27524 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction322___action, LOCATE_parser, 17247); nit_exit(1);}
27525 variable[15] = NEW_ATypePropdef_parser_prod___ATypePropdef___init_atypepropdef( variable[9] /*pdocnode2*/, NIT_NULL /*null*/, variable[10] /*pvisibilitynode4*/, variable[11] /*tkwtypenode5*/, variable[12] /*tclassidnode6*/, variable[13] /*ptypenode7*/); /*new ATypePropdef*/
27526 variable[14] = variable[15];
27527 variable[3] = variable[14] /*ppropdefnode1*/ /*node_list=*/;
27528 variable[15] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
27529 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
27530 return_label676: while(false);
27531 tracehead = trace.prev;
27532 return;
27533 }
27534 void parser___ReduceAction322___init(val_t self, int* init_table) {
27535 struct trace_t trace = {NULL, NULL, 17259, LOCATE_parser___ReduceAction322___init};
27536 val_t variable[2];
27537 void **closurevariable = NULL;
27538 trace.prev = tracehead; tracehead = &trace;
27539 trace.file = LOCATE_parser;
27540 variable[0] = self;
27541 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction322].i]) return;
27542 return_label677: while(false);
27543 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction322].i] = 1;
27544 tracehead = trace.prev;
27545 return;
27546 }
27547 void parser___ReduceAction323___action(val_t self, val_t param0) {
27548 struct trace_t trace = {NULL, NULL, 17263, LOCATE_parser___ReduceAction323___action};
27549 val_t variable[18];
27550 void **closurevariable = NULL;
27551 trace.prev = tracehead; tracehead = &trace;
27552 trace.file = LOCATE_parser;
27553 variable[0] = self;
27554 variable[1] = param0;
27555 variable[3] = NIT_NULL /*null*/;
27556 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27557 variable[4] = variable[5];
27558 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27559 variable[5] = variable[6];
27560 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27561 variable[6] = variable[7];
27562 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27563 variable[7] = variable[8];
27564 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27565 variable[8] = variable[9];
27566 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27567 variable[9] = variable[10];
27568 variable[10] = variable[9] /*nodearraylist1*/;
27569 variable[11] = TAG_Bool(( variable[10] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
27570 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction323___action, LOCATE_parser, 17273); nit_exit(1);}
27571 variable[11] = variable[8] /*nodearraylist2*/;
27572 variable[12] = TAG_Bool(( variable[11] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
27573 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction323___action, LOCATE_parser, 17275); nit_exit(1);}
27574 variable[12] = variable[7] /*nodearraylist3*/;
27575 variable[13] = TAG_Bool(( variable[12] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[12] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
27576 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction323___action, LOCATE_parser, 17277); nit_exit(1);}
27577 variable[13] = variable[6] /*nodearraylist4*/;
27578 variable[14] = TAG_Bool(( variable[13] /*tkwtypenode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwtypenode5*/, COLOR_TKwtype, ID_TKwtype)) /*cast TKwtype*/;
27579 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction323___action, LOCATE_parser, 17279); nit_exit(1);}
27580 variable[14] = variable[5] /*nodearraylist5*/;
27581 variable[15] = TAG_Bool(( variable[14] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[14] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
27582 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction323___action, LOCATE_parser, 17281); nit_exit(1);}
27583 variable[15] = variable[4] /*nodearraylist6*/;
27584 variable[16] = TAG_Bool(( variable[15] /*ptypenode7*/==NIT_NULL) || VAL_ISA( variable[15] /*ptypenode7*/, COLOR_PType, ID_PType)) /*cast PType*/;
27585 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction323___action, LOCATE_parser, 17283); nit_exit(1);}
27586 variable[17] = NEW_ATypePropdef_parser_prod___ATypePropdef___init_atypepropdef( variable[10] /*pdocnode2*/, variable[11] /*tkwredefnode3*/, variable[12] /*pvisibilitynode4*/, variable[13] /*tkwtypenode5*/, variable[14] /*tclassidnode6*/, variable[15] /*ptypenode7*/); /*new ATypePropdef*/
27587 variable[16] = variable[17];
27588 variable[3] = variable[16] /*ppropdefnode1*/ /*node_list=*/;
27589 variable[17] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
27590 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
27591 return_label678: while(false);
27592 tracehead = trace.prev;
27593 return;
27594 }
27595 void parser___ReduceAction323___init(val_t self, int* init_table) {
27596 struct trace_t trace = {NULL, NULL, 17295, LOCATE_parser___ReduceAction323___init};
27597 val_t variable[2];
27598 void **closurevariable = NULL;
27599 trace.prev = tracehead; tracehead = &trace;
27600 trace.file = LOCATE_parser;
27601 variable[0] = self;
27602 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction323].i]) return;
27603 return_label679: while(false);
27604 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction323].i] = 1;
27605 tracehead = trace.prev;
27606 return;
27607 }
27608 void parser___ReduceAction324___action(val_t self, val_t param0) {
27609 struct trace_t trace = {NULL, NULL, 17299, LOCATE_parser___ReduceAction324___action};
27610 val_t variable[8];
27611 void **closurevariable = NULL;
27612 trace.prev = tracehead; tracehead = &trace;
27613 trace.file = LOCATE_parser;
27614 variable[0] = self;
27615 variable[1] = param0;
27616 variable[3] = NIT_NULL /*null*/;
27617 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27618 variable[4] = variable[5];
27619 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27620 variable[5] = variable[6];
27621 variable[6] = variable[5] /*nodearraylist1*/;
27622 variable[7] = TAG_Bool(( variable[6] /*ppropdefnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*ppropdefnode1*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
27623 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction324___action, LOCATE_parser, 17305); nit_exit(1);}
27624 variable[3] = variable[6] /*ppropdefnode1*/ /*node_list=*/;
27625 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(13)) /*Parser::go_to*/;
27626 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
27627 return_label680: while(false);
27628 tracehead = trace.prev;
27629 return;
27630 }
27631 void parser___ReduceAction324___init(val_t self, int* init_table) {
27632 struct trace_t trace = {NULL, NULL, 17309, LOCATE_parser___ReduceAction324___init};
27633 val_t variable[2];
27634 void **closurevariable = NULL;
27635 trace.prev = tracehead; tracehead = &trace;
27636 trace.file = LOCATE_parser;
27637 variable[0] = self;
27638 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction324].i]) return;
27639 return_label681: while(false);
27640 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction324].i] = 1;
27641 tracehead = trace.prev;
27642 return;
27643 }
27644 void parser___ReduceAction325___action(val_t self, val_t param0) {
27645 struct trace_t trace = {NULL, NULL, 17313, LOCATE_parser___ReduceAction325___action};
27646 val_t variable[19];
27647 void **closurevariable = NULL;
27648 trace.prev = tracehead; tracehead = &trace;
27649 trace.file = LOCATE_parser;
27650 variable[0] = self;
27651 variable[1] = param0;
27652 variable[3] = NIT_NULL /*null*/;
27653 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27654 variable[4] = variable[5];
27655 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27656 variable[5] = variable[6];
27657 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27658 variable[6] = variable[7];
27659 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27660 variable[7] = variable[8];
27661 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27662 variable[8] = variable[9];
27663 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27664 variable[9] = variable[10];
27665 variable[10] = variable[9] /*nodearraylist1*/;
27666 variable[11] = TAG_Bool(( variable[10] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
27667 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction325___action, LOCATE_parser, 17323); nit_exit(1);}
27668 variable[11] = variable[8] /*nodearraylist2*/;
27669 variable[12] = TAG_Bool(( variable[11] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[11] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
27670 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction325___action, LOCATE_parser, 17325); nit_exit(1);}
27671 variable[12] = variable[7] /*nodearraylist3*/;
27672 variable[13] = TAG_Bool(( variable[12] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
27673 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction325___action, LOCATE_parser, 17327); nit_exit(1);}
27674 variable[13] = variable[6] /*nodearraylist4*/;
27675 variable[14] = TAG_Bool(( variable[13] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[13] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
27676 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction325___action, LOCATE_parser, 17329); nit_exit(1);}
27677 variable[15] = NEW_Array_array___Array___init(); /*new Array[Object]*/
27678 variable[14] = variable[15];
27679 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
27680 variable[15] = variable[16];
27681 variable[17] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[14] /*listnode8*/, NIT_NULL /*null*/, variable[15] /*listnode10*/); /*new ASignature*/
27682 variable[16] = variable[17];
27683 variable[18] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[10] /*pdocnode2*/, NIT_NULL /*null*/, variable[11] /*pvisibilitynode4*/, variable[12] /*tkwmethnode5*/, variable[13] /*pmethidnode6*/, variable[16] /*psignaturenode7*/, NIT_NULL /*null*/); /*new AExternMethPropdef*/
27684 variable[17] = variable[18];
27685 variable[3] = variable[17] /*ppropdefnode1*/ /*node_list=*/;
27686 variable[18] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
27687 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
27688 return_label682: while(false);
27689 tracehead = trace.prev;
27690 return;
27691 }
27692 void parser___ReduceAction325___init(val_t self, int* init_table) {
27693 struct trace_t trace = {NULL, NULL, 17349, LOCATE_parser___ReduceAction325___init};
27694 val_t variable[2];
27695 void **closurevariable = NULL;
27696 trace.prev = tracehead; tracehead = &trace;
27697 trace.file = LOCATE_parser;
27698 variable[0] = self;
27699 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction325].i]) return;
27700 return_label683: while(false);
27701 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction325].i] = 1;
27702 tracehead = trace.prev;
27703 return;
27704 }
27705 void parser___ReduceAction326___action(val_t self, val_t param0) {
27706 struct trace_t trace = {NULL, NULL, 17353, LOCATE_parser___ReduceAction326___action};
27707 val_t variable[21];
27708 void **closurevariable = NULL;
27709 trace.prev = tracehead; tracehead = &trace;
27710 trace.file = LOCATE_parser;
27711 variable[0] = self;
27712 variable[1] = param0;
27713 variable[3] = NIT_NULL /*null*/;
27714 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27715 variable[4] = variable[5];
27716 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27717 variable[5] = variable[6];
27718 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27719 variable[6] = variable[7];
27720 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27721 variable[7] = variable[8];
27722 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27723 variable[8] = variable[9];
27724 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27725 variable[9] = variable[10];
27726 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27727 variable[10] = variable[11];
27728 variable[11] = variable[10] /*nodearraylist1*/;
27729 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
27730 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction326___action, LOCATE_parser, 17364); nit_exit(1);}
27731 variable[12] = variable[9] /*nodearraylist2*/;
27732 variable[13] = TAG_Bool(( variable[12] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[12] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
27733 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction326___action, LOCATE_parser, 17366); nit_exit(1);}
27734 variable[13] = variable[8] /*nodearraylist3*/;
27735 variable[14] = TAG_Bool(( variable[13] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
27736 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction326___action, LOCATE_parser, 17368); nit_exit(1);}
27737 variable[14] = variable[7] /*nodearraylist4*/;
27738 variable[15] = TAG_Bool(( variable[14] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[14] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
27739 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction326___action, LOCATE_parser, 17370); nit_exit(1);}
27740 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
27741 variable[15] = variable[16];
27742 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
27743 variable[16] = variable[17];
27744 variable[17] = variable[6] /*nodearraylist5*/;
27745 variable[18] = TAG_Bool(( variable[17] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[17] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
27746 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction326___action, LOCATE_parser, 17374); nit_exit(1);}
27747 variable[18] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[17] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[17] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[17] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[17] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[17] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[17] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
27748 if (UNTAG_Bool(variable[18])) { /*if*/
27749 variable[18] = ((array___AbstractArray___is_empty_t)CALL( variable[15] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[15] /*listnode9*/) /*AbstractArray::is_empty*/;
27750 if (UNTAG_Bool(variable[18])) { /*if*/
27751 variable[15] = variable[17] /*listnode8*/ /*listnode9=*/;
27752 } else { /*if*/
27753 ((abstract_collection___IndexedCollection___append_t)CALL( variable[15] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[15] /*listnode9*/, variable[17] /*listnode8*/) /*IndexedCollection::append*/;
27754 }
27755 }
27756 variable[19] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[15] /*listnode9*/, NIT_NULL /*null*/, variable[16] /*listnode11*/); /*new ASignature*/
27757 variable[18] = variable[19];
27758 variable[20] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[11] /*pdocnode2*/, NIT_NULL /*null*/, variable[12] /*pvisibilitynode4*/, variable[13] /*tkwmethnode5*/, variable[14] /*pmethidnode6*/, variable[18] /*psignaturenode7*/, NIT_NULL /*null*/); /*new AExternMethPropdef*/
27759 variable[19] = variable[20];
27760 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
27761 variable[20] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
27762 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
27763 return_label684: while(false);
27764 tracehead = trace.prev;
27765 return;
27766 }
27767 void parser___ReduceAction326___init(val_t self, int* init_table) {
27768 struct trace_t trace = {NULL, NULL, 17399, LOCATE_parser___ReduceAction326___init};
27769 val_t variable[2];
27770 void **closurevariable = NULL;
27771 trace.prev = tracehead; tracehead = &trace;
27772 trace.file = LOCATE_parser;
27773 variable[0] = self;
27774 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction326].i]) return;
27775 return_label685: while(false);
27776 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction326].i] = 1;
27777 tracehead = trace.prev;
27778 return;
27779 }
27780 void parser___ReduceAction327___action(val_t self, val_t param0) {
27781 struct trace_t trace = {NULL, NULL, 17403, LOCATE_parser___ReduceAction327___action};
27782 val_t variable[21];
27783 void **closurevariable = NULL;
27784 trace.prev = tracehead; tracehead = &trace;
27785 trace.file = LOCATE_parser;
27786 variable[0] = self;
27787 variable[1] = param0;
27788 variable[3] = NIT_NULL /*null*/;
27789 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27790 variable[4] = variable[5];
27791 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27792 variable[5] = variable[6];
27793 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27794 variable[6] = variable[7];
27795 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27796 variable[7] = variable[8];
27797 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27798 variable[8] = variable[9];
27799 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27800 variable[9] = variable[10];
27801 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27802 variable[10] = variable[11];
27803 variable[11] = variable[10] /*nodearraylist1*/;
27804 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
27805 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction327___action, LOCATE_parser, 17414); nit_exit(1);}
27806 variable[12] = variable[9] /*nodearraylist2*/;
27807 variable[13] = TAG_Bool(( variable[12] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[12] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
27808 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction327___action, LOCATE_parser, 17416); nit_exit(1);}
27809 variable[13] = variable[8] /*nodearraylist3*/;
27810 variable[14] = TAG_Bool(( variable[13] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
27811 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction327___action, LOCATE_parser, 17418); nit_exit(1);}
27812 variable[14] = variable[7] /*nodearraylist4*/;
27813 variable[15] = TAG_Bool(( variable[14] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[14] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
27814 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction327___action, LOCATE_parser, 17420); nit_exit(1);}
27815 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
27816 variable[15] = variable[16];
27817 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
27818 variable[16] = variable[17];
27819 variable[17] = variable[6] /*nodearraylist5*/;
27820 variable[18] = TAG_Bool(( variable[17] /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable[17] /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
27821 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction327___action, LOCATE_parser, 17424); nit_exit(1);}
27822 variable[19] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[15] /*listnode8*/, variable[17] /*ptypenode9*/, variable[16] /*listnode10*/); /*new ASignature*/
27823 variable[18] = variable[19];
27824 variable[20] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[11] /*pdocnode2*/, NIT_NULL /*null*/, variable[12] /*pvisibilitynode4*/, variable[13] /*tkwmethnode5*/, variable[14] /*pmethidnode6*/, variable[18] /*psignaturenode7*/, NIT_NULL /*null*/); /*new AExternMethPropdef*/
27825 variable[19] = variable[20];
27826 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
27827 variable[20] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
27828 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
27829 return_label686: while(false);
27830 tracehead = trace.prev;
27831 return;
27832 }
27833 void parser___ReduceAction327___init(val_t self, int* init_table) {
27834 struct trace_t trace = {NULL, NULL, 17442, LOCATE_parser___ReduceAction327___init};
27835 val_t variable[2];
27836 void **closurevariable = NULL;
27837 trace.prev = tracehead; tracehead = &trace;
27838 trace.file = LOCATE_parser;
27839 variable[0] = self;
27840 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction327].i]) return;
27841 return_label687: while(false);
27842 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction327].i] = 1;
27843 tracehead = trace.prev;
27844 return;
27845 }
27846 void parser___ReduceAction328___action(val_t self, val_t param0) {
27847 struct trace_t trace = {NULL, NULL, 17446, LOCATE_parser___ReduceAction328___action};
27848 val_t variable[23];
27849 void **closurevariable = NULL;
27850 trace.prev = tracehead; tracehead = &trace;
27851 trace.file = LOCATE_parser;
27852 variable[0] = self;
27853 variable[1] = param0;
27854 variable[3] = NIT_NULL /*null*/;
27855 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27856 variable[4] = variable[5];
27857 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27858 variable[5] = variable[6];
27859 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27860 variable[6] = variable[7];
27861 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27862 variable[7] = variable[8];
27863 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27864 variable[8] = variable[9];
27865 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27866 variable[9] = variable[10];
27867 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27868 variable[10] = variable[11];
27869 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27870 variable[11] = variable[12];
27871 variable[12] = variable[11] /*nodearraylist1*/;
27872 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
27873 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction328___action, LOCATE_parser, 17458); nit_exit(1);}
27874 variable[13] = variable[10] /*nodearraylist2*/;
27875 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
27876 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction328___action, LOCATE_parser, 17460); nit_exit(1);}
27877 variable[14] = variable[9] /*nodearraylist3*/;
27878 variable[15] = TAG_Bool(( variable[14] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
27879 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction328___action, LOCATE_parser, 17462); nit_exit(1);}
27880 variable[15] = variable[8] /*nodearraylist4*/;
27881 variable[16] = TAG_Bool(( variable[15] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
27882 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction328___action, LOCATE_parser, 17464); nit_exit(1);}
27883 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
27884 variable[16] = variable[17];
27885 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
27886 variable[17] = variable[18];
27887 variable[18] = variable[7] /*nodearraylist5*/;
27888 variable[19] = TAG_Bool(( variable[18] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[18] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
27889 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction328___action, LOCATE_parser, 17468); nit_exit(1);}
27890 variable[19] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[18] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[18] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[18] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[18] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[18] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[18] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
27891 if (UNTAG_Bool(variable[19])) { /*if*/
27892 variable[19] = ((array___AbstractArray___is_empty_t)CALL( variable[16] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[16] /*listnode9*/) /*AbstractArray::is_empty*/;
27893 if (UNTAG_Bool(variable[19])) { /*if*/
27894 variable[16] = variable[18] /*listnode8*/ /*listnode9=*/;
27895 } else { /*if*/
27896 ((abstract_collection___IndexedCollection___append_t)CALL( variable[16] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[16] /*listnode9*/, variable[18] /*listnode8*/) /*IndexedCollection::append*/;
27897 }
27898 }
27899 variable[19] = variable[6] /*nodearraylist6*/;
27900 variable[20] = TAG_Bool(( variable[19] /*ptypenode10*/==NIT_NULL) || VAL_ISA( variable[19] /*ptypenode10*/, COLOR_PType, ID_PType)) /*cast PType*/;
27901 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction328___action, LOCATE_parser, 17477); nit_exit(1);}
27902 variable[21] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[16] /*listnode9*/, variable[19] /*ptypenode10*/, variable[17] /*listnode11*/); /*new ASignature*/
27903 variable[20] = variable[21];
27904 variable[22] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[12] /*pdocnode2*/, NIT_NULL /*null*/, variable[13] /*pvisibilitynode4*/, variable[14] /*tkwmethnode5*/, variable[15] /*pmethidnode6*/, variable[20] /*psignaturenode7*/, NIT_NULL /*null*/); /*new AExternMethPropdef*/
27905 variable[21] = variable[22];
27906 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
27907 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
27908 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
27909 return_label688: while(false);
27910 tracehead = trace.prev;
27911 return;
27912 }
27913 void parser___ReduceAction328___init(val_t self, int* init_table) {
27914 struct trace_t trace = {NULL, NULL, 17495, LOCATE_parser___ReduceAction328___init};
27915 val_t variable[2];
27916 void **closurevariable = NULL;
27917 trace.prev = tracehead; tracehead = &trace;
27918 trace.file = LOCATE_parser;
27919 variable[0] = self;
27920 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction328].i]) return;
27921 return_label689: while(false);
27922 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction328].i] = 1;
27923 tracehead = trace.prev;
27924 return;
27925 }
27926 void parser___ReduceAction329___action(val_t self, val_t param0) {
27927 struct trace_t trace = {NULL, NULL, 17499, LOCATE_parser___ReduceAction329___action};
27928 val_t variable[21];
27929 void **closurevariable = NULL;
27930 trace.prev = tracehead; tracehead = &trace;
27931 trace.file = LOCATE_parser;
27932 variable[0] = self;
27933 variable[1] = param0;
27934 variable[3] = NIT_NULL /*null*/;
27935 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27936 variable[4] = variable[5];
27937 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27938 variable[5] = variable[6];
27939 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27940 variable[6] = variable[7];
27941 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27942 variable[7] = variable[8];
27943 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27944 variable[8] = variable[9];
27945 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27946 variable[9] = variable[10];
27947 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
27948 variable[10] = variable[11];
27949 variable[11] = variable[10] /*nodearraylist1*/;
27950 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
27951 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction329___action, LOCATE_parser, 17510); nit_exit(1);}
27952 variable[12] = variable[9] /*nodearraylist2*/;
27953 variable[13] = TAG_Bool(( variable[12] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[12] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
27954 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction329___action, LOCATE_parser, 17512); nit_exit(1);}
27955 variable[13] = variable[8] /*nodearraylist3*/;
27956 variable[14] = TAG_Bool(( variable[13] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
27957 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction329___action, LOCATE_parser, 17514); nit_exit(1);}
27958 variable[14] = variable[7] /*nodearraylist4*/;
27959 variable[15] = TAG_Bool(( variable[14] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[14] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
27960 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction329___action, LOCATE_parser, 17516); nit_exit(1);}
27961 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
27962 variable[15] = variable[16];
27963 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
27964 variable[16] = variable[17];
27965 variable[17] = variable[6] /*nodearraylist5*/;
27966 variable[18] = TAG_Bool(( variable[17] /*listnode10*/==NIT_NULL) || VAL_ISA( variable[17] /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
27967 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction329___action, LOCATE_parser, 17520); nit_exit(1);}
27968 variable[18] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[17] /*listnode10*/ == NIT_NULL /*null*/) || (( variable[17] /*listnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[17] /*listnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[17] /*listnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[17] /*listnode10*/,COLOR_kernel___Object_____eqeq))( variable[17] /*listnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
27969 if (UNTAG_Bool(variable[18])) { /*if*/
27970 variable[18] = ((array___AbstractArray___is_empty_t)CALL( variable[16] /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable[16] /*listnode11*/) /*AbstractArray::is_empty*/;
27971 if (UNTAG_Bool(variable[18])) { /*if*/
27972 variable[16] = variable[17] /*listnode10*/ /*listnode11=*/;
27973 } else { /*if*/
27974 ((abstract_collection___IndexedCollection___append_t)CALL( variable[16] /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable[16] /*listnode11*/, variable[17] /*listnode10*/) /*IndexedCollection::append*/;
27975 }
27976 }
27977 variable[19] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[15] /*listnode8*/, NIT_NULL /*null*/, variable[16] /*listnode11*/); /*new ASignature*/
27978 variable[18] = variable[19];
27979 variable[20] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[11] /*pdocnode2*/, NIT_NULL /*null*/, variable[12] /*pvisibilitynode4*/, variable[13] /*tkwmethnode5*/, variable[14] /*pmethidnode6*/, variable[18] /*psignaturenode7*/, NIT_NULL /*null*/); /*new AExternMethPropdef*/
27980 variable[19] = variable[20];
27981 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
27982 variable[20] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
27983 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
27984 return_label690: while(false);
27985 tracehead = trace.prev;
27986 return;
27987 }
27988 void parser___ReduceAction329___init(val_t self, int* init_table) {
27989 struct trace_t trace = {NULL, NULL, 17545, LOCATE_parser___ReduceAction329___init};
27990 val_t variable[2];
27991 void **closurevariable = NULL;
27992 trace.prev = tracehead; tracehead = &trace;
27993 trace.file = LOCATE_parser;
27994 variable[0] = self;
27995 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction329].i]) return;
27996 return_label691: while(false);
27997 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction329].i] = 1;
27998 tracehead = trace.prev;
27999 return;
28000 }
28001 void parser___ReduceAction330___action(val_t self, val_t param0) {
28002 struct trace_t trace = {NULL, NULL, 17549, LOCATE_parser___ReduceAction330___action};
28003 val_t variable[23];
28004 void **closurevariable = NULL;
28005 trace.prev = tracehead; tracehead = &trace;
28006 trace.file = LOCATE_parser;
28007 variable[0] = self;
28008 variable[1] = param0;
28009 variable[3] = NIT_NULL /*null*/;
28010 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28011 variable[4] = variable[5];
28012 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28013 variable[5] = variable[6];
28014 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28015 variable[6] = variable[7];
28016 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28017 variable[7] = variable[8];
28018 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28019 variable[8] = variable[9];
28020 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28021 variable[9] = variable[10];
28022 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28023 variable[10] = variable[11];
28024 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28025 variable[11] = variable[12];
28026 variable[12] = variable[11] /*nodearraylist1*/;
28027 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
28028 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction330___action, LOCATE_parser, 17561); nit_exit(1);}
28029 variable[13] = variable[10] /*nodearraylist2*/;
28030 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
28031 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction330___action, LOCATE_parser, 17563); nit_exit(1);}
28032 variable[14] = variable[9] /*nodearraylist3*/;
28033 variable[15] = TAG_Bool(( variable[14] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
28034 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction330___action, LOCATE_parser, 17565); nit_exit(1);}
28035 variable[15] = variable[8] /*nodearraylist4*/;
28036 variable[16] = TAG_Bool(( variable[15] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
28037 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction330___action, LOCATE_parser, 17567); nit_exit(1);}
28038 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
28039 variable[16] = variable[17];
28040 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
28041 variable[17] = variable[18];
28042 variable[18] = variable[7] /*nodearraylist5*/;
28043 variable[19] = TAG_Bool(( variable[18] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[18] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
28044 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction330___action, LOCATE_parser, 17571); nit_exit(1);}
28045 variable[19] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[18] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[18] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[18] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[18] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[18] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[18] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
28046 if (UNTAG_Bool(variable[19])) { /*if*/
28047 variable[19] = ((array___AbstractArray___is_empty_t)CALL( variable[16] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[16] /*listnode9*/) /*AbstractArray::is_empty*/;
28048 if (UNTAG_Bool(variable[19])) { /*if*/
28049 variable[16] = variable[18] /*listnode8*/ /*listnode9=*/;
28050 } else { /*if*/
28051 ((abstract_collection___IndexedCollection___append_t)CALL( variable[16] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[16] /*listnode9*/, variable[18] /*listnode8*/) /*IndexedCollection::append*/;
28052 }
28053 }
28054 variable[19] = variable[6] /*nodearraylist6*/;
28055 variable[20] = TAG_Bool(( variable[19] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[19] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
28056 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction330___action, LOCATE_parser, 17580); nit_exit(1);}
28057 variable[20] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[19] /*listnode11*/ == NIT_NULL /*null*/) || (( variable[19] /*listnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[19] /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable[19] /*listnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
28058 if (UNTAG_Bool(variable[20])) { /*if*/
28059 variable[20] = ((array___AbstractArray___is_empty_t)CALL( variable[17] /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable[17] /*listnode12*/) /*AbstractArray::is_empty*/;
28060 if (UNTAG_Bool(variable[20])) { /*if*/
28061 variable[17] = variable[19] /*listnode11*/ /*listnode12=*/;
28062 } else { /*if*/
28063 ((abstract_collection___IndexedCollection___append_t)CALL( variable[17] /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable[17] /*listnode12*/, variable[19] /*listnode11*/) /*IndexedCollection::append*/;
28064 }
28065 }
28066 variable[21] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[16] /*listnode9*/, NIT_NULL /*null*/, variable[17] /*listnode12*/); /*new ASignature*/
28067 variable[20] = variable[21];
28068 variable[22] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[12] /*pdocnode2*/, NIT_NULL /*null*/, variable[13] /*pvisibilitynode4*/, variable[14] /*tkwmethnode5*/, variable[15] /*pmethidnode6*/, variable[20] /*psignaturenode7*/, NIT_NULL /*null*/); /*new AExternMethPropdef*/
28069 variable[21] = variable[22];
28070 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
28071 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
28072 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
28073 return_label692: while(false);
28074 tracehead = trace.prev;
28075 return;
28076 }
28077 void parser___ReduceAction330___init(val_t self, int* init_table) {
28078 struct trace_t trace = {NULL, NULL, 17605, LOCATE_parser___ReduceAction330___init};
28079 val_t variable[2];
28080 void **closurevariable = NULL;
28081 trace.prev = tracehead; tracehead = &trace;
28082 trace.file = LOCATE_parser;
28083 variable[0] = self;
28084 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction330].i]) return;
28085 return_label693: while(false);
28086 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction330].i] = 1;
28087 tracehead = trace.prev;
28088 return;
28089 }
28090 void parser___ReduceAction331___action(val_t self, val_t param0) {
28091 struct trace_t trace = {NULL, NULL, 17609, LOCATE_parser___ReduceAction331___action};
28092 val_t variable[23];
28093 void **closurevariable = NULL;
28094 trace.prev = tracehead; tracehead = &trace;
28095 trace.file = LOCATE_parser;
28096 variable[0] = self;
28097 variable[1] = param0;
28098 variable[3] = NIT_NULL /*null*/;
28099 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28100 variable[4] = variable[5];
28101 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28102 variable[5] = variable[6];
28103 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28104 variable[6] = variable[7];
28105 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28106 variable[7] = variable[8];
28107 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28108 variable[8] = variable[9];
28109 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28110 variable[9] = variable[10];
28111 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28112 variable[10] = variable[11];
28113 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28114 variable[11] = variable[12];
28115 variable[12] = variable[11] /*nodearraylist1*/;
28116 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
28117 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction331___action, LOCATE_parser, 17621); nit_exit(1);}
28118 variable[13] = variable[10] /*nodearraylist2*/;
28119 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
28120 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction331___action, LOCATE_parser, 17623); nit_exit(1);}
28121 variable[14] = variable[9] /*nodearraylist3*/;
28122 variable[15] = TAG_Bool(( variable[14] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
28123 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction331___action, LOCATE_parser, 17625); nit_exit(1);}
28124 variable[15] = variable[8] /*nodearraylist4*/;
28125 variable[16] = TAG_Bool(( variable[15] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
28126 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction331___action, LOCATE_parser, 17627); nit_exit(1);}
28127 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
28128 variable[16] = variable[17];
28129 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
28130 variable[17] = variable[18];
28131 variable[18] = variable[7] /*nodearraylist5*/;
28132 variable[19] = TAG_Bool(( variable[18] /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable[18] /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
28133 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction331___action, LOCATE_parser, 17631); nit_exit(1);}
28134 variable[19] = variable[6] /*nodearraylist6*/;
28135 variable[20] = TAG_Bool(( variable[19] /*listnode10*/==NIT_NULL) || VAL_ISA( variable[19] /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
28136 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction331___action, LOCATE_parser, 17633); nit_exit(1);}
28137 variable[20] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[19] /*listnode10*/ == NIT_NULL /*null*/) || (( variable[19] /*listnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[19] /*listnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode10*/,COLOR_kernel___Object_____eqeq))( variable[19] /*listnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
28138 if (UNTAG_Bool(variable[20])) { /*if*/
28139 variable[20] = ((array___AbstractArray___is_empty_t)CALL( variable[17] /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable[17] /*listnode11*/) /*AbstractArray::is_empty*/;
28140 if (UNTAG_Bool(variable[20])) { /*if*/
28141 variable[17] = variable[19] /*listnode10*/ /*listnode11=*/;
28142 } else { /*if*/
28143 ((abstract_collection___IndexedCollection___append_t)CALL( variable[17] /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable[17] /*listnode11*/, variable[19] /*listnode10*/) /*IndexedCollection::append*/;
28144 }
28145 }
28146 variable[21] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[16] /*listnode8*/, variable[18] /*ptypenode9*/, variable[17] /*listnode11*/); /*new ASignature*/
28147 variable[20] = variable[21];
28148 variable[22] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[12] /*pdocnode2*/, NIT_NULL /*null*/, variable[13] /*pvisibilitynode4*/, variable[14] /*tkwmethnode5*/, variable[15] /*pmethidnode6*/, variable[20] /*psignaturenode7*/, NIT_NULL /*null*/); /*new AExternMethPropdef*/
28149 variable[21] = variable[22];
28150 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
28151 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
28152 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
28153 return_label694: while(false);
28154 tracehead = trace.prev;
28155 return;
28156 }
28157 void parser___ReduceAction331___init(val_t self, int* init_table) {
28158 struct trace_t trace = {NULL, NULL, 17658, LOCATE_parser___ReduceAction331___init};
28159 val_t variable[2];
28160 void **closurevariable = NULL;
28161 trace.prev = tracehead; tracehead = &trace;
28162 trace.file = LOCATE_parser;
28163 variable[0] = self;
28164 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction331].i]) return;
28165 return_label695: while(false);
28166 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction331].i] = 1;
28167 tracehead = trace.prev;
28168 return;
28169 }
28170 void parser___ReduceAction332___action(val_t self, val_t param0) {
28171 struct trace_t trace = {NULL, NULL, 17662, LOCATE_parser___ReduceAction332___action};
28172 val_t variable[25];
28173 void **closurevariable = NULL;
28174 trace.prev = tracehead; tracehead = &trace;
28175 trace.file = LOCATE_parser;
28176 variable[0] = self;
28177 variable[1] = param0;
28178 variable[3] = NIT_NULL /*null*/;
28179 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28180 variable[4] = variable[5];
28181 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28182 variable[5] = variable[6];
28183 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28184 variable[6] = variable[7];
28185 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28186 variable[7] = variable[8];
28187 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28188 variable[8] = variable[9];
28189 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28190 variable[9] = variable[10];
28191 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28192 variable[10] = variable[11];
28193 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28194 variable[11] = variable[12];
28195 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28196 variable[12] = variable[13];
28197 variable[13] = variable[12] /*nodearraylist1*/;
28198 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
28199 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction332___action, LOCATE_parser, 17675); nit_exit(1);}
28200 variable[14] = variable[11] /*nodearraylist2*/;
28201 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
28202 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction332___action, LOCATE_parser, 17677); nit_exit(1);}
28203 variable[15] = variable[10] /*nodearraylist3*/;
28204 variable[16] = TAG_Bool(( variable[15] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
28205 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction332___action, LOCATE_parser, 17679); nit_exit(1);}
28206 variable[16] = variable[9] /*nodearraylist4*/;
28207 variable[17] = TAG_Bool(( variable[16] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[16] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
28208 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction332___action, LOCATE_parser, 17681); nit_exit(1);}
28209 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
28210 variable[17] = variable[18];
28211 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
28212 variable[18] = variable[19];
28213 variable[19] = variable[8] /*nodearraylist5*/;
28214 variable[20] = TAG_Bool(( variable[19] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[19] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
28215 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction332___action, LOCATE_parser, 17685); nit_exit(1);}
28216 variable[20] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[19] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[19] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[19] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[19] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
28217 if (UNTAG_Bool(variable[20])) { /*if*/
28218 variable[20] = ((array___AbstractArray___is_empty_t)CALL( variable[17] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[17] /*listnode9*/) /*AbstractArray::is_empty*/;
28219 if (UNTAG_Bool(variable[20])) { /*if*/
28220 variable[17] = variable[19] /*listnode8*/ /*listnode9=*/;
28221 } else { /*if*/
28222 ((abstract_collection___IndexedCollection___append_t)CALL( variable[17] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[17] /*listnode9*/, variable[19] /*listnode8*/) /*IndexedCollection::append*/;
28223 }
28224 }
28225 variable[20] = variable[7] /*nodearraylist6*/;
28226 variable[21] = TAG_Bool(( variable[20] /*ptypenode10*/==NIT_NULL) || VAL_ISA( variable[20] /*ptypenode10*/, COLOR_PType, ID_PType)) /*cast PType*/;
28227 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction332___action, LOCATE_parser, 17694); nit_exit(1);}
28228 variable[21] = variable[6] /*nodearraylist7*/;
28229 variable[22] = TAG_Bool(( variable[21] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[21] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
28230 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction332___action, LOCATE_parser, 17696); nit_exit(1);}
28231 variable[22] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[21] /*listnode11*/ == NIT_NULL /*null*/) || (( variable[21] /*listnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[21] /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable[21] /*listnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
28232 if (UNTAG_Bool(variable[22])) { /*if*/
28233 variable[22] = ((array___AbstractArray___is_empty_t)CALL( variable[18] /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable[18] /*listnode12*/) /*AbstractArray::is_empty*/;
28234 if (UNTAG_Bool(variable[22])) { /*if*/
28235 variable[18] = variable[21] /*listnode11*/ /*listnode12=*/;
28236 } else { /*if*/
28237 ((abstract_collection___IndexedCollection___append_t)CALL( variable[18] /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable[18] /*listnode12*/, variable[21] /*listnode11*/) /*IndexedCollection::append*/;
28238 }
28239 }
28240 variable[23] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[17] /*listnode9*/, variable[20] /*ptypenode10*/, variable[18] /*listnode12*/); /*new ASignature*/
28241 variable[22] = variable[23];
28242 variable[24] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[13] /*pdocnode2*/, NIT_NULL /*null*/, variable[14] /*pvisibilitynode4*/, variable[15] /*tkwmethnode5*/, variable[16] /*pmethidnode6*/, variable[22] /*psignaturenode7*/, NIT_NULL /*null*/); /*new AExternMethPropdef*/
28243 variable[23] = variable[24];
28244 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
28245 variable[24] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
28246 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
28247 return_label696: while(false);
28248 tracehead = trace.prev;
28249 return;
28250 }
28251 void parser___ReduceAction332___init(val_t self, int* init_table) {
28252 struct trace_t trace = {NULL, NULL, 17721, LOCATE_parser___ReduceAction332___init};
28253 val_t variable[2];
28254 void **closurevariable = NULL;
28255 trace.prev = tracehead; tracehead = &trace;
28256 trace.file = LOCATE_parser;
28257 variable[0] = self;
28258 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction332].i]) return;
28259 return_label697: while(false);
28260 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction332].i] = 1;
28261 tracehead = trace.prev;
28262 return;
28263 }
28264 void parser___ReduceAction333___action(val_t self, val_t param0) {
28265 struct trace_t trace = {NULL, NULL, 17725, LOCATE_parser___ReduceAction333___action};
28266 val_t variable[21];
28267 void **closurevariable = NULL;
28268 trace.prev = tracehead; tracehead = &trace;
28269 trace.file = LOCATE_parser;
28270 variable[0] = self;
28271 variable[1] = param0;
28272 variable[3] = NIT_NULL /*null*/;
28273 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28274 variable[4] = variable[5];
28275 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28276 variable[5] = variable[6];
28277 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28278 variable[6] = variable[7];
28279 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28280 variable[7] = variable[8];
28281 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28282 variable[8] = variable[9];
28283 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28284 variable[9] = variable[10];
28285 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28286 variable[10] = variable[11];
28287 variable[11] = variable[10] /*nodearraylist1*/;
28288 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
28289 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction333___action, LOCATE_parser, 17736); nit_exit(1);}
28290 variable[12] = variable[9] /*nodearraylist2*/;
28291 variable[13] = TAG_Bool(( variable[12] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
28292 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction333___action, LOCATE_parser, 17738); nit_exit(1);}
28293 variable[13] = variable[8] /*nodearraylist3*/;
28294 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
28295 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction333___action, LOCATE_parser, 17740); nit_exit(1);}
28296 variable[14] = variable[7] /*nodearraylist4*/;
28297 variable[15] = TAG_Bool(( variable[14] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
28298 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction333___action, LOCATE_parser, 17742); nit_exit(1);}
28299 variable[15] = variable[6] /*nodearraylist5*/;
28300 variable[16] = TAG_Bool(( variable[15] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
28301 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction333___action, LOCATE_parser, 17744); nit_exit(1);}
28302 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
28303 variable[16] = variable[17];
28304 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
28305 variable[17] = variable[18];
28306 variable[19] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[16] /*listnode8*/, NIT_NULL /*null*/, variable[17] /*listnode10*/); /*new ASignature*/
28307 variable[18] = variable[19];
28308 variable[20] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[11] /*pdocnode2*/, variable[12] /*tkwredefnode3*/, variable[13] /*pvisibilitynode4*/, variable[14] /*tkwmethnode5*/, variable[15] /*pmethidnode6*/, variable[18] /*psignaturenode7*/, NIT_NULL /*null*/); /*new AExternMethPropdef*/
28309 variable[19] = variable[20];
28310 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
28311 variable[20] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
28312 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
28313 return_label698: while(false);
28314 tracehead = trace.prev;
28315 return;
28316 }
28317 void parser___ReduceAction333___init(val_t self, int* init_table) {
28318 struct trace_t trace = {NULL, NULL, 17764, LOCATE_parser___ReduceAction333___init};
28319 val_t variable[2];
28320 void **closurevariable = NULL;
28321 trace.prev = tracehead; tracehead = &trace;
28322 trace.file = LOCATE_parser;
28323 variable[0] = self;
28324 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction333].i]) return;
28325 return_label699: while(false);
28326 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction333].i] = 1;
28327 tracehead = trace.prev;
28328 return;
28329 }
28330 void parser___ReduceAction334___action(val_t self, val_t param0) {
28331 struct trace_t trace = {NULL, NULL, 17768, LOCATE_parser___ReduceAction334___action};
28332 val_t variable[23];
28333 void **closurevariable = NULL;
28334 trace.prev = tracehead; tracehead = &trace;
28335 trace.file = LOCATE_parser;
28336 variable[0] = self;
28337 variable[1] = param0;
28338 variable[3] = NIT_NULL /*null*/;
28339 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28340 variable[4] = variable[5];
28341 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28342 variable[5] = variable[6];
28343 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28344 variable[6] = variable[7];
28345 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28346 variable[7] = variable[8];
28347 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28348 variable[8] = variable[9];
28349 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28350 variable[9] = variable[10];
28351 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28352 variable[10] = variable[11];
28353 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28354 variable[11] = variable[12];
28355 variable[12] = variable[11] /*nodearraylist1*/;
28356 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
28357 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction334___action, LOCATE_parser, 17780); nit_exit(1);}
28358 variable[13] = variable[10] /*nodearraylist2*/;
28359 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
28360 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction334___action, LOCATE_parser, 17782); nit_exit(1);}
28361 variable[14] = variable[9] /*nodearraylist3*/;
28362 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
28363 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction334___action, LOCATE_parser, 17784); nit_exit(1);}
28364 variable[15] = variable[8] /*nodearraylist4*/;
28365 variable[16] = TAG_Bool(( variable[15] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
28366 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction334___action, LOCATE_parser, 17786); nit_exit(1);}
28367 variable[16] = variable[7] /*nodearraylist5*/;
28368 variable[17] = TAG_Bool(( variable[16] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[16] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
28369 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction334___action, LOCATE_parser, 17788); nit_exit(1);}
28370 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
28371 variable[17] = variable[18];
28372 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
28373 variable[18] = variable[19];
28374 variable[19] = variable[6] /*nodearraylist6*/;
28375 variable[20] = TAG_Bool(( variable[19] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[19] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
28376 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction334___action, LOCATE_parser, 17792); nit_exit(1);}
28377 variable[20] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[19] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[19] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[19] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[19] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
28378 if (UNTAG_Bool(variable[20])) { /*if*/
28379 variable[20] = ((array___AbstractArray___is_empty_t)CALL( variable[17] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[17] /*listnode9*/) /*AbstractArray::is_empty*/;
28380 if (UNTAG_Bool(variable[20])) { /*if*/
28381 variable[17] = variable[19] /*listnode8*/ /*listnode9=*/;
28382 } else { /*if*/
28383 ((abstract_collection___IndexedCollection___append_t)CALL( variable[17] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[17] /*listnode9*/, variable[19] /*listnode8*/) /*IndexedCollection::append*/;
28384 }
28385 }
28386 variable[21] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[17] /*listnode9*/, NIT_NULL /*null*/, variable[18] /*listnode11*/); /*new ASignature*/
28387 variable[20] = variable[21];
28388 variable[22] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[12] /*pdocnode2*/, variable[13] /*tkwredefnode3*/, variable[14] /*pvisibilitynode4*/, variable[15] /*tkwmethnode5*/, variable[16] /*pmethidnode6*/, variable[20] /*psignaturenode7*/, NIT_NULL /*null*/); /*new AExternMethPropdef*/
28389 variable[21] = variable[22];
28390 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
28391 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
28392 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
28393 return_label700: while(false);
28394 tracehead = trace.prev;
28395 return;
28396 }
28397 void parser___ReduceAction334___init(val_t self, int* init_table) {
28398 struct trace_t trace = {NULL, NULL, 17817, LOCATE_parser___ReduceAction334___init};
28399 val_t variable[2];
28400 void **closurevariable = NULL;
28401 trace.prev = tracehead; tracehead = &trace;
28402 trace.file = LOCATE_parser;
28403 variable[0] = self;
28404 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction334].i]) return;
28405 return_label701: while(false);
28406 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction334].i] = 1;
28407 tracehead = trace.prev;
28408 return;
28409 }
28410 void parser___ReduceAction335___action(val_t self, val_t param0) {
28411 struct trace_t trace = {NULL, NULL, 17821, LOCATE_parser___ReduceAction335___action};
28412 val_t variable[23];
28413 void **closurevariable = NULL;
28414 trace.prev = tracehead; tracehead = &trace;
28415 trace.file = LOCATE_parser;
28416 variable[0] = self;
28417 variable[1] = param0;
28418 variable[3] = NIT_NULL /*null*/;
28419 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28420 variable[4] = variable[5];
28421 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28422 variable[5] = variable[6];
28423 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28424 variable[6] = variable[7];
28425 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28426 variable[7] = variable[8];
28427 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28428 variable[8] = variable[9];
28429 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28430 variable[9] = variable[10];
28431 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28432 variable[10] = variable[11];
28433 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28434 variable[11] = variable[12];
28435 variable[12] = variable[11] /*nodearraylist1*/;
28436 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
28437 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction335___action, LOCATE_parser, 17833); nit_exit(1);}
28438 variable[13] = variable[10] /*nodearraylist2*/;
28439 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
28440 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction335___action, LOCATE_parser, 17835); nit_exit(1);}
28441 variable[14] = variable[9] /*nodearraylist3*/;
28442 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
28443 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction335___action, LOCATE_parser, 17837); nit_exit(1);}
28444 variable[15] = variable[8] /*nodearraylist4*/;
28445 variable[16] = TAG_Bool(( variable[15] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
28446 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction335___action, LOCATE_parser, 17839); nit_exit(1);}
28447 variable[16] = variable[7] /*nodearraylist5*/;
28448 variable[17] = TAG_Bool(( variable[16] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[16] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
28449 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction335___action, LOCATE_parser, 17841); nit_exit(1);}
28450 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
28451 variable[17] = variable[18];
28452 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
28453 variable[18] = variable[19];
28454 variable[19] = variable[6] /*nodearraylist6*/;
28455 variable[20] = TAG_Bool(( variable[19] /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable[19] /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
28456 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction335___action, LOCATE_parser, 17845); nit_exit(1);}
28457 variable[21] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[17] /*listnode8*/, variable[19] /*ptypenode9*/, variable[18] /*listnode10*/); /*new ASignature*/
28458 variable[20] = variable[21];
28459 variable[22] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[12] /*pdocnode2*/, variable[13] /*tkwredefnode3*/, variable[14] /*pvisibilitynode4*/, variable[15] /*tkwmethnode5*/, variable[16] /*pmethidnode6*/, variable[20] /*psignaturenode7*/, NIT_NULL /*null*/); /*new AExternMethPropdef*/
28460 variable[21] = variable[22];
28461 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
28462 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
28463 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
28464 return_label702: while(false);
28465 tracehead = trace.prev;
28466 return;
28467 }
28468 void parser___ReduceAction335___init(val_t self, int* init_table) {
28469 struct trace_t trace = {NULL, NULL, 17863, LOCATE_parser___ReduceAction335___init};
28470 val_t variable[2];
28471 void **closurevariable = NULL;
28472 trace.prev = tracehead; tracehead = &trace;
28473 trace.file = LOCATE_parser;
28474 variable[0] = self;
28475 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction335].i]) return;
28476 return_label703: while(false);
28477 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction335].i] = 1;
28478 tracehead = trace.prev;
28479 return;
28480 }
28481 void parser___ReduceAction336___action(val_t self, val_t param0) {
28482 struct trace_t trace = {NULL, NULL, 17867, LOCATE_parser___ReduceAction336___action};
28483 val_t variable[25];
28484 void **closurevariable = NULL;
28485 trace.prev = tracehead; tracehead = &trace;
28486 trace.file = LOCATE_parser;
28487 variable[0] = self;
28488 variable[1] = param0;
28489 variable[3] = NIT_NULL /*null*/;
28490 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28491 variable[4] = variable[5];
28492 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28493 variable[5] = variable[6];
28494 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28495 variable[6] = variable[7];
28496 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28497 variable[7] = variable[8];
28498 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28499 variable[8] = variable[9];
28500 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28501 variable[9] = variable[10];
28502 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28503 variable[10] = variable[11];
28504 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28505 variable[11] = variable[12];
28506 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28507 variable[12] = variable[13];
28508 variable[13] = variable[12] /*nodearraylist1*/;
28509 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
28510 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction336___action, LOCATE_parser, 17880); nit_exit(1);}
28511 variable[14] = variable[11] /*nodearraylist2*/;
28512 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
28513 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction336___action, LOCATE_parser, 17882); nit_exit(1);}
28514 variable[15] = variable[10] /*nodearraylist3*/;
28515 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
28516 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction336___action, LOCATE_parser, 17884); nit_exit(1);}
28517 variable[16] = variable[9] /*nodearraylist4*/;
28518 variable[17] = TAG_Bool(( variable[16] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
28519 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction336___action, LOCATE_parser, 17886); nit_exit(1);}
28520 variable[17] = variable[8] /*nodearraylist5*/;
28521 variable[18] = TAG_Bool(( variable[17] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[17] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
28522 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction336___action, LOCATE_parser, 17888); nit_exit(1);}
28523 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
28524 variable[18] = variable[19];
28525 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
28526 variable[19] = variable[20];
28527 variable[20] = variable[7] /*nodearraylist6*/;
28528 variable[21] = TAG_Bool(( variable[20] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[20] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
28529 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction336___action, LOCATE_parser, 17892); nit_exit(1);}
28530 variable[21] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[20] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[20] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[20] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[20] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
28531 if (UNTAG_Bool(variable[21])) { /*if*/
28532 variable[21] = ((array___AbstractArray___is_empty_t)CALL( variable[18] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[18] /*listnode9*/) /*AbstractArray::is_empty*/;
28533 if (UNTAG_Bool(variable[21])) { /*if*/
28534 variable[18] = variable[20] /*listnode8*/ /*listnode9=*/;
28535 } else { /*if*/
28536 ((abstract_collection___IndexedCollection___append_t)CALL( variable[18] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[18] /*listnode9*/, variable[20] /*listnode8*/) /*IndexedCollection::append*/;
28537 }
28538 }
28539 variable[21] = variable[6] /*nodearraylist7*/;
28540 variable[22] = TAG_Bool(( variable[21] /*ptypenode10*/==NIT_NULL) || VAL_ISA( variable[21] /*ptypenode10*/, COLOR_PType, ID_PType)) /*cast PType*/;
28541 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction336___action, LOCATE_parser, 17901); nit_exit(1);}
28542 variable[23] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[18] /*listnode9*/, variable[21] /*ptypenode10*/, variable[19] /*listnode11*/); /*new ASignature*/
28543 variable[22] = variable[23];
28544 variable[24] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[13] /*pdocnode2*/, variable[14] /*tkwredefnode3*/, variable[15] /*pvisibilitynode4*/, variable[16] /*tkwmethnode5*/, variable[17] /*pmethidnode6*/, variable[22] /*psignaturenode7*/, NIT_NULL /*null*/); /*new AExternMethPropdef*/
28545 variable[23] = variable[24];
28546 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
28547 variable[24] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
28548 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
28549 return_label704: while(false);
28550 tracehead = trace.prev;
28551 return;
28552 }
28553 void parser___ReduceAction336___init(val_t self, int* init_table) {
28554 struct trace_t trace = {NULL, NULL, 17919, LOCATE_parser___ReduceAction336___init};
28555 val_t variable[2];
28556 void **closurevariable = NULL;
28557 trace.prev = tracehead; tracehead = &trace;
28558 trace.file = LOCATE_parser;
28559 variable[0] = self;
28560 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction336].i]) return;
28561 return_label705: while(false);
28562 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction336].i] = 1;
28563 tracehead = trace.prev;
28564 return;
28565 }
28566 void parser___ReduceAction337___action(val_t self, val_t param0) {
28567 struct trace_t trace = {NULL, NULL, 17923, LOCATE_parser___ReduceAction337___action};
28568 val_t variable[23];
28569 void **closurevariable = NULL;
28570 trace.prev = tracehead; tracehead = &trace;
28571 trace.file = LOCATE_parser;
28572 variable[0] = self;
28573 variable[1] = param0;
28574 variable[3] = NIT_NULL /*null*/;
28575 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28576 variable[4] = variable[5];
28577 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28578 variable[5] = variable[6];
28579 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28580 variable[6] = variable[7];
28581 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28582 variable[7] = variable[8];
28583 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28584 variable[8] = variable[9];
28585 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28586 variable[9] = variable[10];
28587 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28588 variable[10] = variable[11];
28589 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28590 variable[11] = variable[12];
28591 variable[12] = variable[11] /*nodearraylist1*/;
28592 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
28593 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction337___action, LOCATE_parser, 17935); nit_exit(1);}
28594 variable[13] = variable[10] /*nodearraylist2*/;
28595 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
28596 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction337___action, LOCATE_parser, 17937); nit_exit(1);}
28597 variable[14] = variable[9] /*nodearraylist3*/;
28598 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
28599 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction337___action, LOCATE_parser, 17939); nit_exit(1);}
28600 variable[15] = variable[8] /*nodearraylist4*/;
28601 variable[16] = TAG_Bool(( variable[15] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
28602 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction337___action, LOCATE_parser, 17941); nit_exit(1);}
28603 variable[16] = variable[7] /*nodearraylist5*/;
28604 variable[17] = TAG_Bool(( variable[16] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[16] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
28605 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction337___action, LOCATE_parser, 17943); nit_exit(1);}
28606 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
28607 variable[17] = variable[18];
28608 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
28609 variable[18] = variable[19];
28610 variable[19] = variable[6] /*nodearraylist6*/;
28611 variable[20] = TAG_Bool(( variable[19] /*listnode10*/==NIT_NULL) || VAL_ISA( variable[19] /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
28612 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction337___action, LOCATE_parser, 17947); nit_exit(1);}
28613 variable[20] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[19] /*listnode10*/ == NIT_NULL /*null*/) || (( variable[19] /*listnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[19] /*listnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode10*/,COLOR_kernel___Object_____eqeq))( variable[19] /*listnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
28614 if (UNTAG_Bool(variable[20])) { /*if*/
28615 variable[20] = ((array___AbstractArray___is_empty_t)CALL( variable[18] /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable[18] /*listnode11*/) /*AbstractArray::is_empty*/;
28616 if (UNTAG_Bool(variable[20])) { /*if*/
28617 variable[18] = variable[19] /*listnode10*/ /*listnode11=*/;
28618 } else { /*if*/
28619 ((abstract_collection___IndexedCollection___append_t)CALL( variable[18] /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable[18] /*listnode11*/, variable[19] /*listnode10*/) /*IndexedCollection::append*/;
28620 }
28621 }
28622 variable[21] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[17] /*listnode8*/, NIT_NULL /*null*/, variable[18] /*listnode11*/); /*new ASignature*/
28623 variable[20] = variable[21];
28624 variable[22] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[12] /*pdocnode2*/, variable[13] /*tkwredefnode3*/, variable[14] /*pvisibilitynode4*/, variable[15] /*tkwmethnode5*/, variable[16] /*pmethidnode6*/, variable[20] /*psignaturenode7*/, NIT_NULL /*null*/); /*new AExternMethPropdef*/
28625 variable[21] = variable[22];
28626 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
28627 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
28628 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
28629 return_label706: while(false);
28630 tracehead = trace.prev;
28631 return;
28632 }
28633 void parser___ReduceAction337___init(val_t self, int* init_table) {
28634 struct trace_t trace = {NULL, NULL, 17972, LOCATE_parser___ReduceAction337___init};
28635 val_t variable[2];
28636 void **closurevariable = NULL;
28637 trace.prev = tracehead; tracehead = &trace;
28638 trace.file = LOCATE_parser;
28639 variable[0] = self;
28640 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction337].i]) return;
28641 return_label707: while(false);
28642 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction337].i] = 1;
28643 tracehead = trace.prev;
28644 return;
28645 }
28646 void parser___ReduceAction338___action(val_t self, val_t param0) {
28647 struct trace_t trace = {NULL, NULL, 17976, LOCATE_parser___ReduceAction338___action};
28648 val_t variable[25];
28649 void **closurevariable = NULL;
28650 trace.prev = tracehead; tracehead = &trace;
28651 trace.file = LOCATE_parser;
28652 variable[0] = self;
28653 variable[1] = param0;
28654 variable[3] = NIT_NULL /*null*/;
28655 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28656 variable[4] = variable[5];
28657 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28658 variable[5] = variable[6];
28659 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28660 variable[6] = variable[7];
28661 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28662 variable[7] = variable[8];
28663 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28664 variable[8] = variable[9];
28665 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28666 variable[9] = variable[10];
28667 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28668 variable[10] = variable[11];
28669 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28670 variable[11] = variable[12];
28671 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28672 variable[12] = variable[13];
28673 variable[13] = variable[12] /*nodearraylist1*/;
28674 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
28675 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction338___action, LOCATE_parser, 17989); nit_exit(1);}
28676 variable[14] = variable[11] /*nodearraylist2*/;
28677 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
28678 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction338___action, LOCATE_parser, 17991); nit_exit(1);}
28679 variable[15] = variable[10] /*nodearraylist3*/;
28680 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
28681 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction338___action, LOCATE_parser, 17993); nit_exit(1);}
28682 variable[16] = variable[9] /*nodearraylist4*/;
28683 variable[17] = TAG_Bool(( variable[16] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
28684 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction338___action, LOCATE_parser, 17995); nit_exit(1);}
28685 variable[17] = variable[8] /*nodearraylist5*/;
28686 variable[18] = TAG_Bool(( variable[17] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[17] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
28687 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction338___action, LOCATE_parser, 17997); nit_exit(1);}
28688 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
28689 variable[18] = variable[19];
28690 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
28691 variable[19] = variable[20];
28692 variable[20] = variable[7] /*nodearraylist6*/;
28693 variable[21] = TAG_Bool(( variable[20] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[20] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
28694 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction338___action, LOCATE_parser, 18001); nit_exit(1);}
28695 variable[21] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[20] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[20] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[20] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[20] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
28696 if (UNTAG_Bool(variable[21])) { /*if*/
28697 variable[21] = ((array___AbstractArray___is_empty_t)CALL( variable[18] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[18] /*listnode9*/) /*AbstractArray::is_empty*/;
28698 if (UNTAG_Bool(variable[21])) { /*if*/
28699 variable[18] = variable[20] /*listnode8*/ /*listnode9=*/;
28700 } else { /*if*/
28701 ((abstract_collection___IndexedCollection___append_t)CALL( variable[18] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[18] /*listnode9*/, variable[20] /*listnode8*/) /*IndexedCollection::append*/;
28702 }
28703 }
28704 variable[21] = variable[6] /*nodearraylist7*/;
28705 variable[22] = TAG_Bool(( variable[21] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[21] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
28706 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction338___action, LOCATE_parser, 18010); nit_exit(1);}
28707 variable[22] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[21] /*listnode11*/ == NIT_NULL /*null*/) || (( variable[21] /*listnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[21] /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable[21] /*listnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
28708 if (UNTAG_Bool(variable[22])) { /*if*/
28709 variable[22] = ((array___AbstractArray___is_empty_t)CALL( variable[19] /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable[19] /*listnode12*/) /*AbstractArray::is_empty*/;
28710 if (UNTAG_Bool(variable[22])) { /*if*/
28711 variable[19] = variable[21] /*listnode11*/ /*listnode12=*/;
28712 } else { /*if*/
28713 ((abstract_collection___IndexedCollection___append_t)CALL( variable[19] /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable[19] /*listnode12*/, variable[21] /*listnode11*/) /*IndexedCollection::append*/;
28714 }
28715 }
28716 variable[23] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[18] /*listnode9*/, NIT_NULL /*null*/, variable[19] /*listnode12*/); /*new ASignature*/
28717 variable[22] = variable[23];
28718 variable[24] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[13] /*pdocnode2*/, variable[14] /*tkwredefnode3*/, variable[15] /*pvisibilitynode4*/, variable[16] /*tkwmethnode5*/, variable[17] /*pmethidnode6*/, variable[22] /*psignaturenode7*/, NIT_NULL /*null*/); /*new AExternMethPropdef*/
28719 variable[23] = variable[24];
28720 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
28721 variable[24] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
28722 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
28723 return_label708: while(false);
28724 tracehead = trace.prev;
28725 return;
28726 }
28727 void parser___ReduceAction338___init(val_t self, int* init_table) {
28728 struct trace_t trace = {NULL, NULL, 18035, LOCATE_parser___ReduceAction338___init};
28729 val_t variable[2];
28730 void **closurevariable = NULL;
28731 trace.prev = tracehead; tracehead = &trace;
28732 trace.file = LOCATE_parser;
28733 variable[0] = self;
28734 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction338].i]) return;
28735 return_label709: while(false);
28736 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction338].i] = 1;
28737 tracehead = trace.prev;
28738 return;
28739 }
28740 void parser___ReduceAction339___action(val_t self, val_t param0) {
28741 struct trace_t trace = {NULL, NULL, 18039, LOCATE_parser___ReduceAction339___action};
28742 val_t variable[25];
28743 void **closurevariable = NULL;
28744 trace.prev = tracehead; tracehead = &trace;
28745 trace.file = LOCATE_parser;
28746 variable[0] = self;
28747 variable[1] = param0;
28748 variable[3] = NIT_NULL /*null*/;
28749 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28750 variable[4] = variable[5];
28751 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28752 variable[5] = variable[6];
28753 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28754 variable[6] = variable[7];
28755 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28756 variable[7] = variable[8];
28757 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28758 variable[8] = variable[9];
28759 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28760 variable[9] = variable[10];
28761 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28762 variable[10] = variable[11];
28763 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28764 variable[11] = variable[12];
28765 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28766 variable[12] = variable[13];
28767 variable[13] = variable[12] /*nodearraylist1*/;
28768 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
28769 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction339___action, LOCATE_parser, 18052); nit_exit(1);}
28770 variable[14] = variable[11] /*nodearraylist2*/;
28771 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
28772 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction339___action, LOCATE_parser, 18054); nit_exit(1);}
28773 variable[15] = variable[10] /*nodearraylist3*/;
28774 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
28775 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction339___action, LOCATE_parser, 18056); nit_exit(1);}
28776 variable[16] = variable[9] /*nodearraylist4*/;
28777 variable[17] = TAG_Bool(( variable[16] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
28778 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction339___action, LOCATE_parser, 18058); nit_exit(1);}
28779 variable[17] = variable[8] /*nodearraylist5*/;
28780 variable[18] = TAG_Bool(( variable[17] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[17] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
28781 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction339___action, LOCATE_parser, 18060); nit_exit(1);}
28782 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
28783 variable[18] = variable[19];
28784 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
28785 variable[19] = variable[20];
28786 variable[20] = variable[7] /*nodearraylist6*/;
28787 variable[21] = TAG_Bool(( variable[20] /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable[20] /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
28788 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction339___action, LOCATE_parser, 18064); nit_exit(1);}
28789 variable[21] = variable[6] /*nodearraylist7*/;
28790 variable[22] = TAG_Bool(( variable[21] /*listnode10*/==NIT_NULL) || VAL_ISA( variable[21] /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
28791 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction339___action, LOCATE_parser, 18066); nit_exit(1);}
28792 variable[22] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[21] /*listnode10*/ == NIT_NULL /*null*/) || (( variable[21] /*listnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[21] /*listnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode10*/,COLOR_kernel___Object_____eqeq))( variable[21] /*listnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
28793 if (UNTAG_Bool(variable[22])) { /*if*/
28794 variable[22] = ((array___AbstractArray___is_empty_t)CALL( variable[19] /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable[19] /*listnode11*/) /*AbstractArray::is_empty*/;
28795 if (UNTAG_Bool(variable[22])) { /*if*/
28796 variable[19] = variable[21] /*listnode10*/ /*listnode11=*/;
28797 } else { /*if*/
28798 ((abstract_collection___IndexedCollection___append_t)CALL( variable[19] /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable[19] /*listnode11*/, variable[21] /*listnode10*/) /*IndexedCollection::append*/;
28799 }
28800 }
28801 variable[23] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[18] /*listnode8*/, variable[20] /*ptypenode9*/, variable[19] /*listnode11*/); /*new ASignature*/
28802 variable[22] = variable[23];
28803 variable[24] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[13] /*pdocnode2*/, variable[14] /*tkwredefnode3*/, variable[15] /*pvisibilitynode4*/, variable[16] /*tkwmethnode5*/, variable[17] /*pmethidnode6*/, variable[22] /*psignaturenode7*/, NIT_NULL /*null*/); /*new AExternMethPropdef*/
28804 variable[23] = variable[24];
28805 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
28806 variable[24] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
28807 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
28808 return_label710: while(false);
28809 tracehead = trace.prev;
28810 return;
28811 }
28812 void parser___ReduceAction339___init(val_t self, int* init_table) {
28813 struct trace_t trace = {NULL, NULL, 18091, LOCATE_parser___ReduceAction339___init};
28814 val_t variable[2];
28815 void **closurevariable = NULL;
28816 trace.prev = tracehead; tracehead = &trace;
28817 trace.file = LOCATE_parser;
28818 variable[0] = self;
28819 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction339].i]) return;
28820 return_label711: while(false);
28821 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction339].i] = 1;
28822 tracehead = trace.prev;
28823 return;
28824 }
28825 void parser___ReduceAction340___action(val_t self, val_t param0) {
28826 struct trace_t trace = {NULL, NULL, 18095, LOCATE_parser___ReduceAction340___action};
28827 val_t variable[27];
28828 void **closurevariable = NULL;
28829 trace.prev = tracehead; tracehead = &trace;
28830 trace.file = LOCATE_parser;
28831 variable[0] = self;
28832 variable[1] = param0;
28833 variable[3] = NIT_NULL /*null*/;
28834 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28835 variable[4] = variable[5];
28836 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28837 variable[5] = variable[6];
28838 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28839 variable[6] = variable[7];
28840 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28841 variable[7] = variable[8];
28842 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28843 variable[8] = variable[9];
28844 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28845 variable[9] = variable[10];
28846 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28847 variable[10] = variable[11];
28848 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28849 variable[11] = variable[12];
28850 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28851 variable[12] = variable[13];
28852 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28853 variable[13] = variable[14];
28854 variable[14] = variable[13] /*nodearraylist1*/;
28855 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
28856 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction340___action, LOCATE_parser, 18109); nit_exit(1);}
28857 variable[15] = variable[12] /*nodearraylist2*/;
28858 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
28859 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction340___action, LOCATE_parser, 18111); nit_exit(1);}
28860 variable[16] = variable[11] /*nodearraylist3*/;
28861 variable[17] = TAG_Bool(( variable[16] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[16] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
28862 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction340___action, LOCATE_parser, 18113); nit_exit(1);}
28863 variable[17] = variable[10] /*nodearraylist4*/;
28864 variable[18] = TAG_Bool(( variable[17] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
28865 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction340___action, LOCATE_parser, 18115); nit_exit(1);}
28866 variable[18] = variable[9] /*nodearraylist5*/;
28867 variable[19] = TAG_Bool(( variable[18] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[18] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
28868 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction340___action, LOCATE_parser, 18117); nit_exit(1);}
28869 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
28870 variable[19] = variable[20];
28871 variable[21] = NEW_Array_array___Array___init(); /*new Array[Object]*/
28872 variable[20] = variable[21];
28873 variable[21] = variable[8] /*nodearraylist6*/;
28874 variable[22] = TAG_Bool(( variable[21] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[21] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
28875 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction340___action, LOCATE_parser, 18121); nit_exit(1);}
28876 variable[22] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[21] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[21] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[21] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[21] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
28877 if (UNTAG_Bool(variable[22])) { /*if*/
28878 variable[22] = ((array___AbstractArray___is_empty_t)CALL( variable[19] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[19] /*listnode9*/) /*AbstractArray::is_empty*/;
28879 if (UNTAG_Bool(variable[22])) { /*if*/
28880 variable[19] = variable[21] /*listnode8*/ /*listnode9=*/;
28881 } else { /*if*/
28882 ((abstract_collection___IndexedCollection___append_t)CALL( variable[19] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[19] /*listnode9*/, variable[21] /*listnode8*/) /*IndexedCollection::append*/;
28883 }
28884 }
28885 variable[22] = variable[7] /*nodearraylist7*/;
28886 variable[23] = TAG_Bool(( variable[22] /*ptypenode10*/==NIT_NULL) || VAL_ISA( variable[22] /*ptypenode10*/, COLOR_PType, ID_PType)) /*cast PType*/;
28887 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction340___action, LOCATE_parser, 18130); nit_exit(1);}
28888 variable[23] = variable[6] /*nodearraylist8*/;
28889 variable[24] = TAG_Bool(( variable[23] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[23] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
28890 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction340___action, LOCATE_parser, 18132); nit_exit(1);}
28891 variable[24] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[23] /*listnode11*/ == NIT_NULL /*null*/) || (( variable[23] /*listnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[23] /*listnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[23] /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[23] /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable[23] /*listnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
28892 if (UNTAG_Bool(variable[24])) { /*if*/
28893 variable[24] = ((array___AbstractArray___is_empty_t)CALL( variable[20] /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable[20] /*listnode12*/) /*AbstractArray::is_empty*/;
28894 if (UNTAG_Bool(variable[24])) { /*if*/
28895 variable[20] = variable[23] /*listnode11*/ /*listnode12=*/;
28896 } else { /*if*/
28897 ((abstract_collection___IndexedCollection___append_t)CALL( variable[20] /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable[20] /*listnode12*/, variable[23] /*listnode11*/) /*IndexedCollection::append*/;
28898 }
28899 }
28900 variable[25] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[19] /*listnode9*/, variable[22] /*ptypenode10*/, variable[20] /*listnode12*/); /*new ASignature*/
28901 variable[24] = variable[25];
28902 variable[26] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[14] /*pdocnode2*/, variable[15] /*tkwredefnode3*/, variable[16] /*pvisibilitynode4*/, variable[17] /*tkwmethnode5*/, variable[18] /*pmethidnode6*/, variable[24] /*psignaturenode7*/, NIT_NULL /*null*/); /*new AExternMethPropdef*/
28903 variable[25] = variable[26];
28904 variable[3] = variable[25] /*ppropdefnode1*/ /*node_list=*/;
28905 variable[26] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
28906 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[26], variable[3] /*node_list*/) /*Parser::push*/;
28907 return_label712: while(false);
28908 tracehead = trace.prev;
28909 return;
28910 }
28911 void parser___ReduceAction340___init(val_t self, int* init_table) {
28912 struct trace_t trace = {NULL, NULL, 18157, LOCATE_parser___ReduceAction340___init};
28913 val_t variable[2];
28914 void **closurevariable = NULL;
28915 trace.prev = tracehead; tracehead = &trace;
28916 trace.file = LOCATE_parser;
28917 variable[0] = self;
28918 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction340].i]) return;
28919 return_label713: while(false);
28920 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction340].i] = 1;
28921 tracehead = trace.prev;
28922 return;
28923 }
28924 void parser___ReduceAction341___action(val_t self, val_t param0) {
28925 struct trace_t trace = {NULL, NULL, 18161, LOCATE_parser___ReduceAction341___action};
28926 val_t variable[21];
28927 void **closurevariable = NULL;
28928 trace.prev = tracehead; tracehead = &trace;
28929 trace.file = LOCATE_parser;
28930 variable[0] = self;
28931 variable[1] = param0;
28932 variable[3] = NIT_NULL /*null*/;
28933 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28934 variable[4] = variable[5];
28935 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28936 variable[5] = variable[6];
28937 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28938 variable[6] = variable[7];
28939 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28940 variable[7] = variable[8];
28941 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28942 variable[8] = variable[9];
28943 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28944 variable[9] = variable[10];
28945 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
28946 variable[10] = variable[11];
28947 variable[11] = variable[10] /*nodearraylist1*/;
28948 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
28949 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction341___action, LOCATE_parser, 18172); nit_exit(1);}
28950 variable[12] = variable[9] /*nodearraylist2*/;
28951 variable[13] = TAG_Bool(( variable[12] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[12] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
28952 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction341___action, LOCATE_parser, 18174); nit_exit(1);}
28953 variable[13] = variable[8] /*nodearraylist3*/;
28954 variable[14] = TAG_Bool(( variable[13] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
28955 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction341___action, LOCATE_parser, 18176); nit_exit(1);}
28956 variable[14] = variable[7] /*nodearraylist4*/;
28957 variable[15] = TAG_Bool(( variable[14] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[14] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
28958 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction341___action, LOCATE_parser, 18178); nit_exit(1);}
28959 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
28960 variable[15] = variable[16];
28961 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
28962 variable[16] = variable[17];
28963 variable[18] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[15] /*listnode8*/, NIT_NULL /*null*/, variable[16] /*listnode10*/); /*new ASignature*/
28964 variable[17] = variable[18];
28965 variable[18] = variable[4] /*nodearraylist7*/;
28966 variable[19] = TAG_Bool(( variable[18] /*tstringnode11*/==NIT_NULL) || VAL_ISA( variable[18] /*tstringnode11*/, COLOR_TString, ID_TString)) /*cast TString*/;
28967 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction341___action, LOCATE_parser, 18187); nit_exit(1);}
28968 variable[20] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[11] /*pdocnode2*/, NIT_NULL /*null*/, variable[12] /*pvisibilitynode4*/, variable[13] /*tkwmethnode5*/, variable[14] /*pmethidnode6*/, variable[17] /*psignaturenode7*/, variable[18] /*tstringnode11*/); /*new AExternMethPropdef*/
28969 variable[19] = variable[20];
28970 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
28971 variable[20] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
28972 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
28973 return_label714: while(false);
28974 tracehead = trace.prev;
28975 return;
28976 }
28977 void parser___ReduceAction341___init(val_t self, int* init_table) {
28978 struct trace_t trace = {NULL, NULL, 18200, LOCATE_parser___ReduceAction341___init};
28979 val_t variable[2];
28980 void **closurevariable = NULL;
28981 trace.prev = tracehead; tracehead = &trace;
28982 trace.file = LOCATE_parser;
28983 variable[0] = self;
28984 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction341].i]) return;
28985 return_label715: while(false);
28986 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction341].i] = 1;
28987 tracehead = trace.prev;
28988 return;
28989 }
28990 void parser___ReduceAction342___action(val_t self, val_t param0) {
28991 struct trace_t trace = {NULL, NULL, 18204, LOCATE_parser___ReduceAction342___action};
28992 val_t variable[23];
28993 void **closurevariable = NULL;
28994 trace.prev = tracehead; tracehead = &trace;
28995 trace.file = LOCATE_parser;
28996 variable[0] = self;
28997 variable[1] = param0;
28998 variable[3] = NIT_NULL /*null*/;
28999 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29000 variable[4] = variable[5];
29001 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29002 variable[5] = variable[6];
29003 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29004 variable[6] = variable[7];
29005 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29006 variable[7] = variable[8];
29007 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29008 variable[8] = variable[9];
29009 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29010 variable[9] = variable[10];
29011 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29012 variable[10] = variable[11];
29013 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29014 variable[11] = variable[12];
29015 variable[12] = variable[11] /*nodearraylist1*/;
29016 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
29017 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction342___action, LOCATE_parser, 18216); nit_exit(1);}
29018 variable[13] = variable[10] /*nodearraylist2*/;
29019 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
29020 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction342___action, LOCATE_parser, 18218); nit_exit(1);}
29021 variable[14] = variable[9] /*nodearraylist3*/;
29022 variable[15] = TAG_Bool(( variable[14] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
29023 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction342___action, LOCATE_parser, 18220); nit_exit(1);}
29024 variable[15] = variable[8] /*nodearraylist4*/;
29025 variable[16] = TAG_Bool(( variable[15] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
29026 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction342___action, LOCATE_parser, 18222); nit_exit(1);}
29027 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
29028 variable[16] = variable[17];
29029 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
29030 variable[17] = variable[18];
29031 variable[18] = variable[7] /*nodearraylist5*/;
29032 variable[19] = TAG_Bool(( variable[18] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[18] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
29033 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction342___action, LOCATE_parser, 18226); nit_exit(1);}
29034 variable[19] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[18] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[18] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[18] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[18] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[18] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[18] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
29035 if (UNTAG_Bool(variable[19])) { /*if*/
29036 variable[19] = ((array___AbstractArray___is_empty_t)CALL( variable[16] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[16] /*listnode9*/) /*AbstractArray::is_empty*/;
29037 if (UNTAG_Bool(variable[19])) { /*if*/
29038 variable[16] = variable[18] /*listnode8*/ /*listnode9=*/;
29039 } else { /*if*/
29040 ((abstract_collection___IndexedCollection___append_t)CALL( variable[16] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[16] /*listnode9*/, variable[18] /*listnode8*/) /*IndexedCollection::append*/;
29041 }
29042 }
29043 variable[20] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[16] /*listnode9*/, NIT_NULL /*null*/, variable[17] /*listnode11*/); /*new ASignature*/
29044 variable[19] = variable[20];
29045 variable[20] = variable[4] /*nodearraylist8*/;
29046 variable[21] = TAG_Bool(( variable[20] /*tstringnode12*/==NIT_NULL) || VAL_ISA( variable[20] /*tstringnode12*/, COLOR_TString, ID_TString)) /*cast TString*/;
29047 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction342___action, LOCATE_parser, 18240); nit_exit(1);}
29048 variable[22] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[12] /*pdocnode2*/, NIT_NULL /*null*/, variable[13] /*pvisibilitynode4*/, variable[14] /*tkwmethnode5*/, variable[15] /*pmethidnode6*/, variable[19] /*psignaturenode7*/, variable[20] /*tstringnode12*/); /*new AExternMethPropdef*/
29049 variable[21] = variable[22];
29050 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
29051 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
29052 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
29053 return_label716: while(false);
29054 tracehead = trace.prev;
29055 return;
29056 }
29057 void parser___ReduceAction342___init(val_t self, int* init_table) {
29058 struct trace_t trace = {NULL, NULL, 18253, LOCATE_parser___ReduceAction342___init};
29059 val_t variable[2];
29060 void **closurevariable = NULL;
29061 trace.prev = tracehead; tracehead = &trace;
29062 trace.file = LOCATE_parser;
29063 variable[0] = self;
29064 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction342].i]) return;
29065 return_label717: while(false);
29066 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction342].i] = 1;
29067 tracehead = trace.prev;
29068 return;
29069 }
29070 void parser___ReduceAction343___action(val_t self, val_t param0) {
29071 struct trace_t trace = {NULL, NULL, 18257, LOCATE_parser___ReduceAction343___action};
29072 val_t variable[23];
29073 void **closurevariable = NULL;
29074 trace.prev = tracehead; tracehead = &trace;
29075 trace.file = LOCATE_parser;
29076 variable[0] = self;
29077 variable[1] = param0;
29078 variable[3] = NIT_NULL /*null*/;
29079 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29080 variable[4] = variable[5];
29081 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29082 variable[5] = variable[6];
29083 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29084 variable[6] = variable[7];
29085 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29086 variable[7] = variable[8];
29087 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29088 variable[8] = variable[9];
29089 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29090 variable[9] = variable[10];
29091 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29092 variable[10] = variable[11];
29093 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29094 variable[11] = variable[12];
29095 variable[12] = variable[11] /*nodearraylist1*/;
29096 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
29097 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction343___action, LOCATE_parser, 18269); nit_exit(1);}
29098 variable[13] = variable[10] /*nodearraylist2*/;
29099 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
29100 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction343___action, LOCATE_parser, 18271); nit_exit(1);}
29101 variable[14] = variable[9] /*nodearraylist3*/;
29102 variable[15] = TAG_Bool(( variable[14] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
29103 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction343___action, LOCATE_parser, 18273); nit_exit(1);}
29104 variable[15] = variable[8] /*nodearraylist4*/;
29105 variable[16] = TAG_Bool(( variable[15] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
29106 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction343___action, LOCATE_parser, 18275); nit_exit(1);}
29107 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
29108 variable[16] = variable[17];
29109 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
29110 variable[17] = variable[18];
29111 variable[18] = variable[7] /*nodearraylist5*/;
29112 variable[19] = TAG_Bool(( variable[18] /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable[18] /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
29113 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction343___action, LOCATE_parser, 18279); nit_exit(1);}
29114 variable[20] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[16] /*listnode8*/, variable[18] /*ptypenode9*/, variable[17] /*listnode10*/); /*new ASignature*/
29115 variable[19] = variable[20];
29116 variable[20] = variable[4] /*nodearraylist8*/;
29117 variable[21] = TAG_Bool(( variable[20] /*tstringnode11*/==NIT_NULL) || VAL_ISA( variable[20] /*tstringnode11*/, COLOR_TString, ID_TString)) /*cast TString*/;
29118 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction343___action, LOCATE_parser, 18286); nit_exit(1);}
29119 variable[22] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[12] /*pdocnode2*/, NIT_NULL /*null*/, variable[13] /*pvisibilitynode4*/, variable[14] /*tkwmethnode5*/, variable[15] /*pmethidnode6*/, variable[19] /*psignaturenode7*/, variable[20] /*tstringnode11*/); /*new AExternMethPropdef*/
29120 variable[21] = variable[22];
29121 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
29122 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
29123 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
29124 return_label718: while(false);
29125 tracehead = trace.prev;
29126 return;
29127 }
29128 void parser___ReduceAction343___init(val_t self, int* init_table) {
29129 struct trace_t trace = {NULL, NULL, 18299, LOCATE_parser___ReduceAction343___init};
29130 val_t variable[2];
29131 void **closurevariable = NULL;
29132 trace.prev = tracehead; tracehead = &trace;
29133 trace.file = LOCATE_parser;
29134 variable[0] = self;
29135 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction343].i]) return;
29136 return_label719: while(false);
29137 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction343].i] = 1;
29138 tracehead = trace.prev;
29139 return;
29140 }
29141 void parser___ReduceAction344___action(val_t self, val_t param0) {
29142 struct trace_t trace = {NULL, NULL, 18303, LOCATE_parser___ReduceAction344___action};
29143 val_t variable[25];
29144 void **closurevariable = NULL;
29145 trace.prev = tracehead; tracehead = &trace;
29146 trace.file = LOCATE_parser;
29147 variable[0] = self;
29148 variable[1] = param0;
29149 variable[3] = NIT_NULL /*null*/;
29150 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29151 variable[4] = variable[5];
29152 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29153 variable[5] = variable[6];
29154 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29155 variable[6] = variable[7];
29156 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29157 variable[7] = variable[8];
29158 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29159 variable[8] = variable[9];
29160 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29161 variable[9] = variable[10];
29162 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29163 variable[10] = variable[11];
29164 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29165 variable[11] = variable[12];
29166 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29167 variable[12] = variable[13];
29168 variable[13] = variable[12] /*nodearraylist1*/;
29169 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
29170 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction344___action, LOCATE_parser, 18316); nit_exit(1);}
29171 variable[14] = variable[11] /*nodearraylist2*/;
29172 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
29173 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction344___action, LOCATE_parser, 18318); nit_exit(1);}
29174 variable[15] = variable[10] /*nodearraylist3*/;
29175 variable[16] = TAG_Bool(( variable[15] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
29176 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction344___action, LOCATE_parser, 18320); nit_exit(1);}
29177 variable[16] = variable[9] /*nodearraylist4*/;
29178 variable[17] = TAG_Bool(( variable[16] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[16] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
29179 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction344___action, LOCATE_parser, 18322); nit_exit(1);}
29180 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
29181 variable[17] = variable[18];
29182 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
29183 variable[18] = variable[19];
29184 variable[19] = variable[8] /*nodearraylist5*/;
29185 variable[20] = TAG_Bool(( variable[19] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[19] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
29186 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction344___action, LOCATE_parser, 18326); nit_exit(1);}
29187 variable[20] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[19] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[19] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[19] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[19] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
29188 if (UNTAG_Bool(variable[20])) { /*if*/
29189 variable[20] = ((array___AbstractArray___is_empty_t)CALL( variable[17] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[17] /*listnode9*/) /*AbstractArray::is_empty*/;
29190 if (UNTAG_Bool(variable[20])) { /*if*/
29191 variable[17] = variable[19] /*listnode8*/ /*listnode9=*/;
29192 } else { /*if*/
29193 ((abstract_collection___IndexedCollection___append_t)CALL( variable[17] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[17] /*listnode9*/, variable[19] /*listnode8*/) /*IndexedCollection::append*/;
29194 }
29195 }
29196 variable[20] = variable[7] /*nodearraylist6*/;
29197 variable[21] = TAG_Bool(( variable[20] /*ptypenode10*/==NIT_NULL) || VAL_ISA( variable[20] /*ptypenode10*/, COLOR_PType, ID_PType)) /*cast PType*/;
29198 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction344___action, LOCATE_parser, 18335); nit_exit(1);}
29199 variable[22] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[17] /*listnode9*/, variable[20] /*ptypenode10*/, variable[18] /*listnode11*/); /*new ASignature*/
29200 variable[21] = variable[22];
29201 variable[22] = variable[4] /*nodearraylist9*/;
29202 variable[23] = TAG_Bool(( variable[22] /*tstringnode12*/==NIT_NULL) || VAL_ISA( variable[22] /*tstringnode12*/, COLOR_TString, ID_TString)) /*cast TString*/;
29203 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction344___action, LOCATE_parser, 18342); nit_exit(1);}
29204 variable[24] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[13] /*pdocnode2*/, NIT_NULL /*null*/, variable[14] /*pvisibilitynode4*/, variable[15] /*tkwmethnode5*/, variable[16] /*pmethidnode6*/, variable[21] /*psignaturenode7*/, variable[22] /*tstringnode12*/); /*new AExternMethPropdef*/
29205 variable[23] = variable[24];
29206 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
29207 variable[24] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
29208 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
29209 return_label720: while(false);
29210 tracehead = trace.prev;
29211 return;
29212 }
29213 void parser___ReduceAction344___init(val_t self, int* init_table) {
29214 struct trace_t trace = {NULL, NULL, 18355, LOCATE_parser___ReduceAction344___init};
29215 val_t variable[2];
29216 void **closurevariable = NULL;
29217 trace.prev = tracehead; tracehead = &trace;
29218 trace.file = LOCATE_parser;
29219 variable[0] = self;
29220 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction344].i]) return;
29221 return_label721: while(false);
29222 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction344].i] = 1;
29223 tracehead = trace.prev;
29224 return;
29225 }
29226 void parser___ReduceAction345___action(val_t self, val_t param0) {
29227 struct trace_t trace = {NULL, NULL, 18359, LOCATE_parser___ReduceAction345___action};
29228 val_t variable[23];
29229 void **closurevariable = NULL;
29230 trace.prev = tracehead; tracehead = &trace;
29231 trace.file = LOCATE_parser;
29232 variable[0] = self;
29233 variable[1] = param0;
29234 variable[3] = NIT_NULL /*null*/;
29235 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29236 variable[4] = variable[5];
29237 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29238 variable[5] = variable[6];
29239 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29240 variable[6] = variable[7];
29241 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29242 variable[7] = variable[8];
29243 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29244 variable[8] = variable[9];
29245 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29246 variable[9] = variable[10];
29247 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29248 variable[10] = variable[11];
29249 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29250 variable[11] = variable[12];
29251 variable[12] = variable[11] /*nodearraylist1*/;
29252 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
29253 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction345___action, LOCATE_parser, 18371); nit_exit(1);}
29254 variable[13] = variable[10] /*nodearraylist2*/;
29255 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
29256 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction345___action, LOCATE_parser, 18373); nit_exit(1);}
29257 variable[14] = variable[9] /*nodearraylist3*/;
29258 variable[15] = TAG_Bool(( variable[14] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
29259 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction345___action, LOCATE_parser, 18375); nit_exit(1);}
29260 variable[15] = variable[8] /*nodearraylist4*/;
29261 variable[16] = TAG_Bool(( variable[15] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
29262 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction345___action, LOCATE_parser, 18377); nit_exit(1);}
29263 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
29264 variable[16] = variable[17];
29265 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
29266 variable[17] = variable[18];
29267 variable[18] = variable[7] /*nodearraylist5*/;
29268 variable[19] = TAG_Bool(( variable[18] /*listnode10*/==NIT_NULL) || VAL_ISA( variable[18] /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
29269 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction345___action, LOCATE_parser, 18381); nit_exit(1);}
29270 variable[19] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[18] /*listnode10*/ == NIT_NULL /*null*/) || (( variable[18] /*listnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[18] /*listnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[18] /*listnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[18] /*listnode10*/,COLOR_kernel___Object_____eqeq))( variable[18] /*listnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
29271 if (UNTAG_Bool(variable[19])) { /*if*/
29272 variable[19] = ((array___AbstractArray___is_empty_t)CALL( variable[17] /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable[17] /*listnode11*/) /*AbstractArray::is_empty*/;
29273 if (UNTAG_Bool(variable[19])) { /*if*/
29274 variable[17] = variable[18] /*listnode10*/ /*listnode11=*/;
29275 } else { /*if*/
29276 ((abstract_collection___IndexedCollection___append_t)CALL( variable[17] /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable[17] /*listnode11*/, variable[18] /*listnode10*/) /*IndexedCollection::append*/;
29277 }
29278 }
29279 variable[20] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[16] /*listnode8*/, NIT_NULL /*null*/, variable[17] /*listnode11*/); /*new ASignature*/
29280 variable[19] = variable[20];
29281 variable[20] = variable[4] /*nodearraylist8*/;
29282 variable[21] = TAG_Bool(( variable[20] /*tstringnode12*/==NIT_NULL) || VAL_ISA( variable[20] /*tstringnode12*/, COLOR_TString, ID_TString)) /*cast TString*/;
29283 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction345___action, LOCATE_parser, 18395); nit_exit(1);}
29284 variable[22] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[12] /*pdocnode2*/, NIT_NULL /*null*/, variable[13] /*pvisibilitynode4*/, variable[14] /*tkwmethnode5*/, variable[15] /*pmethidnode6*/, variable[19] /*psignaturenode7*/, variable[20] /*tstringnode12*/); /*new AExternMethPropdef*/
29285 variable[21] = variable[22];
29286 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
29287 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
29288 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
29289 return_label722: while(false);
29290 tracehead = trace.prev;
29291 return;
29292 }
29293 void parser___ReduceAction345___init(val_t self, int* init_table) {
29294 struct trace_t trace = {NULL, NULL, 18408, LOCATE_parser___ReduceAction345___init};
29295 val_t variable[2];
29296 void **closurevariable = NULL;
29297 trace.prev = tracehead; tracehead = &trace;
29298 trace.file = LOCATE_parser;
29299 variable[0] = self;
29300 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction345].i]) return;
29301 return_label723: while(false);
29302 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction345].i] = 1;
29303 tracehead = trace.prev;
29304 return;
29305 }
29306 void parser___ReduceAction346___action(val_t self, val_t param0) {
29307 struct trace_t trace = {NULL, NULL, 18412, LOCATE_parser___ReduceAction346___action};
29308 val_t variable[25];
29309 void **closurevariable = NULL;
29310 trace.prev = tracehead; tracehead = &trace;
29311 trace.file = LOCATE_parser;
29312 variable[0] = self;
29313 variable[1] = param0;
29314 variable[3] = NIT_NULL /*null*/;
29315 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29316 variable[4] = variable[5];
29317 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29318 variable[5] = variable[6];
29319 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29320 variable[6] = variable[7];
29321 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29322 variable[7] = variable[8];
29323 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29324 variable[8] = variable[9];
29325 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29326 variable[9] = variable[10];
29327 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29328 variable[10] = variable[11];
29329 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29330 variable[11] = variable[12];
29331 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29332 variable[12] = variable[13];
29333 variable[13] = variable[12] /*nodearraylist1*/;
29334 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
29335 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction346___action, LOCATE_parser, 18425); nit_exit(1);}
29336 variable[14] = variable[11] /*nodearraylist2*/;
29337 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
29338 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction346___action, LOCATE_parser, 18427); nit_exit(1);}
29339 variable[15] = variable[10] /*nodearraylist3*/;
29340 variable[16] = TAG_Bool(( variable[15] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
29341 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction346___action, LOCATE_parser, 18429); nit_exit(1);}
29342 variable[16] = variable[9] /*nodearraylist4*/;
29343 variable[17] = TAG_Bool(( variable[16] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[16] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
29344 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction346___action, LOCATE_parser, 18431); nit_exit(1);}
29345 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
29346 variable[17] = variable[18];
29347 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
29348 variable[18] = variable[19];
29349 variable[19] = variable[8] /*nodearraylist5*/;
29350 variable[20] = TAG_Bool(( variable[19] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[19] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
29351 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction346___action, LOCATE_parser, 18435); nit_exit(1);}
29352 variable[20] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[19] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[19] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[19] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[19] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
29353 if (UNTAG_Bool(variable[20])) { /*if*/
29354 variable[20] = ((array___AbstractArray___is_empty_t)CALL( variable[17] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[17] /*listnode9*/) /*AbstractArray::is_empty*/;
29355 if (UNTAG_Bool(variable[20])) { /*if*/
29356 variable[17] = variable[19] /*listnode8*/ /*listnode9=*/;
29357 } else { /*if*/
29358 ((abstract_collection___IndexedCollection___append_t)CALL( variable[17] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[17] /*listnode9*/, variable[19] /*listnode8*/) /*IndexedCollection::append*/;
29359 }
29360 }
29361 variable[20] = variable[7] /*nodearraylist6*/;
29362 variable[21] = TAG_Bool(( variable[20] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[20] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
29363 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction346___action, LOCATE_parser, 18444); nit_exit(1);}
29364 variable[21] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[20] /*listnode11*/ == NIT_NULL /*null*/) || (( variable[20] /*listnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[20] /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable[20] /*listnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
29365 if (UNTAG_Bool(variable[21])) { /*if*/
29366 variable[21] = ((array___AbstractArray___is_empty_t)CALL( variable[18] /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable[18] /*listnode12*/) /*AbstractArray::is_empty*/;
29367 if (UNTAG_Bool(variable[21])) { /*if*/
29368 variable[18] = variable[20] /*listnode11*/ /*listnode12=*/;
29369 } else { /*if*/
29370 ((abstract_collection___IndexedCollection___append_t)CALL( variable[18] /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable[18] /*listnode12*/, variable[20] /*listnode11*/) /*IndexedCollection::append*/;
29371 }
29372 }
29373 variable[22] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[17] /*listnode9*/, NIT_NULL /*null*/, variable[18] /*listnode12*/); /*new ASignature*/
29374 variable[21] = variable[22];
29375 variable[22] = variable[4] /*nodearraylist9*/;
29376 variable[23] = TAG_Bool(( variable[22] /*tstringnode13*/==NIT_NULL) || VAL_ISA( variable[22] /*tstringnode13*/, COLOR_TString, ID_TString)) /*cast TString*/;
29377 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction346___action, LOCATE_parser, 18458); nit_exit(1);}
29378 variable[24] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[13] /*pdocnode2*/, NIT_NULL /*null*/, variable[14] /*pvisibilitynode4*/, variable[15] /*tkwmethnode5*/, variable[16] /*pmethidnode6*/, variable[21] /*psignaturenode7*/, variable[22] /*tstringnode13*/); /*new AExternMethPropdef*/
29379 variable[23] = variable[24];
29380 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
29381 variable[24] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
29382 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
29383 return_label724: while(false);
29384 tracehead = trace.prev;
29385 return;
29386 }
29387 void parser___ReduceAction346___init(val_t self, int* init_table) {
29388 struct trace_t trace = {NULL, NULL, 18471, LOCATE_parser___ReduceAction346___init};
29389 val_t variable[2];
29390 void **closurevariable = NULL;
29391 trace.prev = tracehead; tracehead = &trace;
29392 trace.file = LOCATE_parser;
29393 variable[0] = self;
29394 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction346].i]) return;
29395 return_label725: while(false);
29396 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction346].i] = 1;
29397 tracehead = trace.prev;
29398 return;
29399 }
29400 void parser___ReduceAction347___action(val_t self, val_t param0) {
29401 struct trace_t trace = {NULL, NULL, 18475, LOCATE_parser___ReduceAction347___action};
29402 val_t variable[25];
29403 void **closurevariable = NULL;
29404 trace.prev = tracehead; tracehead = &trace;
29405 trace.file = LOCATE_parser;
29406 variable[0] = self;
29407 variable[1] = param0;
29408 variable[3] = NIT_NULL /*null*/;
29409 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29410 variable[4] = variable[5];
29411 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29412 variable[5] = variable[6];
29413 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29414 variable[6] = variable[7];
29415 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29416 variable[7] = variable[8];
29417 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29418 variable[8] = variable[9];
29419 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29420 variable[9] = variable[10];
29421 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29422 variable[10] = variable[11];
29423 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29424 variable[11] = variable[12];
29425 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29426 variable[12] = variable[13];
29427 variable[13] = variable[12] /*nodearraylist1*/;
29428 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
29429 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction347___action, LOCATE_parser, 18488); nit_exit(1);}
29430 variable[14] = variable[11] /*nodearraylist2*/;
29431 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
29432 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction347___action, LOCATE_parser, 18490); nit_exit(1);}
29433 variable[15] = variable[10] /*nodearraylist3*/;
29434 variable[16] = TAG_Bool(( variable[15] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
29435 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction347___action, LOCATE_parser, 18492); nit_exit(1);}
29436 variable[16] = variable[9] /*nodearraylist4*/;
29437 variable[17] = TAG_Bool(( variable[16] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[16] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
29438 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction347___action, LOCATE_parser, 18494); nit_exit(1);}
29439 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
29440 variable[17] = variable[18];
29441 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
29442 variable[18] = variable[19];
29443 variable[19] = variable[8] /*nodearraylist5*/;
29444 variable[20] = TAG_Bool(( variable[19] /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable[19] /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
29445 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction347___action, LOCATE_parser, 18498); nit_exit(1);}
29446 variable[20] = variable[7] /*nodearraylist6*/;
29447 variable[21] = TAG_Bool(( variable[20] /*listnode10*/==NIT_NULL) || VAL_ISA( variable[20] /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
29448 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction347___action, LOCATE_parser, 18500); nit_exit(1);}
29449 variable[21] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[20] /*listnode10*/ == NIT_NULL /*null*/) || (( variable[20] /*listnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[20] /*listnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode10*/,COLOR_kernel___Object_____eqeq))( variable[20] /*listnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
29450 if (UNTAG_Bool(variable[21])) { /*if*/
29451 variable[21] = ((array___AbstractArray___is_empty_t)CALL( variable[18] /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable[18] /*listnode11*/) /*AbstractArray::is_empty*/;
29452 if (UNTAG_Bool(variable[21])) { /*if*/
29453 variable[18] = variable[20] /*listnode10*/ /*listnode11=*/;
29454 } else { /*if*/
29455 ((abstract_collection___IndexedCollection___append_t)CALL( variable[18] /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable[18] /*listnode11*/, variable[20] /*listnode10*/) /*IndexedCollection::append*/;
29456 }
29457 }
29458 variable[22] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[17] /*listnode8*/, variable[19] /*ptypenode9*/, variable[18] /*listnode11*/); /*new ASignature*/
29459 variable[21] = variable[22];
29460 variable[22] = variable[4] /*nodearraylist9*/;
29461 variable[23] = TAG_Bool(( variable[22] /*tstringnode12*/==NIT_NULL) || VAL_ISA( variable[22] /*tstringnode12*/, COLOR_TString, ID_TString)) /*cast TString*/;
29462 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction347___action, LOCATE_parser, 18514); nit_exit(1);}
29463 variable[24] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[13] /*pdocnode2*/, NIT_NULL /*null*/, variable[14] /*pvisibilitynode4*/, variable[15] /*tkwmethnode5*/, variable[16] /*pmethidnode6*/, variable[21] /*psignaturenode7*/, variable[22] /*tstringnode12*/); /*new AExternMethPropdef*/
29464 variable[23] = variable[24];
29465 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
29466 variable[24] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
29467 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
29468 return_label726: while(false);
29469 tracehead = trace.prev;
29470 return;
29471 }
29472 void parser___ReduceAction347___init(val_t self, int* init_table) {
29473 struct trace_t trace = {NULL, NULL, 18527, LOCATE_parser___ReduceAction347___init};
29474 val_t variable[2];
29475 void **closurevariable = NULL;
29476 trace.prev = tracehead; tracehead = &trace;
29477 trace.file = LOCATE_parser;
29478 variable[0] = self;
29479 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction347].i]) return;
29480 return_label727: while(false);
29481 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction347].i] = 1;
29482 tracehead = trace.prev;
29483 return;
29484 }
29485 void parser___ReduceAction348___action(val_t self, val_t param0) {
29486 struct trace_t trace = {NULL, NULL, 18531, LOCATE_parser___ReduceAction348___action};
29487 val_t variable[27];
29488 void **closurevariable = NULL;
29489 trace.prev = tracehead; tracehead = &trace;
29490 trace.file = LOCATE_parser;
29491 variable[0] = self;
29492 variable[1] = param0;
29493 variable[3] = NIT_NULL /*null*/;
29494 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29495 variable[4] = variable[5];
29496 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29497 variable[5] = variable[6];
29498 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29499 variable[6] = variable[7];
29500 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29501 variable[7] = variable[8];
29502 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29503 variable[8] = variable[9];
29504 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29505 variable[9] = variable[10];
29506 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29507 variable[10] = variable[11];
29508 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29509 variable[11] = variable[12];
29510 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29511 variable[12] = variable[13];
29512 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29513 variable[13] = variable[14];
29514 variable[14] = variable[13] /*nodearraylist1*/;
29515 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
29516 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction348___action, LOCATE_parser, 18545); nit_exit(1);}
29517 variable[15] = variable[12] /*nodearraylist2*/;
29518 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
29519 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction348___action, LOCATE_parser, 18547); nit_exit(1);}
29520 variable[16] = variable[11] /*nodearraylist3*/;
29521 variable[17] = TAG_Bool(( variable[16] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
29522 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction348___action, LOCATE_parser, 18549); nit_exit(1);}
29523 variable[17] = variable[10] /*nodearraylist4*/;
29524 variable[18] = TAG_Bool(( variable[17] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[17] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
29525 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction348___action, LOCATE_parser, 18551); nit_exit(1);}
29526 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
29527 variable[18] = variable[19];
29528 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
29529 variable[19] = variable[20];
29530 variable[20] = variable[9] /*nodearraylist5*/;
29531 variable[21] = TAG_Bool(( variable[20] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[20] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
29532 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction348___action, LOCATE_parser, 18555); nit_exit(1);}
29533 variable[21] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[20] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[20] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[20] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[20] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
29534 if (UNTAG_Bool(variable[21])) { /*if*/
29535 variable[21] = ((array___AbstractArray___is_empty_t)CALL( variable[18] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[18] /*listnode9*/) /*AbstractArray::is_empty*/;
29536 if (UNTAG_Bool(variable[21])) { /*if*/
29537 variable[18] = variable[20] /*listnode8*/ /*listnode9=*/;
29538 } else { /*if*/
29539 ((abstract_collection___IndexedCollection___append_t)CALL( variable[18] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[18] /*listnode9*/, variable[20] /*listnode8*/) /*IndexedCollection::append*/;
29540 }
29541 }
29542 variable[21] = variable[8] /*nodearraylist6*/;
29543 variable[22] = TAG_Bool(( variable[21] /*ptypenode10*/==NIT_NULL) || VAL_ISA( variable[21] /*ptypenode10*/, COLOR_PType, ID_PType)) /*cast PType*/;
29544 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction348___action, LOCATE_parser, 18564); nit_exit(1);}
29545 variable[22] = variable[7] /*nodearraylist7*/;
29546 variable[23] = TAG_Bool(( variable[22] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[22] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
29547 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction348___action, LOCATE_parser, 18566); nit_exit(1);}
29548 variable[23] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[22] /*listnode11*/ == NIT_NULL /*null*/) || (( variable[22] /*listnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[22] /*listnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[22] /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[22] /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable[22] /*listnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
29549 if (UNTAG_Bool(variable[23])) { /*if*/
29550 variable[23] = ((array___AbstractArray___is_empty_t)CALL( variable[19] /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable[19] /*listnode12*/) /*AbstractArray::is_empty*/;
29551 if (UNTAG_Bool(variable[23])) { /*if*/
29552 variable[19] = variable[22] /*listnode11*/ /*listnode12=*/;
29553 } else { /*if*/
29554 ((abstract_collection___IndexedCollection___append_t)CALL( variable[19] /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable[19] /*listnode12*/, variable[22] /*listnode11*/) /*IndexedCollection::append*/;
29555 }
29556 }
29557 variable[24] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[18] /*listnode9*/, variable[21] /*ptypenode10*/, variable[19] /*listnode12*/); /*new ASignature*/
29558 variable[23] = variable[24];
29559 variable[24] = variable[4] /*nodearraylist10*/;
29560 variable[25] = TAG_Bool(( variable[24] /*tstringnode13*/==NIT_NULL) || VAL_ISA( variable[24] /*tstringnode13*/, COLOR_TString, ID_TString)) /*cast TString*/;
29561 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction348___action, LOCATE_parser, 18580); nit_exit(1);}
29562 variable[26] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[14] /*pdocnode2*/, NIT_NULL /*null*/, variable[15] /*pvisibilitynode4*/, variable[16] /*tkwmethnode5*/, variable[17] /*pmethidnode6*/, variable[23] /*psignaturenode7*/, variable[24] /*tstringnode13*/); /*new AExternMethPropdef*/
29563 variable[25] = variable[26];
29564 variable[3] = variable[25] /*ppropdefnode1*/ /*node_list=*/;
29565 variable[26] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
29566 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[26], variable[3] /*node_list*/) /*Parser::push*/;
29567 return_label728: while(false);
29568 tracehead = trace.prev;
29569 return;
29570 }
29571 void parser___ReduceAction348___init(val_t self, int* init_table) {
29572 struct trace_t trace = {NULL, NULL, 18593, LOCATE_parser___ReduceAction348___init};
29573 val_t variable[2];
29574 void **closurevariable = NULL;
29575 trace.prev = tracehead; tracehead = &trace;
29576 trace.file = LOCATE_parser;
29577 variable[0] = self;
29578 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction348].i]) return;
29579 return_label729: while(false);
29580 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction348].i] = 1;
29581 tracehead = trace.prev;
29582 return;
29583 }
29584 void parser___ReduceAction349___action(val_t self, val_t param0) {
29585 struct trace_t trace = {NULL, NULL, 18597, LOCATE_parser___ReduceAction349___action};
29586 val_t variable[23];
29587 void **closurevariable = NULL;
29588 trace.prev = tracehead; tracehead = &trace;
29589 trace.file = LOCATE_parser;
29590 variable[0] = self;
29591 variable[1] = param0;
29592 variable[3] = NIT_NULL /*null*/;
29593 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29594 variable[4] = variable[5];
29595 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29596 variable[5] = variable[6];
29597 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29598 variable[6] = variable[7];
29599 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29600 variable[7] = variable[8];
29601 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29602 variable[8] = variable[9];
29603 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29604 variable[9] = variable[10];
29605 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29606 variable[10] = variable[11];
29607 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29608 variable[11] = variable[12];
29609 variable[12] = variable[11] /*nodearraylist1*/;
29610 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
29611 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction349___action, LOCATE_parser, 18609); nit_exit(1);}
29612 variable[13] = variable[10] /*nodearraylist2*/;
29613 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
29614 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction349___action, LOCATE_parser, 18611); nit_exit(1);}
29615 variable[14] = variable[9] /*nodearraylist3*/;
29616 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
29617 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction349___action, LOCATE_parser, 18613); nit_exit(1);}
29618 variable[15] = variable[8] /*nodearraylist4*/;
29619 variable[16] = TAG_Bool(( variable[15] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
29620 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction349___action, LOCATE_parser, 18615); nit_exit(1);}
29621 variable[16] = variable[7] /*nodearraylist5*/;
29622 variable[17] = TAG_Bool(( variable[16] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[16] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
29623 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction349___action, LOCATE_parser, 18617); nit_exit(1);}
29624 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
29625 variable[17] = variable[18];
29626 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
29627 variable[18] = variable[19];
29628 variable[20] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[17] /*listnode8*/, NIT_NULL /*null*/, variable[18] /*listnode10*/); /*new ASignature*/
29629 variable[19] = variable[20];
29630 variable[20] = variable[4] /*nodearraylist8*/;
29631 variable[21] = TAG_Bool(( variable[20] /*tstringnode11*/==NIT_NULL) || VAL_ISA( variable[20] /*tstringnode11*/, COLOR_TString, ID_TString)) /*cast TString*/;
29632 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction349___action, LOCATE_parser, 18626); nit_exit(1);}
29633 variable[22] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[12] /*pdocnode2*/, variable[13] /*tkwredefnode3*/, variable[14] /*pvisibilitynode4*/, variable[15] /*tkwmethnode5*/, variable[16] /*pmethidnode6*/, variable[19] /*psignaturenode7*/, variable[20] /*tstringnode11*/); /*new AExternMethPropdef*/
29634 variable[21] = variable[22];
29635 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
29636 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
29637 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
29638 return_label730: while(false);
29639 tracehead = trace.prev;
29640 return;
29641 }
29642 void parser___ReduceAction349___init(val_t self, int* init_table) {
29643 struct trace_t trace = {NULL, NULL, 18639, LOCATE_parser___ReduceAction349___init};
29644 val_t variable[2];
29645 void **closurevariable = NULL;
29646 trace.prev = tracehead; tracehead = &trace;
29647 trace.file = LOCATE_parser;
29648 variable[0] = self;
29649 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction349].i]) return;
29650 return_label731: while(false);
29651 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction349].i] = 1;
29652 tracehead = trace.prev;
29653 return;
29654 }
29655 void parser___ReduceAction350___action(val_t self, val_t param0) {
29656 struct trace_t trace = {NULL, NULL, 18643, LOCATE_parser___ReduceAction350___action};
29657 val_t variable[25];
29658 void **closurevariable = NULL;
29659 trace.prev = tracehead; tracehead = &trace;
29660 trace.file = LOCATE_parser;
29661 variable[0] = self;
29662 variable[1] = param0;
29663 variable[3] = NIT_NULL /*null*/;
29664 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29665 variable[4] = variable[5];
29666 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29667 variable[5] = variable[6];
29668 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29669 variable[6] = variable[7];
29670 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29671 variable[7] = variable[8];
29672 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29673 variable[8] = variable[9];
29674 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29675 variable[9] = variable[10];
29676 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29677 variable[10] = variable[11];
29678 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29679 variable[11] = variable[12];
29680 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29681 variable[12] = variable[13];
29682 variable[13] = variable[12] /*nodearraylist1*/;
29683 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
29684 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction350___action, LOCATE_parser, 18656); nit_exit(1);}
29685 variable[14] = variable[11] /*nodearraylist2*/;
29686 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
29687 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction350___action, LOCATE_parser, 18658); nit_exit(1);}
29688 variable[15] = variable[10] /*nodearraylist3*/;
29689 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
29690 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction350___action, LOCATE_parser, 18660); nit_exit(1);}
29691 variable[16] = variable[9] /*nodearraylist4*/;
29692 variable[17] = TAG_Bool(( variable[16] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
29693 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction350___action, LOCATE_parser, 18662); nit_exit(1);}
29694 variable[17] = variable[8] /*nodearraylist5*/;
29695 variable[18] = TAG_Bool(( variable[17] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[17] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
29696 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction350___action, LOCATE_parser, 18664); nit_exit(1);}
29697 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
29698 variable[18] = variable[19];
29699 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
29700 variable[19] = variable[20];
29701 variable[20] = variable[7] /*nodearraylist6*/;
29702 variable[21] = TAG_Bool(( variable[20] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[20] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
29703 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction350___action, LOCATE_parser, 18668); nit_exit(1);}
29704 variable[21] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[20] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[20] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[20] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[20] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
29705 if (UNTAG_Bool(variable[21])) { /*if*/
29706 variable[21] = ((array___AbstractArray___is_empty_t)CALL( variable[18] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[18] /*listnode9*/) /*AbstractArray::is_empty*/;
29707 if (UNTAG_Bool(variable[21])) { /*if*/
29708 variable[18] = variable[20] /*listnode8*/ /*listnode9=*/;
29709 } else { /*if*/
29710 ((abstract_collection___IndexedCollection___append_t)CALL( variable[18] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[18] /*listnode9*/, variable[20] /*listnode8*/) /*IndexedCollection::append*/;
29711 }
29712 }
29713 variable[22] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[18] /*listnode9*/, NIT_NULL /*null*/, variable[19] /*listnode11*/); /*new ASignature*/
29714 variable[21] = variable[22];
29715 variable[22] = variable[4] /*nodearraylist9*/;
29716 variable[23] = TAG_Bool(( variable[22] /*tstringnode12*/==NIT_NULL) || VAL_ISA( variable[22] /*tstringnode12*/, COLOR_TString, ID_TString)) /*cast TString*/;
29717 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction350___action, LOCATE_parser, 18682); nit_exit(1);}
29718 variable[24] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[13] /*pdocnode2*/, variable[14] /*tkwredefnode3*/, variable[15] /*pvisibilitynode4*/, variable[16] /*tkwmethnode5*/, variable[17] /*pmethidnode6*/, variable[21] /*psignaturenode7*/, variable[22] /*tstringnode12*/); /*new AExternMethPropdef*/
29719 variable[23] = variable[24];
29720 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
29721 variable[24] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
29722 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
29723 return_label732: while(false);
29724 tracehead = trace.prev;
29725 return;
29726 }
29727 void parser___ReduceAction350___init(val_t self, int* init_table) {
29728 struct trace_t trace = {NULL, NULL, 18695, LOCATE_parser___ReduceAction350___init};
29729 val_t variable[2];
29730 void **closurevariable = NULL;
29731 trace.prev = tracehead; tracehead = &trace;
29732 trace.file = LOCATE_parser;
29733 variable[0] = self;
29734 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction350].i]) return;
29735 return_label733: while(false);
29736 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction350].i] = 1;
29737 tracehead = trace.prev;
29738 return;
29739 }
29740 void parser___ReduceAction351___action(val_t self, val_t param0) {
29741 struct trace_t trace = {NULL, NULL, 18699, LOCATE_parser___ReduceAction351___action};
29742 val_t variable[25];
29743 void **closurevariable = NULL;
29744 trace.prev = tracehead; tracehead = &trace;
29745 trace.file = LOCATE_parser;
29746 variable[0] = self;
29747 variable[1] = param0;
29748 variable[3] = NIT_NULL /*null*/;
29749 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29750 variable[4] = variable[5];
29751 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29752 variable[5] = variable[6];
29753 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29754 variable[6] = variable[7];
29755 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29756 variable[7] = variable[8];
29757 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29758 variable[8] = variable[9];
29759 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29760 variable[9] = variable[10];
29761 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29762 variable[10] = variable[11];
29763 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29764 variable[11] = variable[12];
29765 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29766 variable[12] = variable[13];
29767 variable[13] = variable[12] /*nodearraylist1*/;
29768 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
29769 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction351___action, LOCATE_parser, 18712); nit_exit(1);}
29770 variable[14] = variable[11] /*nodearraylist2*/;
29771 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
29772 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction351___action, LOCATE_parser, 18714); nit_exit(1);}
29773 variable[15] = variable[10] /*nodearraylist3*/;
29774 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
29775 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction351___action, LOCATE_parser, 18716); nit_exit(1);}
29776 variable[16] = variable[9] /*nodearraylist4*/;
29777 variable[17] = TAG_Bool(( variable[16] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
29778 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction351___action, LOCATE_parser, 18718); nit_exit(1);}
29779 variable[17] = variable[8] /*nodearraylist5*/;
29780 variable[18] = TAG_Bool(( variable[17] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[17] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
29781 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction351___action, LOCATE_parser, 18720); nit_exit(1);}
29782 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
29783 variable[18] = variable[19];
29784 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
29785 variable[19] = variable[20];
29786 variable[20] = variable[7] /*nodearraylist6*/;
29787 variable[21] = TAG_Bool(( variable[20] /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable[20] /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
29788 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction351___action, LOCATE_parser, 18724); nit_exit(1);}
29789 variable[22] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[18] /*listnode8*/, variable[20] /*ptypenode9*/, variable[19] /*listnode10*/); /*new ASignature*/
29790 variable[21] = variable[22];
29791 variable[22] = variable[4] /*nodearraylist9*/;
29792 variable[23] = TAG_Bool(( variable[22] /*tstringnode11*/==NIT_NULL) || VAL_ISA( variable[22] /*tstringnode11*/, COLOR_TString, ID_TString)) /*cast TString*/;
29793 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction351___action, LOCATE_parser, 18731); nit_exit(1);}
29794 variable[24] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[13] /*pdocnode2*/, variable[14] /*tkwredefnode3*/, variable[15] /*pvisibilitynode4*/, variable[16] /*tkwmethnode5*/, variable[17] /*pmethidnode6*/, variable[21] /*psignaturenode7*/, variable[22] /*tstringnode11*/); /*new AExternMethPropdef*/
29795 variable[23] = variable[24];
29796 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
29797 variable[24] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
29798 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
29799 return_label734: while(false);
29800 tracehead = trace.prev;
29801 return;
29802 }
29803 void parser___ReduceAction351___init(val_t self, int* init_table) {
29804 struct trace_t trace = {NULL, NULL, 18744, LOCATE_parser___ReduceAction351___init};
29805 val_t variable[2];
29806 void **closurevariable = NULL;
29807 trace.prev = tracehead; tracehead = &trace;
29808 trace.file = LOCATE_parser;
29809 variable[0] = self;
29810 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction351].i]) return;
29811 return_label735: while(false);
29812 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction351].i] = 1;
29813 tracehead = trace.prev;
29814 return;
29815 }
29816 void parser___ReduceAction352___action(val_t self, val_t param0) {
29817 struct trace_t trace = {NULL, NULL, 18748, LOCATE_parser___ReduceAction352___action};
29818 val_t variable[27];
29819 void **closurevariable = NULL;
29820 trace.prev = tracehead; tracehead = &trace;
29821 trace.file = LOCATE_parser;
29822 variable[0] = self;
29823 variable[1] = param0;
29824 variable[3] = NIT_NULL /*null*/;
29825 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29826 variable[4] = variable[5];
29827 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29828 variable[5] = variable[6];
29829 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29830 variable[6] = variable[7];
29831 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29832 variable[7] = variable[8];
29833 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29834 variable[8] = variable[9];
29835 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29836 variable[9] = variable[10];
29837 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29838 variable[10] = variable[11];
29839 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29840 variable[11] = variable[12];
29841 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29842 variable[12] = variable[13];
29843 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29844 variable[13] = variable[14];
29845 variable[14] = variable[13] /*nodearraylist1*/;
29846 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
29847 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction352___action, LOCATE_parser, 18762); nit_exit(1);}
29848 variable[15] = variable[12] /*nodearraylist2*/;
29849 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
29850 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction352___action, LOCATE_parser, 18764); nit_exit(1);}
29851 variable[16] = variable[11] /*nodearraylist3*/;
29852 variable[17] = TAG_Bool(( variable[16] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[16] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
29853 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction352___action, LOCATE_parser, 18766); nit_exit(1);}
29854 variable[17] = variable[10] /*nodearraylist4*/;
29855 variable[18] = TAG_Bool(( variable[17] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
29856 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction352___action, LOCATE_parser, 18768); nit_exit(1);}
29857 variable[18] = variable[9] /*nodearraylist5*/;
29858 variable[19] = TAG_Bool(( variable[18] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[18] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
29859 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction352___action, LOCATE_parser, 18770); nit_exit(1);}
29860 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
29861 variable[19] = variable[20];
29862 variable[21] = NEW_Array_array___Array___init(); /*new Array[Object]*/
29863 variable[20] = variable[21];
29864 variable[21] = variable[8] /*nodearraylist6*/;
29865 variable[22] = TAG_Bool(( variable[21] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[21] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
29866 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction352___action, LOCATE_parser, 18774); nit_exit(1);}
29867 variable[22] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[21] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[21] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[21] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[21] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
29868 if (UNTAG_Bool(variable[22])) { /*if*/
29869 variable[22] = ((array___AbstractArray___is_empty_t)CALL( variable[19] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[19] /*listnode9*/) /*AbstractArray::is_empty*/;
29870 if (UNTAG_Bool(variable[22])) { /*if*/
29871 variable[19] = variable[21] /*listnode8*/ /*listnode9=*/;
29872 } else { /*if*/
29873 ((abstract_collection___IndexedCollection___append_t)CALL( variable[19] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[19] /*listnode9*/, variable[21] /*listnode8*/) /*IndexedCollection::append*/;
29874 }
29875 }
29876 variable[22] = variable[7] /*nodearraylist7*/;
29877 variable[23] = TAG_Bool(( variable[22] /*ptypenode10*/==NIT_NULL) || VAL_ISA( variable[22] /*ptypenode10*/, COLOR_PType, ID_PType)) /*cast PType*/;
29878 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction352___action, LOCATE_parser, 18783); nit_exit(1);}
29879 variable[24] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[19] /*listnode9*/, variable[22] /*ptypenode10*/, variable[20] /*listnode11*/); /*new ASignature*/
29880 variable[23] = variable[24];
29881 variable[24] = variable[4] /*nodearraylist10*/;
29882 variable[25] = TAG_Bool(( variable[24] /*tstringnode12*/==NIT_NULL) || VAL_ISA( variable[24] /*tstringnode12*/, COLOR_TString, ID_TString)) /*cast TString*/;
29883 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction352___action, LOCATE_parser, 18790); nit_exit(1);}
29884 variable[26] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[14] /*pdocnode2*/, variable[15] /*tkwredefnode3*/, variable[16] /*pvisibilitynode4*/, variable[17] /*tkwmethnode5*/, variable[18] /*pmethidnode6*/, variable[23] /*psignaturenode7*/, variable[24] /*tstringnode12*/); /*new AExternMethPropdef*/
29885 variable[25] = variable[26];
29886 variable[3] = variable[25] /*ppropdefnode1*/ /*node_list=*/;
29887 variable[26] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
29888 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[26], variable[3] /*node_list*/) /*Parser::push*/;
29889 return_label736: while(false);
29890 tracehead = trace.prev;
29891 return;
29892 }
29893 void parser___ReduceAction352___init(val_t self, int* init_table) {
29894 struct trace_t trace = {NULL, NULL, 18803, LOCATE_parser___ReduceAction352___init};
29895 val_t variable[2];
29896 void **closurevariable = NULL;
29897 trace.prev = tracehead; tracehead = &trace;
29898 trace.file = LOCATE_parser;
29899 variable[0] = self;
29900 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction352].i]) return;
29901 return_label737: while(false);
29902 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction352].i] = 1;
29903 tracehead = trace.prev;
29904 return;
29905 }
29906 void parser___ReduceAction353___action(val_t self, val_t param0) {
29907 struct trace_t trace = {NULL, NULL, 18807, LOCATE_parser___ReduceAction353___action};
29908 val_t variable[25];
29909 void **closurevariable = NULL;
29910 trace.prev = tracehead; tracehead = &trace;
29911 trace.file = LOCATE_parser;
29912 variable[0] = self;
29913 variable[1] = param0;
29914 variable[3] = NIT_NULL /*null*/;
29915 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29916 variable[4] = variable[5];
29917 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29918 variable[5] = variable[6];
29919 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29920 variable[6] = variable[7];
29921 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29922 variable[7] = variable[8];
29923 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29924 variable[8] = variable[9];
29925 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29926 variable[9] = variable[10];
29927 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29928 variable[10] = variable[11];
29929 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29930 variable[11] = variable[12];
29931 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
29932 variable[12] = variable[13];
29933 variable[13] = variable[12] /*nodearraylist1*/;
29934 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
29935 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction353___action, LOCATE_parser, 18820); nit_exit(1);}
29936 variable[14] = variable[11] /*nodearraylist2*/;
29937 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
29938 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction353___action, LOCATE_parser, 18822); nit_exit(1);}
29939 variable[15] = variable[10] /*nodearraylist3*/;
29940 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
29941 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction353___action, LOCATE_parser, 18824); nit_exit(1);}
29942 variable[16] = variable[9] /*nodearraylist4*/;
29943 variable[17] = TAG_Bool(( variable[16] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
29944 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction353___action, LOCATE_parser, 18826); nit_exit(1);}
29945 variable[17] = variable[8] /*nodearraylist5*/;
29946 variable[18] = TAG_Bool(( variable[17] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[17] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
29947 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction353___action, LOCATE_parser, 18828); nit_exit(1);}
29948 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
29949 variable[18] = variable[19];
29950 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
29951 variable[19] = variable[20];
29952 variable[20] = variable[7] /*nodearraylist6*/;
29953 variable[21] = TAG_Bool(( variable[20] /*listnode10*/==NIT_NULL) || VAL_ISA( variable[20] /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
29954 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction353___action, LOCATE_parser, 18832); nit_exit(1);}
29955 variable[21] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[20] /*listnode10*/ == NIT_NULL /*null*/) || (( variable[20] /*listnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[20] /*listnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode10*/,COLOR_kernel___Object_____eqeq))( variable[20] /*listnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
29956 if (UNTAG_Bool(variable[21])) { /*if*/
29957 variable[21] = ((array___AbstractArray___is_empty_t)CALL( variable[19] /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable[19] /*listnode11*/) /*AbstractArray::is_empty*/;
29958 if (UNTAG_Bool(variable[21])) { /*if*/
29959 variable[19] = variable[20] /*listnode10*/ /*listnode11=*/;
29960 } else { /*if*/
29961 ((abstract_collection___IndexedCollection___append_t)CALL( variable[19] /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable[19] /*listnode11*/, variable[20] /*listnode10*/) /*IndexedCollection::append*/;
29962 }
29963 }
29964 variable[22] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[18] /*listnode8*/, NIT_NULL /*null*/, variable[19] /*listnode11*/); /*new ASignature*/
29965 variable[21] = variable[22];
29966 variable[22] = variable[4] /*nodearraylist9*/;
29967 variable[23] = TAG_Bool(( variable[22] /*tstringnode12*/==NIT_NULL) || VAL_ISA( variable[22] /*tstringnode12*/, COLOR_TString, ID_TString)) /*cast TString*/;
29968 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction353___action, LOCATE_parser, 18846); nit_exit(1);}
29969 variable[24] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[13] /*pdocnode2*/, variable[14] /*tkwredefnode3*/, variable[15] /*pvisibilitynode4*/, variable[16] /*tkwmethnode5*/, variable[17] /*pmethidnode6*/, variable[21] /*psignaturenode7*/, variable[22] /*tstringnode12*/); /*new AExternMethPropdef*/
29970 variable[23] = variable[24];
29971 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
29972 variable[24] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
29973 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
29974 return_label738: while(false);
29975 tracehead = trace.prev;
29976 return;
29977 }
29978 void parser___ReduceAction353___init(val_t self, int* init_table) {
29979 struct trace_t trace = {NULL, NULL, 18859, LOCATE_parser___ReduceAction353___init};
29980 val_t variable[2];
29981 void **closurevariable = NULL;
29982 trace.prev = tracehead; tracehead = &trace;
29983 trace.file = LOCATE_parser;
29984 variable[0] = self;
29985 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction353].i]) return;
29986 return_label739: while(false);
29987 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction353].i] = 1;
29988 tracehead = trace.prev;
29989 return;
29990 }
29991 void parser___ReduceAction354___action(val_t self, val_t param0) {
29992 struct trace_t trace = {NULL, NULL, 18863, LOCATE_parser___ReduceAction354___action};
29993 val_t variable[27];
29994 void **closurevariable = NULL;
29995 trace.prev = tracehead; tracehead = &trace;
29996 trace.file = LOCATE_parser;
29997 variable[0] = self;
29998 variable[1] = param0;
29999 variable[3] = NIT_NULL /*null*/;
30000 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30001 variable[4] = variable[5];
30002 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30003 variable[5] = variable[6];
30004 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30005 variable[6] = variable[7];
30006 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30007 variable[7] = variable[8];
30008 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30009 variable[8] = variable[9];
30010 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30011 variable[9] = variable[10];
30012 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30013 variable[10] = variable[11];
30014 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30015 variable[11] = variable[12];
30016 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30017 variable[12] = variable[13];
30018 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30019 variable[13] = variable[14];
30020 variable[14] = variable[13] /*nodearraylist1*/;
30021 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
30022 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction354___action, LOCATE_parser, 18877); nit_exit(1);}
30023 variable[15] = variable[12] /*nodearraylist2*/;
30024 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
30025 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction354___action, LOCATE_parser, 18879); nit_exit(1);}
30026 variable[16] = variable[11] /*nodearraylist3*/;
30027 variable[17] = TAG_Bool(( variable[16] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[16] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
30028 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction354___action, LOCATE_parser, 18881); nit_exit(1);}
30029 variable[17] = variable[10] /*nodearraylist4*/;
30030 variable[18] = TAG_Bool(( variable[17] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
30031 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction354___action, LOCATE_parser, 18883); nit_exit(1);}
30032 variable[18] = variable[9] /*nodearraylist5*/;
30033 variable[19] = TAG_Bool(( variable[18] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[18] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
30034 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction354___action, LOCATE_parser, 18885); nit_exit(1);}
30035 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
30036 variable[19] = variable[20];
30037 variable[21] = NEW_Array_array___Array___init(); /*new Array[Object]*/
30038 variable[20] = variable[21];
30039 variable[21] = variable[8] /*nodearraylist6*/;
30040 variable[22] = TAG_Bool(( variable[21] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[21] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
30041 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction354___action, LOCATE_parser, 18889); nit_exit(1);}
30042 variable[22] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[21] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[21] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[21] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[21] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
30043 if (UNTAG_Bool(variable[22])) { /*if*/
30044 variable[22] = ((array___AbstractArray___is_empty_t)CALL( variable[19] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[19] /*listnode9*/) /*AbstractArray::is_empty*/;
30045 if (UNTAG_Bool(variable[22])) { /*if*/
30046 variable[19] = variable[21] /*listnode8*/ /*listnode9=*/;
30047 } else { /*if*/
30048 ((abstract_collection___IndexedCollection___append_t)CALL( variable[19] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[19] /*listnode9*/, variable[21] /*listnode8*/) /*IndexedCollection::append*/;
30049 }
30050 }
30051 variable[22] = variable[7] /*nodearraylist7*/;
30052 variable[23] = TAG_Bool(( variable[22] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[22] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
30053 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction354___action, LOCATE_parser, 18898); nit_exit(1);}
30054 variable[23] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[22] /*listnode11*/ == NIT_NULL /*null*/) || (( variable[22] /*listnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[22] /*listnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[22] /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[22] /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable[22] /*listnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
30055 if (UNTAG_Bool(variable[23])) { /*if*/
30056 variable[23] = ((array___AbstractArray___is_empty_t)CALL( variable[20] /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable[20] /*listnode12*/) /*AbstractArray::is_empty*/;
30057 if (UNTAG_Bool(variable[23])) { /*if*/
30058 variable[20] = variable[22] /*listnode11*/ /*listnode12=*/;
30059 } else { /*if*/
30060 ((abstract_collection___IndexedCollection___append_t)CALL( variable[20] /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable[20] /*listnode12*/, variable[22] /*listnode11*/) /*IndexedCollection::append*/;
30061 }
30062 }
30063 variable[24] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[19] /*listnode9*/, NIT_NULL /*null*/, variable[20] /*listnode12*/); /*new ASignature*/
30064 variable[23] = variable[24];
30065 variable[24] = variable[4] /*nodearraylist10*/;
30066 variable[25] = TAG_Bool(( variable[24] /*tstringnode13*/==NIT_NULL) || VAL_ISA( variable[24] /*tstringnode13*/, COLOR_TString, ID_TString)) /*cast TString*/;
30067 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction354___action, LOCATE_parser, 18912); nit_exit(1);}
30068 variable[26] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[14] /*pdocnode2*/, variable[15] /*tkwredefnode3*/, variable[16] /*pvisibilitynode4*/, variable[17] /*tkwmethnode5*/, variable[18] /*pmethidnode6*/, variable[23] /*psignaturenode7*/, variable[24] /*tstringnode13*/); /*new AExternMethPropdef*/
30069 variable[25] = variable[26];
30070 variable[3] = variable[25] /*ppropdefnode1*/ /*node_list=*/;
30071 variable[26] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
30072 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[26], variable[3] /*node_list*/) /*Parser::push*/;
30073 return_label740: while(false);
30074 tracehead = trace.prev;
30075 return;
30076 }
30077 void parser___ReduceAction354___init(val_t self, int* init_table) {
30078 struct trace_t trace = {NULL, NULL, 18925, LOCATE_parser___ReduceAction354___init};
30079 val_t variable[2];
30080 void **closurevariable = NULL;
30081 trace.prev = tracehead; tracehead = &trace;
30082 trace.file = LOCATE_parser;
30083 variable[0] = self;
30084 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction354].i]) return;
30085 return_label741: while(false);
30086 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction354].i] = 1;
30087 tracehead = trace.prev;
30088 return;
30089 }
30090 void parser___ReduceAction355___action(val_t self, val_t param0) {
30091 struct trace_t trace = {NULL, NULL, 18929, LOCATE_parser___ReduceAction355___action};
30092 val_t variable[27];
30093 void **closurevariable = NULL;
30094 trace.prev = tracehead; tracehead = &trace;
30095 trace.file = LOCATE_parser;
30096 variable[0] = self;
30097 variable[1] = param0;
30098 variable[3] = NIT_NULL /*null*/;
30099 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30100 variable[4] = variable[5];
30101 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30102 variable[5] = variable[6];
30103 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30104 variable[6] = variable[7];
30105 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30106 variable[7] = variable[8];
30107 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30108 variable[8] = variable[9];
30109 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30110 variable[9] = variable[10];
30111 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30112 variable[10] = variable[11];
30113 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30114 variable[11] = variable[12];
30115 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30116 variable[12] = variable[13];
30117 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30118 variable[13] = variable[14];
30119 variable[14] = variable[13] /*nodearraylist1*/;
30120 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
30121 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction355___action, LOCATE_parser, 18943); nit_exit(1);}
30122 variable[15] = variable[12] /*nodearraylist2*/;
30123 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
30124 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction355___action, LOCATE_parser, 18945); nit_exit(1);}
30125 variable[16] = variable[11] /*nodearraylist3*/;
30126 variable[17] = TAG_Bool(( variable[16] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[16] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
30127 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction355___action, LOCATE_parser, 18947); nit_exit(1);}
30128 variable[17] = variable[10] /*nodearraylist4*/;
30129 variable[18] = TAG_Bool(( variable[17] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
30130 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction355___action, LOCATE_parser, 18949); nit_exit(1);}
30131 variable[18] = variable[9] /*nodearraylist5*/;
30132 variable[19] = TAG_Bool(( variable[18] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[18] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
30133 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction355___action, LOCATE_parser, 18951); nit_exit(1);}
30134 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
30135 variable[19] = variable[20];
30136 variable[21] = NEW_Array_array___Array___init(); /*new Array[Object]*/
30137 variable[20] = variable[21];
30138 variable[21] = variable[8] /*nodearraylist6*/;
30139 variable[22] = TAG_Bool(( variable[21] /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable[21] /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
30140 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction355___action, LOCATE_parser, 18955); nit_exit(1);}
30141 variable[22] = variable[7] /*nodearraylist7*/;
30142 variable[23] = TAG_Bool(( variable[22] /*listnode10*/==NIT_NULL) || VAL_ISA( variable[22] /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
30143 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction355___action, LOCATE_parser, 18957); nit_exit(1);}
30144 variable[23] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[22] /*listnode10*/ == NIT_NULL /*null*/) || (( variable[22] /*listnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[22] /*listnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[22] /*listnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[22] /*listnode10*/,COLOR_kernel___Object_____eqeq))( variable[22] /*listnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
30145 if (UNTAG_Bool(variable[23])) { /*if*/
30146 variable[23] = ((array___AbstractArray___is_empty_t)CALL( variable[20] /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable[20] /*listnode11*/) /*AbstractArray::is_empty*/;
30147 if (UNTAG_Bool(variable[23])) { /*if*/
30148 variable[20] = variable[22] /*listnode10*/ /*listnode11=*/;
30149 } else { /*if*/
30150 ((abstract_collection___IndexedCollection___append_t)CALL( variable[20] /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable[20] /*listnode11*/, variable[22] /*listnode10*/) /*IndexedCollection::append*/;
30151 }
30152 }
30153 variable[24] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[19] /*listnode8*/, variable[21] /*ptypenode9*/, variable[20] /*listnode11*/); /*new ASignature*/
30154 variable[23] = variable[24];
30155 variable[24] = variable[4] /*nodearraylist10*/;
30156 variable[25] = TAG_Bool(( variable[24] /*tstringnode12*/==NIT_NULL) || VAL_ISA( variable[24] /*tstringnode12*/, COLOR_TString, ID_TString)) /*cast TString*/;
30157 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction355___action, LOCATE_parser, 18971); nit_exit(1);}
30158 variable[26] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[14] /*pdocnode2*/, variable[15] /*tkwredefnode3*/, variable[16] /*pvisibilitynode4*/, variable[17] /*tkwmethnode5*/, variable[18] /*pmethidnode6*/, variable[23] /*psignaturenode7*/, variable[24] /*tstringnode12*/); /*new AExternMethPropdef*/
30159 variable[25] = variable[26];
30160 variable[3] = variable[25] /*ppropdefnode1*/ /*node_list=*/;
30161 variable[26] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
30162 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[26], variable[3] /*node_list*/) /*Parser::push*/;
30163 return_label742: while(false);
30164 tracehead = trace.prev;
30165 return;
30166 }
30167 void parser___ReduceAction355___init(val_t self, int* init_table) {
30168 struct trace_t trace = {NULL, NULL, 18984, LOCATE_parser___ReduceAction355___init};
30169 val_t variable[2];
30170 void **closurevariable = NULL;
30171 trace.prev = tracehead; tracehead = &trace;
30172 trace.file = LOCATE_parser;
30173 variable[0] = self;
30174 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction355].i]) return;
30175 return_label743: while(false);
30176 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction355].i] = 1;
30177 tracehead = trace.prev;
30178 return;
30179 }
30180 void parser___ReduceAction356___action(val_t self, val_t param0) {
30181 struct trace_t trace = {NULL, NULL, 18988, LOCATE_parser___ReduceAction356___action};
30182 val_t variable[29];
30183 void **closurevariable = NULL;
30184 trace.prev = tracehead; tracehead = &trace;
30185 trace.file = LOCATE_parser;
30186 variable[0] = self;
30187 variable[1] = param0;
30188 variable[3] = NIT_NULL /*null*/;
30189 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30190 variable[4] = variable[5];
30191 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30192 variable[5] = variable[6];
30193 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30194 variable[6] = variable[7];
30195 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30196 variable[7] = variable[8];
30197 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30198 variable[8] = variable[9];
30199 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30200 variable[9] = variable[10];
30201 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30202 variable[10] = variable[11];
30203 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30204 variable[11] = variable[12];
30205 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30206 variable[12] = variable[13];
30207 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30208 variable[13] = variable[14];
30209 variable[15] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30210 variable[14] = variable[15];
30211 variable[15] = variable[14] /*nodearraylist1*/;
30212 variable[16] = TAG_Bool(( variable[15] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
30213 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction356___action, LOCATE_parser, 19003); nit_exit(1);}
30214 variable[16] = variable[13] /*nodearraylist2*/;
30215 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
30216 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction356___action, LOCATE_parser, 19005); nit_exit(1);}
30217 variable[17] = variable[12] /*nodearraylist3*/;
30218 variable[18] = TAG_Bool(( variable[17] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[17] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
30219 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction356___action, LOCATE_parser, 19007); nit_exit(1);}
30220 variable[18] = variable[11] /*nodearraylist4*/;
30221 variable[19] = TAG_Bool(( variable[18] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
30222 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction356___action, LOCATE_parser, 19009); nit_exit(1);}
30223 variable[19] = variable[10] /*nodearraylist5*/;
30224 variable[20] = TAG_Bool(( variable[19] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[19] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
30225 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction356___action, LOCATE_parser, 19011); nit_exit(1);}
30226 variable[21] = NEW_Array_array___Array___init(); /*new Array[Object]*/
30227 variable[20] = variable[21];
30228 variable[22] = NEW_Array_array___Array___init(); /*new Array[Object]*/
30229 variable[21] = variable[22];
30230 variable[22] = variable[9] /*nodearraylist6*/;
30231 variable[23] = TAG_Bool(( variable[22] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[22] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
30232 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction356___action, LOCATE_parser, 19015); nit_exit(1);}
30233 variable[23] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[22] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[22] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[22] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[22] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[22] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[22] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
30234 if (UNTAG_Bool(variable[23])) { /*if*/
30235 variable[23] = ((array___AbstractArray___is_empty_t)CALL( variable[20] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[20] /*listnode9*/) /*AbstractArray::is_empty*/;
30236 if (UNTAG_Bool(variable[23])) { /*if*/
30237 variable[20] = variable[22] /*listnode8*/ /*listnode9=*/;
30238 } else { /*if*/
30239 ((abstract_collection___IndexedCollection___append_t)CALL( variable[20] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[20] /*listnode9*/, variable[22] /*listnode8*/) /*IndexedCollection::append*/;
30240 }
30241 }
30242 variable[23] = variable[8] /*nodearraylist7*/;
30243 variable[24] = TAG_Bool(( variable[23] /*ptypenode10*/==NIT_NULL) || VAL_ISA( variable[23] /*ptypenode10*/, COLOR_PType, ID_PType)) /*cast PType*/;
30244 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction356___action, LOCATE_parser, 19024); nit_exit(1);}
30245 variable[24] = variable[7] /*nodearraylist8*/;
30246 variable[25] = TAG_Bool(( variable[24] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[24] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
30247 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction356___action, LOCATE_parser, 19026); nit_exit(1);}
30248 variable[25] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[24] /*listnode11*/ == NIT_NULL /*null*/) || (( variable[24] /*listnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[24] /*listnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[24] /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[24] /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable[24] /*listnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
30249 if (UNTAG_Bool(variable[25])) { /*if*/
30250 variable[25] = ((array___AbstractArray___is_empty_t)CALL( variable[21] /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable[21] /*listnode12*/) /*AbstractArray::is_empty*/;
30251 if (UNTAG_Bool(variable[25])) { /*if*/
30252 variable[21] = variable[24] /*listnode11*/ /*listnode12=*/;
30253 } else { /*if*/
30254 ((abstract_collection___IndexedCollection___append_t)CALL( variable[21] /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable[21] /*listnode12*/, variable[24] /*listnode11*/) /*IndexedCollection::append*/;
30255 }
30256 }
30257 variable[26] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[20] /*listnode9*/, variable[23] /*ptypenode10*/, variable[21] /*listnode12*/); /*new ASignature*/
30258 variable[25] = variable[26];
30259 variable[26] = variable[4] /*nodearraylist11*/;
30260 variable[27] = TAG_Bool(( variable[26] /*tstringnode13*/==NIT_NULL) || VAL_ISA( variable[26] /*tstringnode13*/, COLOR_TString, ID_TString)) /*cast TString*/;
30261 if (!UNTAG_Bool(variable[27])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction356___action, LOCATE_parser, 19040); nit_exit(1);}
30262 variable[28] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable[15] /*pdocnode2*/, variable[16] /*tkwredefnode3*/, variable[17] /*pvisibilitynode4*/, variable[18] /*tkwmethnode5*/, variable[19] /*pmethidnode6*/, variable[25] /*psignaturenode7*/, variable[26] /*tstringnode13*/); /*new AExternMethPropdef*/
30263 variable[27] = variable[28];
30264 variable[3] = variable[27] /*ppropdefnode1*/ /*node_list=*/;
30265 variable[28] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
30266 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[28], variable[3] /*node_list*/) /*Parser::push*/;
30267 return_label744: while(false);
30268 tracehead = trace.prev;
30269 return;
30270 }
30271 void parser___ReduceAction356___init(val_t self, int* init_table) {
30272 struct trace_t trace = {NULL, NULL, 19053, LOCATE_parser___ReduceAction356___init};
30273 val_t variable[2];
30274 void **closurevariable = NULL;
30275 trace.prev = tracehead; tracehead = &trace;
30276 trace.file = LOCATE_parser;
30277 variable[0] = self;
30278 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction356].i]) return;
30279 return_label745: while(false);
30280 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction356].i] = 1;
30281 tracehead = trace.prev;
30282 return;
30283 }
30284 void parser___ReduceAction357___action(val_t self, val_t param0) {
30285 struct trace_t trace = {NULL, NULL, 19057, LOCATE_parser___ReduceAction357___action};
30286 val_t variable[21];
30287 void **closurevariable = NULL;
30288 trace.prev = tracehead; tracehead = &trace;
30289 trace.file = LOCATE_parser;
30290 variable[0] = self;
30291 variable[1] = param0;
30292 variable[3] = NIT_NULL /*null*/;
30293 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30294 variable[4] = variable[5];
30295 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30296 variable[5] = variable[6];
30297 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30298 variable[6] = variable[7];
30299 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30300 variable[7] = variable[8];
30301 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30302 variable[8] = variable[9];
30303 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30304 variable[9] = variable[10];
30305 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30306 variable[10] = variable[11];
30307 variable[11] = variable[10] /*nodearraylist1*/;
30308 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
30309 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction357___action, LOCATE_parser, 19068); nit_exit(1);}
30310 variable[12] = variable[9] /*nodearraylist2*/;
30311 variable[13] = TAG_Bool(( variable[12] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[12] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
30312 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction357___action, LOCATE_parser, 19070); nit_exit(1);}
30313 variable[13] = variable[8] /*nodearraylist3*/;
30314 variable[14] = TAG_Bool(( variable[13] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
30315 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction357___action, LOCATE_parser, 19072); nit_exit(1);}
30316 variable[14] = variable[7] /*nodearraylist4*/;
30317 variable[15] = TAG_Bool(( variable[14] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[14] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
30318 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction357___action, LOCATE_parser, 19074); nit_exit(1);}
30319 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
30320 variable[15] = variable[16];
30321 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
30322 variable[16] = variable[17];
30323 variable[18] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[15] /*listnode8*/, NIT_NULL /*null*/, variable[16] /*listnode10*/); /*new ASignature*/
30324 variable[17] = variable[18];
30325 variable[18] = variable[4] /*nodearraylist7*/;
30326 variable[19] = TAG_Bool(( variable[18] /*pexprnode11*/==NIT_NULL) || VAL_ISA( variable[18] /*pexprnode11*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
30327 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction357___action, LOCATE_parser, 19083); nit_exit(1);}
30328 variable[20] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable[11] /*pdocnode2*/, NIT_NULL /*null*/, variable[12] /*pvisibilitynode4*/, variable[13] /*tkwmethnode5*/, variable[14] /*pmethidnode6*/, variable[17] /*psignaturenode7*/, variable[18] /*pexprnode11*/); /*new AConcreteMethPropdef*/
30329 variable[19] = variable[20];
30330 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
30331 variable[20] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
30332 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
30333 return_label746: while(false);
30334 tracehead = trace.prev;
30335 return;
30336 }
30337 void parser___ReduceAction357___init(val_t self, int* init_table) {
30338 struct trace_t trace = {NULL, NULL, 19096, LOCATE_parser___ReduceAction357___init};
30339 val_t variable[2];
30340 void **closurevariable = NULL;
30341 trace.prev = tracehead; tracehead = &trace;
30342 trace.file = LOCATE_parser;
30343 variable[0] = self;
30344 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction357].i]) return;
30345 return_label747: while(false);
30346 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction357].i] = 1;
30347 tracehead = trace.prev;
30348 return;
30349 }
30350 void parser___ReduceAction358___action(val_t self, val_t param0) {
30351 struct trace_t trace = {NULL, NULL, 19100, LOCATE_parser___ReduceAction358___action};
30352 val_t variable[23];
30353 void **closurevariable = NULL;
30354 trace.prev = tracehead; tracehead = &trace;
30355 trace.file = LOCATE_parser;
30356 variable[0] = self;
30357 variable[1] = param0;
30358 variable[3] = NIT_NULL /*null*/;
30359 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30360 variable[4] = variable[5];
30361 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30362 variable[5] = variable[6];
30363 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30364 variable[6] = variable[7];
30365 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30366 variable[7] = variable[8];
30367 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30368 variable[8] = variable[9];
30369 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30370 variable[9] = variable[10];
30371 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30372 variable[10] = variable[11];
30373 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30374 variable[11] = variable[12];
30375 variable[12] = variable[11] /*nodearraylist1*/;
30376 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
30377 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction358___action, LOCATE_parser, 19112); nit_exit(1);}
30378 variable[13] = variable[10] /*nodearraylist2*/;
30379 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
30380 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction358___action, LOCATE_parser, 19114); nit_exit(1);}
30381 variable[14] = variable[9] /*nodearraylist3*/;
30382 variable[15] = TAG_Bool(( variable[14] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
30383 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction358___action, LOCATE_parser, 19116); nit_exit(1);}
30384 variable[15] = variable[8] /*nodearraylist4*/;
30385 variable[16] = TAG_Bool(( variable[15] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
30386 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction358___action, LOCATE_parser, 19118); nit_exit(1);}
30387 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
30388 variable[16] = variable[17];
30389 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
30390 variable[17] = variable[18];
30391 variable[18] = variable[7] /*nodearraylist5*/;
30392 variable[19] = TAG_Bool(( variable[18] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[18] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
30393 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction358___action, LOCATE_parser, 19122); nit_exit(1);}
30394 variable[19] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[18] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[18] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[18] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[18] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[18] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[18] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
30395 if (UNTAG_Bool(variable[19])) { /*if*/
30396 variable[19] = ((array___AbstractArray___is_empty_t)CALL( variable[16] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[16] /*listnode9*/) /*AbstractArray::is_empty*/;
30397 if (UNTAG_Bool(variable[19])) { /*if*/
30398 variable[16] = variable[18] /*listnode8*/ /*listnode9=*/;
30399 } else { /*if*/
30400 ((abstract_collection___IndexedCollection___append_t)CALL( variable[16] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[16] /*listnode9*/, variable[18] /*listnode8*/) /*IndexedCollection::append*/;
30401 }
30402 }
30403 variable[20] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[16] /*listnode9*/, NIT_NULL /*null*/, variable[17] /*listnode11*/); /*new ASignature*/
30404 variable[19] = variable[20];
30405 variable[20] = variable[4] /*nodearraylist8*/;
30406 variable[21] = TAG_Bool(( variable[20] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[20] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
30407 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction358___action, LOCATE_parser, 19136); nit_exit(1);}
30408 variable[22] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable[12] /*pdocnode2*/, NIT_NULL /*null*/, variable[13] /*pvisibilitynode4*/, variable[14] /*tkwmethnode5*/, variable[15] /*pmethidnode6*/, variable[19] /*psignaturenode7*/, variable[20] /*pexprnode12*/); /*new AConcreteMethPropdef*/
30409 variable[21] = variable[22];
30410 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
30411 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
30412 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
30413 return_label748: while(false);
30414 tracehead = trace.prev;
30415 return;
30416 }
30417 void parser___ReduceAction358___init(val_t self, int* init_table) {
30418 struct trace_t trace = {NULL, NULL, 19149, LOCATE_parser___ReduceAction358___init};
30419 val_t variable[2];
30420 void **closurevariable = NULL;
30421 trace.prev = tracehead; tracehead = &trace;
30422 trace.file = LOCATE_parser;
30423 variable[0] = self;
30424 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction358].i]) return;
30425 return_label749: while(false);
30426 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction358].i] = 1;
30427 tracehead = trace.prev;
30428 return;
30429 }
30430 void parser___ReduceAction359___action(val_t self, val_t param0) {
30431 struct trace_t trace = {NULL, NULL, 19153, LOCATE_parser___ReduceAction359___action};
30432 val_t variable[23];
30433 void **closurevariable = NULL;
30434 trace.prev = tracehead; tracehead = &trace;
30435 trace.file = LOCATE_parser;
30436 variable[0] = self;
30437 variable[1] = param0;
30438 variable[3] = NIT_NULL /*null*/;
30439 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30440 variable[4] = variable[5];
30441 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30442 variable[5] = variable[6];
30443 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30444 variable[6] = variable[7];
30445 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30446 variable[7] = variable[8];
30447 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30448 variable[8] = variable[9];
30449 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30450 variable[9] = variable[10];
30451 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30452 variable[10] = variable[11];
30453 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30454 variable[11] = variable[12];
30455 variable[12] = variable[11] /*nodearraylist1*/;
30456 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
30457 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction359___action, LOCATE_parser, 19165); nit_exit(1);}
30458 variable[13] = variable[10] /*nodearraylist2*/;
30459 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
30460 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction359___action, LOCATE_parser, 19167); nit_exit(1);}
30461 variable[14] = variable[9] /*nodearraylist3*/;
30462 variable[15] = TAG_Bool(( variable[14] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
30463 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction359___action, LOCATE_parser, 19169); nit_exit(1);}
30464 variable[15] = variable[8] /*nodearraylist4*/;
30465 variable[16] = TAG_Bool(( variable[15] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
30466 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction359___action, LOCATE_parser, 19171); nit_exit(1);}
30467 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
30468 variable[16] = variable[17];
30469 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
30470 variable[17] = variable[18];
30471 variable[18] = variable[7] /*nodearraylist5*/;
30472 variable[19] = TAG_Bool(( variable[18] /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable[18] /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
30473 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction359___action, LOCATE_parser, 19175); nit_exit(1);}
30474 variable[20] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[16] /*listnode8*/, variable[18] /*ptypenode9*/, variable[17] /*listnode10*/); /*new ASignature*/
30475 variable[19] = variable[20];
30476 variable[20] = variable[4] /*nodearraylist8*/;
30477 variable[21] = TAG_Bool(( variable[20] /*pexprnode11*/==NIT_NULL) || VAL_ISA( variable[20] /*pexprnode11*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
30478 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction359___action, LOCATE_parser, 19182); nit_exit(1);}
30479 variable[22] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable[12] /*pdocnode2*/, NIT_NULL /*null*/, variable[13] /*pvisibilitynode4*/, variable[14] /*tkwmethnode5*/, variable[15] /*pmethidnode6*/, variable[19] /*psignaturenode7*/, variable[20] /*pexprnode11*/); /*new AConcreteMethPropdef*/
30480 variable[21] = variable[22];
30481 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
30482 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
30483 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
30484 return_label750: while(false);
30485 tracehead = trace.prev;
30486 return;
30487 }
30488 void parser___ReduceAction359___init(val_t self, int* init_table) {
30489 struct trace_t trace = {NULL, NULL, 19195, LOCATE_parser___ReduceAction359___init};
30490 val_t variable[2];
30491 void **closurevariable = NULL;
30492 trace.prev = tracehead; tracehead = &trace;
30493 trace.file = LOCATE_parser;
30494 variable[0] = self;
30495 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction359].i]) return;
30496 return_label751: while(false);
30497 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction359].i] = 1;
30498 tracehead = trace.prev;
30499 return;
30500 }
30501 void parser___ReduceAction360___action(val_t self, val_t param0) {
30502 struct trace_t trace = {NULL, NULL, 19199, LOCATE_parser___ReduceAction360___action};
30503 val_t variable[25];
30504 void **closurevariable = NULL;
30505 trace.prev = tracehead; tracehead = &trace;
30506 trace.file = LOCATE_parser;
30507 variable[0] = self;
30508 variable[1] = param0;
30509 variable[3] = NIT_NULL /*null*/;
30510 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30511 variable[4] = variable[5];
30512 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30513 variable[5] = variable[6];
30514 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30515 variable[6] = variable[7];
30516 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30517 variable[7] = variable[8];
30518 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30519 variable[8] = variable[9];
30520 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30521 variable[9] = variable[10];
30522 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30523 variable[10] = variable[11];
30524 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30525 variable[11] = variable[12];
30526 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30527 variable[12] = variable[13];
30528 variable[13] = variable[12] /*nodearraylist1*/;
30529 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
30530 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction360___action, LOCATE_parser, 19212); nit_exit(1);}
30531 variable[14] = variable[11] /*nodearraylist2*/;
30532 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
30533 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction360___action, LOCATE_parser, 19214); nit_exit(1);}
30534 variable[15] = variable[10] /*nodearraylist3*/;
30535 variable[16] = TAG_Bool(( variable[15] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
30536 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction360___action, LOCATE_parser, 19216); nit_exit(1);}
30537 variable[16] = variable[9] /*nodearraylist4*/;
30538 variable[17] = TAG_Bool(( variable[16] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[16] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
30539 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction360___action, LOCATE_parser, 19218); nit_exit(1);}
30540 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
30541 variable[17] = variable[18];
30542 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
30543 variable[18] = variable[19];
30544 variable[19] = variable[8] /*nodearraylist5*/;
30545 variable[20] = TAG_Bool(( variable[19] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[19] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
30546 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction360___action, LOCATE_parser, 19222); nit_exit(1);}
30547 variable[20] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[19] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[19] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[19] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[19] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
30548 if (UNTAG_Bool(variable[20])) { /*if*/
30549 variable[20] = ((array___AbstractArray___is_empty_t)CALL( variable[17] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[17] /*listnode9*/) /*AbstractArray::is_empty*/;
30550 if (UNTAG_Bool(variable[20])) { /*if*/
30551 variable[17] = variable[19] /*listnode8*/ /*listnode9=*/;
30552 } else { /*if*/
30553 ((abstract_collection___IndexedCollection___append_t)CALL( variable[17] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[17] /*listnode9*/, variable[19] /*listnode8*/) /*IndexedCollection::append*/;
30554 }
30555 }
30556 variable[20] = variable[7] /*nodearraylist6*/;
30557 variable[21] = TAG_Bool(( variable[20] /*ptypenode10*/==NIT_NULL) || VAL_ISA( variable[20] /*ptypenode10*/, COLOR_PType, ID_PType)) /*cast PType*/;
30558 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction360___action, LOCATE_parser, 19231); nit_exit(1);}
30559 variable[22] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[17] /*listnode9*/, variable[20] /*ptypenode10*/, variable[18] /*listnode11*/); /*new ASignature*/
30560 variable[21] = variable[22];
30561 variable[22] = variable[4] /*nodearraylist9*/;
30562 variable[23] = TAG_Bool(( variable[22] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[22] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
30563 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction360___action, LOCATE_parser, 19238); nit_exit(1);}
30564 variable[24] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable[13] /*pdocnode2*/, NIT_NULL /*null*/, variable[14] /*pvisibilitynode4*/, variable[15] /*tkwmethnode5*/, variable[16] /*pmethidnode6*/, variable[21] /*psignaturenode7*/, variable[22] /*pexprnode12*/); /*new AConcreteMethPropdef*/
30565 variable[23] = variable[24];
30566 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
30567 variable[24] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
30568 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
30569 return_label752: while(false);
30570 tracehead = trace.prev;
30571 return;
30572 }
30573 void parser___ReduceAction360___init(val_t self, int* init_table) {
30574 struct trace_t trace = {NULL, NULL, 19251, LOCATE_parser___ReduceAction360___init};
30575 val_t variable[2];
30576 void **closurevariable = NULL;
30577 trace.prev = tracehead; tracehead = &trace;
30578 trace.file = LOCATE_parser;
30579 variable[0] = self;
30580 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction360].i]) return;
30581 return_label753: while(false);
30582 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction360].i] = 1;
30583 tracehead = trace.prev;
30584 return;
30585 }
30586 void parser___ReduceAction361___action(val_t self, val_t param0) {
30587 struct trace_t trace = {NULL, NULL, 19255, LOCATE_parser___ReduceAction361___action};
30588 val_t variable[23];
30589 void **closurevariable = NULL;
30590 trace.prev = tracehead; tracehead = &trace;
30591 trace.file = LOCATE_parser;
30592 variable[0] = self;
30593 variable[1] = param0;
30594 variable[3] = NIT_NULL /*null*/;
30595 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30596 variable[4] = variable[5];
30597 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30598 variable[5] = variable[6];
30599 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30600 variable[6] = variable[7];
30601 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30602 variable[7] = variable[8];
30603 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30604 variable[8] = variable[9];
30605 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30606 variable[9] = variable[10];
30607 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30608 variable[10] = variable[11];
30609 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30610 variable[11] = variable[12];
30611 variable[12] = variable[11] /*nodearraylist1*/;
30612 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
30613 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction361___action, LOCATE_parser, 19267); nit_exit(1);}
30614 variable[13] = variable[10] /*nodearraylist2*/;
30615 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
30616 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction361___action, LOCATE_parser, 19269); nit_exit(1);}
30617 variable[14] = variable[9] /*nodearraylist3*/;
30618 variable[15] = TAG_Bool(( variable[14] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
30619 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction361___action, LOCATE_parser, 19271); nit_exit(1);}
30620 variable[15] = variable[8] /*nodearraylist4*/;
30621 variable[16] = TAG_Bool(( variable[15] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
30622 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction361___action, LOCATE_parser, 19273); nit_exit(1);}
30623 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
30624 variable[16] = variable[17];
30625 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
30626 variable[17] = variable[18];
30627 variable[18] = variable[7] /*nodearraylist5*/;
30628 variable[19] = TAG_Bool(( variable[18] /*listnode10*/==NIT_NULL) || VAL_ISA( variable[18] /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
30629 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction361___action, LOCATE_parser, 19277); nit_exit(1);}
30630 variable[19] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[18] /*listnode10*/ == NIT_NULL /*null*/) || (( variable[18] /*listnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[18] /*listnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[18] /*listnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[18] /*listnode10*/,COLOR_kernel___Object_____eqeq))( variable[18] /*listnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
30631 if (UNTAG_Bool(variable[19])) { /*if*/
30632 variable[19] = ((array___AbstractArray___is_empty_t)CALL( variable[17] /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable[17] /*listnode11*/) /*AbstractArray::is_empty*/;
30633 if (UNTAG_Bool(variable[19])) { /*if*/
30634 variable[17] = variable[18] /*listnode10*/ /*listnode11=*/;
30635 } else { /*if*/
30636 ((abstract_collection___IndexedCollection___append_t)CALL( variable[17] /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable[17] /*listnode11*/, variable[18] /*listnode10*/) /*IndexedCollection::append*/;
30637 }
30638 }
30639 variable[20] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[16] /*listnode8*/, NIT_NULL /*null*/, variable[17] /*listnode11*/); /*new ASignature*/
30640 variable[19] = variable[20];
30641 variable[20] = variable[4] /*nodearraylist8*/;
30642 variable[21] = TAG_Bool(( variable[20] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[20] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
30643 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction361___action, LOCATE_parser, 19291); nit_exit(1);}
30644 variable[22] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable[12] /*pdocnode2*/, NIT_NULL /*null*/, variable[13] /*pvisibilitynode4*/, variable[14] /*tkwmethnode5*/, variable[15] /*pmethidnode6*/, variable[19] /*psignaturenode7*/, variable[20] /*pexprnode12*/); /*new AConcreteMethPropdef*/
30645 variable[21] = variable[22];
30646 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
30647 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
30648 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
30649 return_label754: while(false);
30650 tracehead = trace.prev;
30651 return;
30652 }
30653 void parser___ReduceAction361___init(val_t self, int* init_table) {
30654 struct trace_t trace = {NULL, NULL, 19304, LOCATE_parser___ReduceAction361___init};
30655 val_t variable[2];
30656 void **closurevariable = NULL;
30657 trace.prev = tracehead; tracehead = &trace;
30658 trace.file = LOCATE_parser;
30659 variable[0] = self;
30660 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction361].i]) return;
30661 return_label755: while(false);
30662 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction361].i] = 1;
30663 tracehead = trace.prev;
30664 return;
30665 }
30666 void parser___ReduceAction362___action(val_t self, val_t param0) {
30667 struct trace_t trace = {NULL, NULL, 19308, LOCATE_parser___ReduceAction362___action};
30668 val_t variable[25];
30669 void **closurevariable = NULL;
30670 trace.prev = tracehead; tracehead = &trace;
30671 trace.file = LOCATE_parser;
30672 variable[0] = self;
30673 variable[1] = param0;
30674 variable[3] = NIT_NULL /*null*/;
30675 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30676 variable[4] = variable[5];
30677 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30678 variable[5] = variable[6];
30679 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30680 variable[6] = variable[7];
30681 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30682 variable[7] = variable[8];
30683 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30684 variable[8] = variable[9];
30685 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30686 variable[9] = variable[10];
30687 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30688 variable[10] = variable[11];
30689 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30690 variable[11] = variable[12];
30691 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30692 variable[12] = variable[13];
30693 variable[13] = variable[12] /*nodearraylist1*/;
30694 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
30695 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction362___action, LOCATE_parser, 19321); nit_exit(1);}
30696 variable[14] = variable[11] /*nodearraylist2*/;
30697 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
30698 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction362___action, LOCATE_parser, 19323); nit_exit(1);}
30699 variable[15] = variable[10] /*nodearraylist3*/;
30700 variable[16] = TAG_Bool(( variable[15] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
30701 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction362___action, LOCATE_parser, 19325); nit_exit(1);}
30702 variable[16] = variable[9] /*nodearraylist4*/;
30703 variable[17] = TAG_Bool(( variable[16] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[16] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
30704 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction362___action, LOCATE_parser, 19327); nit_exit(1);}
30705 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
30706 variable[17] = variable[18];
30707 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
30708 variable[18] = variable[19];
30709 variable[19] = variable[8] /*nodearraylist5*/;
30710 variable[20] = TAG_Bool(( variable[19] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[19] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
30711 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction362___action, LOCATE_parser, 19331); nit_exit(1);}
30712 variable[20] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[19] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[19] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[19] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[19] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[19] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
30713 if (UNTAG_Bool(variable[20])) { /*if*/
30714 variable[20] = ((array___AbstractArray___is_empty_t)CALL( variable[17] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[17] /*listnode9*/) /*AbstractArray::is_empty*/;
30715 if (UNTAG_Bool(variable[20])) { /*if*/
30716 variable[17] = variable[19] /*listnode8*/ /*listnode9=*/;
30717 } else { /*if*/
30718 ((abstract_collection___IndexedCollection___append_t)CALL( variable[17] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[17] /*listnode9*/, variable[19] /*listnode8*/) /*IndexedCollection::append*/;
30719 }
30720 }
30721 variable[20] = variable[7] /*nodearraylist6*/;
30722 variable[21] = TAG_Bool(( variable[20] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[20] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
30723 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction362___action, LOCATE_parser, 19340); nit_exit(1);}
30724 variable[21] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[20] /*listnode11*/ == NIT_NULL /*null*/) || (( variable[20] /*listnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[20] /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable[20] /*listnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
30725 if (UNTAG_Bool(variable[21])) { /*if*/
30726 variable[21] = ((array___AbstractArray___is_empty_t)CALL( variable[18] /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable[18] /*listnode12*/) /*AbstractArray::is_empty*/;
30727 if (UNTAG_Bool(variable[21])) { /*if*/
30728 variable[18] = variable[20] /*listnode11*/ /*listnode12=*/;
30729 } else { /*if*/
30730 ((abstract_collection___IndexedCollection___append_t)CALL( variable[18] /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable[18] /*listnode12*/, variable[20] /*listnode11*/) /*IndexedCollection::append*/;
30731 }
30732 }
30733 variable[22] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[17] /*listnode9*/, NIT_NULL /*null*/, variable[18] /*listnode12*/); /*new ASignature*/
30734 variable[21] = variable[22];
30735 variable[22] = variable[4] /*nodearraylist9*/;
30736 variable[23] = TAG_Bool(( variable[22] /*pexprnode13*/==NIT_NULL) || VAL_ISA( variable[22] /*pexprnode13*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
30737 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction362___action, LOCATE_parser, 19354); nit_exit(1);}
30738 variable[24] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable[13] /*pdocnode2*/, NIT_NULL /*null*/, variable[14] /*pvisibilitynode4*/, variable[15] /*tkwmethnode5*/, variable[16] /*pmethidnode6*/, variable[21] /*psignaturenode7*/, variable[22] /*pexprnode13*/); /*new AConcreteMethPropdef*/
30739 variable[23] = variable[24];
30740 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
30741 variable[24] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
30742 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
30743 return_label756: while(false);
30744 tracehead = trace.prev;
30745 return;
30746 }
30747 void parser___ReduceAction362___init(val_t self, int* init_table) {
30748 struct trace_t trace = {NULL, NULL, 19367, LOCATE_parser___ReduceAction362___init};
30749 val_t variable[2];
30750 void **closurevariable = NULL;
30751 trace.prev = tracehead; tracehead = &trace;
30752 trace.file = LOCATE_parser;
30753 variable[0] = self;
30754 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction362].i]) return;
30755 return_label757: while(false);
30756 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction362].i] = 1;
30757 tracehead = trace.prev;
30758 return;
30759 }
30760 void parser___ReduceAction363___action(val_t self, val_t param0) {
30761 struct trace_t trace = {NULL, NULL, 19371, LOCATE_parser___ReduceAction363___action};
30762 val_t variable[25];
30763 void **closurevariable = NULL;
30764 trace.prev = tracehead; tracehead = &trace;
30765 trace.file = LOCATE_parser;
30766 variable[0] = self;
30767 variable[1] = param0;
30768 variable[3] = NIT_NULL /*null*/;
30769 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30770 variable[4] = variable[5];
30771 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30772 variable[5] = variable[6];
30773 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30774 variable[6] = variable[7];
30775 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30776 variable[7] = variable[8];
30777 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30778 variable[8] = variable[9];
30779 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30780 variable[9] = variable[10];
30781 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30782 variable[10] = variable[11];
30783 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30784 variable[11] = variable[12];
30785 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30786 variable[12] = variable[13];
30787 variable[13] = variable[12] /*nodearraylist1*/;
30788 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
30789 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction363___action, LOCATE_parser, 19384); nit_exit(1);}
30790 variable[14] = variable[11] /*nodearraylist2*/;
30791 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
30792 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction363___action, LOCATE_parser, 19386); nit_exit(1);}
30793 variable[15] = variable[10] /*nodearraylist3*/;
30794 variable[16] = TAG_Bool(( variable[15] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
30795 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction363___action, LOCATE_parser, 19388); nit_exit(1);}
30796 variable[16] = variable[9] /*nodearraylist4*/;
30797 variable[17] = TAG_Bool(( variable[16] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[16] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
30798 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction363___action, LOCATE_parser, 19390); nit_exit(1);}
30799 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
30800 variable[17] = variable[18];
30801 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
30802 variable[18] = variable[19];
30803 variable[19] = variable[8] /*nodearraylist5*/;
30804 variable[20] = TAG_Bool(( variable[19] /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable[19] /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
30805 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction363___action, LOCATE_parser, 19394); nit_exit(1);}
30806 variable[20] = variable[7] /*nodearraylist6*/;
30807 variable[21] = TAG_Bool(( variable[20] /*listnode10*/==NIT_NULL) || VAL_ISA( variable[20] /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
30808 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction363___action, LOCATE_parser, 19396); nit_exit(1);}
30809 variable[21] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[20] /*listnode10*/ == NIT_NULL /*null*/) || (( variable[20] /*listnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[20] /*listnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode10*/,COLOR_kernel___Object_____eqeq))( variable[20] /*listnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
30810 if (UNTAG_Bool(variable[21])) { /*if*/
30811 variable[21] = ((array___AbstractArray___is_empty_t)CALL( variable[18] /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable[18] /*listnode11*/) /*AbstractArray::is_empty*/;
30812 if (UNTAG_Bool(variable[21])) { /*if*/
30813 variable[18] = variable[20] /*listnode10*/ /*listnode11=*/;
30814 } else { /*if*/
30815 ((abstract_collection___IndexedCollection___append_t)CALL( variable[18] /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable[18] /*listnode11*/, variable[20] /*listnode10*/) /*IndexedCollection::append*/;
30816 }
30817 }
30818 variable[22] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[17] /*listnode8*/, variable[19] /*ptypenode9*/, variable[18] /*listnode11*/); /*new ASignature*/
30819 variable[21] = variable[22];
30820 variable[22] = variable[4] /*nodearraylist9*/;
30821 variable[23] = TAG_Bool(( variable[22] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[22] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
30822 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction363___action, LOCATE_parser, 19410); nit_exit(1);}
30823 variable[24] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable[13] /*pdocnode2*/, NIT_NULL /*null*/, variable[14] /*pvisibilitynode4*/, variable[15] /*tkwmethnode5*/, variable[16] /*pmethidnode6*/, variable[21] /*psignaturenode7*/, variable[22] /*pexprnode12*/); /*new AConcreteMethPropdef*/
30824 variable[23] = variable[24];
30825 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
30826 variable[24] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
30827 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
30828 return_label758: while(false);
30829 tracehead = trace.prev;
30830 return;
30831 }
30832 void parser___ReduceAction363___init(val_t self, int* init_table) {
30833 struct trace_t trace = {NULL, NULL, 19423, LOCATE_parser___ReduceAction363___init};
30834 val_t variable[2];
30835 void **closurevariable = NULL;
30836 trace.prev = tracehead; tracehead = &trace;
30837 trace.file = LOCATE_parser;
30838 variable[0] = self;
30839 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction363].i]) return;
30840 return_label759: while(false);
30841 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction363].i] = 1;
30842 tracehead = trace.prev;
30843 return;
30844 }
30845 void parser___ReduceAction364___action(val_t self, val_t param0) {
30846 struct trace_t trace = {NULL, NULL, 19427, LOCATE_parser___ReduceAction364___action};
30847 val_t variable[27];
30848 void **closurevariable = NULL;
30849 trace.prev = tracehead; tracehead = &trace;
30850 trace.file = LOCATE_parser;
30851 variable[0] = self;
30852 variable[1] = param0;
30853 variable[3] = NIT_NULL /*null*/;
30854 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30855 variable[4] = variable[5];
30856 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30857 variable[5] = variable[6];
30858 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30859 variable[6] = variable[7];
30860 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30861 variable[7] = variable[8];
30862 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30863 variable[8] = variable[9];
30864 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30865 variable[9] = variable[10];
30866 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30867 variable[10] = variable[11];
30868 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30869 variable[11] = variable[12];
30870 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30871 variable[12] = variable[13];
30872 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30873 variable[13] = variable[14];
30874 variable[14] = variable[13] /*nodearraylist1*/;
30875 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
30876 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction364___action, LOCATE_parser, 19441); nit_exit(1);}
30877 variable[15] = variable[12] /*nodearraylist2*/;
30878 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
30879 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction364___action, LOCATE_parser, 19443); nit_exit(1);}
30880 variable[16] = variable[11] /*nodearraylist3*/;
30881 variable[17] = TAG_Bool(( variable[16] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
30882 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction364___action, LOCATE_parser, 19445); nit_exit(1);}
30883 variable[17] = variable[10] /*nodearraylist4*/;
30884 variable[18] = TAG_Bool(( variable[17] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[17] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
30885 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction364___action, LOCATE_parser, 19447); nit_exit(1);}
30886 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
30887 variable[18] = variable[19];
30888 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
30889 variable[19] = variable[20];
30890 variable[20] = variable[9] /*nodearraylist5*/;
30891 variable[21] = TAG_Bool(( variable[20] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[20] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
30892 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction364___action, LOCATE_parser, 19451); nit_exit(1);}
30893 variable[21] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[20] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[20] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[20] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[20] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
30894 if (UNTAG_Bool(variable[21])) { /*if*/
30895 variable[21] = ((array___AbstractArray___is_empty_t)CALL( variable[18] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[18] /*listnode9*/) /*AbstractArray::is_empty*/;
30896 if (UNTAG_Bool(variable[21])) { /*if*/
30897 variable[18] = variable[20] /*listnode8*/ /*listnode9=*/;
30898 } else { /*if*/
30899 ((abstract_collection___IndexedCollection___append_t)CALL( variable[18] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[18] /*listnode9*/, variable[20] /*listnode8*/) /*IndexedCollection::append*/;
30900 }
30901 }
30902 variable[21] = variable[8] /*nodearraylist6*/;
30903 variable[22] = TAG_Bool(( variable[21] /*ptypenode10*/==NIT_NULL) || VAL_ISA( variable[21] /*ptypenode10*/, COLOR_PType, ID_PType)) /*cast PType*/;
30904 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction364___action, LOCATE_parser, 19460); nit_exit(1);}
30905 variable[22] = variable[7] /*nodearraylist7*/;
30906 variable[23] = TAG_Bool(( variable[22] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[22] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
30907 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction364___action, LOCATE_parser, 19462); nit_exit(1);}
30908 variable[23] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[22] /*listnode11*/ == NIT_NULL /*null*/) || (( variable[22] /*listnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[22] /*listnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[22] /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[22] /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable[22] /*listnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
30909 if (UNTAG_Bool(variable[23])) { /*if*/
30910 variable[23] = ((array___AbstractArray___is_empty_t)CALL( variable[19] /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable[19] /*listnode12*/) /*AbstractArray::is_empty*/;
30911 if (UNTAG_Bool(variable[23])) { /*if*/
30912 variable[19] = variable[22] /*listnode11*/ /*listnode12=*/;
30913 } else { /*if*/
30914 ((abstract_collection___IndexedCollection___append_t)CALL( variable[19] /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable[19] /*listnode12*/, variable[22] /*listnode11*/) /*IndexedCollection::append*/;
30915 }
30916 }
30917 variable[24] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[18] /*listnode9*/, variable[21] /*ptypenode10*/, variable[19] /*listnode12*/); /*new ASignature*/
30918 variable[23] = variable[24];
30919 variable[24] = variable[4] /*nodearraylist10*/;
30920 variable[25] = TAG_Bool(( variable[24] /*pexprnode13*/==NIT_NULL) || VAL_ISA( variable[24] /*pexprnode13*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
30921 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction364___action, LOCATE_parser, 19476); nit_exit(1);}
30922 variable[26] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable[14] /*pdocnode2*/, NIT_NULL /*null*/, variable[15] /*pvisibilitynode4*/, variable[16] /*tkwmethnode5*/, variable[17] /*pmethidnode6*/, variable[23] /*psignaturenode7*/, variable[24] /*pexprnode13*/); /*new AConcreteMethPropdef*/
30923 variable[25] = variable[26];
30924 variable[3] = variable[25] /*ppropdefnode1*/ /*node_list=*/;
30925 variable[26] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
30926 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[26], variable[3] /*node_list*/) /*Parser::push*/;
30927 return_label760: while(false);
30928 tracehead = trace.prev;
30929 return;
30930 }
30931 void parser___ReduceAction364___init(val_t self, int* init_table) {
30932 struct trace_t trace = {NULL, NULL, 19489, LOCATE_parser___ReduceAction364___init};
30933 val_t variable[2];
30934 void **closurevariable = NULL;
30935 trace.prev = tracehead; tracehead = &trace;
30936 trace.file = LOCATE_parser;
30937 variable[0] = self;
30938 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction364].i]) return;
30939 return_label761: while(false);
30940 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction364].i] = 1;
30941 tracehead = trace.prev;
30942 return;
30943 }
30944 void parser___ReduceAction365___action(val_t self, val_t param0) {
30945 struct trace_t trace = {NULL, NULL, 19493, LOCATE_parser___ReduceAction365___action};
30946 val_t variable[23];
30947 void **closurevariable = NULL;
30948 trace.prev = tracehead; tracehead = &trace;
30949 trace.file = LOCATE_parser;
30950 variable[0] = self;
30951 variable[1] = param0;
30952 variable[3] = NIT_NULL /*null*/;
30953 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30954 variable[4] = variable[5];
30955 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30956 variable[5] = variable[6];
30957 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30958 variable[6] = variable[7];
30959 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30960 variable[7] = variable[8];
30961 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30962 variable[8] = variable[9];
30963 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30964 variable[9] = variable[10];
30965 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30966 variable[10] = variable[11];
30967 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
30968 variable[11] = variable[12];
30969 variable[12] = variable[11] /*nodearraylist1*/;
30970 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
30971 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction365___action, LOCATE_parser, 19505); nit_exit(1);}
30972 variable[13] = variable[10] /*nodearraylist2*/;
30973 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
30974 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction365___action, LOCATE_parser, 19507); nit_exit(1);}
30975 variable[14] = variable[9] /*nodearraylist3*/;
30976 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
30977 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction365___action, LOCATE_parser, 19509); nit_exit(1);}
30978 variable[15] = variable[8] /*nodearraylist4*/;
30979 variable[16] = TAG_Bool(( variable[15] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
30980 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction365___action, LOCATE_parser, 19511); nit_exit(1);}
30981 variable[16] = variable[7] /*nodearraylist5*/;
30982 variable[17] = TAG_Bool(( variable[16] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[16] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
30983 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction365___action, LOCATE_parser, 19513); nit_exit(1);}
30984 variable[18] = NEW_Array_array___Array___init(); /*new Array[Object]*/
30985 variable[17] = variable[18];
30986 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
30987 variable[18] = variable[19];
30988 variable[20] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[17] /*listnode8*/, NIT_NULL /*null*/, variable[18] /*listnode10*/); /*new ASignature*/
30989 variable[19] = variable[20];
30990 variable[20] = variable[4] /*nodearraylist8*/;
30991 variable[21] = TAG_Bool(( variable[20] /*pexprnode11*/==NIT_NULL) || VAL_ISA( variable[20] /*pexprnode11*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
30992 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction365___action, LOCATE_parser, 19522); nit_exit(1);}
30993 variable[22] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable[12] /*pdocnode2*/, variable[13] /*tkwredefnode3*/, variable[14] /*pvisibilitynode4*/, variable[15] /*tkwmethnode5*/, variable[16] /*pmethidnode6*/, variable[19] /*psignaturenode7*/, variable[20] /*pexprnode11*/); /*new AConcreteMethPropdef*/
30994 variable[21] = variable[22];
30995 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
30996 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
30997 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
30998 return_label762: while(false);
30999 tracehead = trace.prev;
31000 return;
31001 }
31002 void parser___ReduceAction365___init(val_t self, int* init_table) {
31003 struct trace_t trace = {NULL, NULL, 19535, LOCATE_parser___ReduceAction365___init};
31004 val_t variable[2];
31005 void **closurevariable = NULL;
31006 trace.prev = tracehead; tracehead = &trace;
31007 trace.file = LOCATE_parser;
31008 variable[0] = self;
31009 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction365].i]) return;
31010 return_label763: while(false);
31011 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction365].i] = 1;
31012 tracehead = trace.prev;
31013 return;
31014 }
31015 void parser___ReduceAction366___action(val_t self, val_t param0) {
31016 struct trace_t trace = {NULL, NULL, 19539, LOCATE_parser___ReduceAction366___action};
31017 val_t variable[25];
31018 void **closurevariable = NULL;
31019 trace.prev = tracehead; tracehead = &trace;
31020 trace.file = LOCATE_parser;
31021 variable[0] = self;
31022 variable[1] = param0;
31023 variable[3] = NIT_NULL /*null*/;
31024 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31025 variable[4] = variable[5];
31026 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31027 variable[5] = variable[6];
31028 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31029 variable[6] = variable[7];
31030 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31031 variable[7] = variable[8];
31032 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31033 variable[8] = variable[9];
31034 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31035 variable[9] = variable[10];
31036 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31037 variable[10] = variable[11];
31038 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31039 variable[11] = variable[12];
31040 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31041 variable[12] = variable[13];
31042 variable[13] = variable[12] /*nodearraylist1*/;
31043 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
31044 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction366___action, LOCATE_parser, 19552); nit_exit(1);}
31045 variable[14] = variable[11] /*nodearraylist2*/;
31046 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
31047 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction366___action, LOCATE_parser, 19554); nit_exit(1);}
31048 variable[15] = variable[10] /*nodearraylist3*/;
31049 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
31050 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction366___action, LOCATE_parser, 19556); nit_exit(1);}
31051 variable[16] = variable[9] /*nodearraylist4*/;
31052 variable[17] = TAG_Bool(( variable[16] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
31053 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction366___action, LOCATE_parser, 19558); nit_exit(1);}
31054 variable[17] = variable[8] /*nodearraylist5*/;
31055 variable[18] = TAG_Bool(( variable[17] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[17] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
31056 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction366___action, LOCATE_parser, 19560); nit_exit(1);}
31057 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
31058 variable[18] = variable[19];
31059 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
31060 variable[19] = variable[20];
31061 variable[20] = variable[7] /*nodearraylist6*/;
31062 variable[21] = TAG_Bool(( variable[20] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[20] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
31063 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction366___action, LOCATE_parser, 19564); nit_exit(1);}
31064 variable[21] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[20] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[20] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[20] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[20] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
31065 if (UNTAG_Bool(variable[21])) { /*if*/
31066 variable[21] = ((array___AbstractArray___is_empty_t)CALL( variable[18] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[18] /*listnode9*/) /*AbstractArray::is_empty*/;
31067 if (UNTAG_Bool(variable[21])) { /*if*/
31068 variable[18] = variable[20] /*listnode8*/ /*listnode9=*/;
31069 } else { /*if*/
31070 ((abstract_collection___IndexedCollection___append_t)CALL( variable[18] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[18] /*listnode9*/, variable[20] /*listnode8*/) /*IndexedCollection::append*/;
31071 }
31072 }
31073 variable[22] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[18] /*listnode9*/, NIT_NULL /*null*/, variable[19] /*listnode11*/); /*new ASignature*/
31074 variable[21] = variable[22];
31075 variable[22] = variable[4] /*nodearraylist9*/;
31076 variable[23] = TAG_Bool(( variable[22] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[22] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31077 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction366___action, LOCATE_parser, 19578); nit_exit(1);}
31078 variable[24] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable[13] /*pdocnode2*/, variable[14] /*tkwredefnode3*/, variable[15] /*pvisibilitynode4*/, variable[16] /*tkwmethnode5*/, variable[17] /*pmethidnode6*/, variable[21] /*psignaturenode7*/, variable[22] /*pexprnode12*/); /*new AConcreteMethPropdef*/
31079 variable[23] = variable[24];
31080 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
31081 variable[24] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
31082 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
31083 return_label764: while(false);
31084 tracehead = trace.prev;
31085 return;
31086 }
31087 void parser___ReduceAction366___init(val_t self, int* init_table) {
31088 struct trace_t trace = {NULL, NULL, 19591, LOCATE_parser___ReduceAction366___init};
31089 val_t variable[2];
31090 void **closurevariable = NULL;
31091 trace.prev = tracehead; tracehead = &trace;
31092 trace.file = LOCATE_parser;
31093 variable[0] = self;
31094 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction366].i]) return;
31095 return_label765: while(false);
31096 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction366].i] = 1;
31097 tracehead = trace.prev;
31098 return;
31099 }
31100 void parser___ReduceAction367___action(val_t self, val_t param0) {
31101 struct trace_t trace = {NULL, NULL, 19595, LOCATE_parser___ReduceAction367___action};
31102 val_t variable[25];
31103 void **closurevariable = NULL;
31104 trace.prev = tracehead; tracehead = &trace;
31105 trace.file = LOCATE_parser;
31106 variable[0] = self;
31107 variable[1] = param0;
31108 variable[3] = NIT_NULL /*null*/;
31109 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31110 variable[4] = variable[5];
31111 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31112 variable[5] = variable[6];
31113 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31114 variable[6] = variable[7];
31115 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31116 variable[7] = variable[8];
31117 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31118 variable[8] = variable[9];
31119 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31120 variable[9] = variable[10];
31121 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31122 variable[10] = variable[11];
31123 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31124 variable[11] = variable[12];
31125 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31126 variable[12] = variable[13];
31127 variable[13] = variable[12] /*nodearraylist1*/;
31128 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
31129 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction367___action, LOCATE_parser, 19608); nit_exit(1);}
31130 variable[14] = variable[11] /*nodearraylist2*/;
31131 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
31132 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction367___action, LOCATE_parser, 19610); nit_exit(1);}
31133 variable[15] = variable[10] /*nodearraylist3*/;
31134 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
31135 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction367___action, LOCATE_parser, 19612); nit_exit(1);}
31136 variable[16] = variable[9] /*nodearraylist4*/;
31137 variable[17] = TAG_Bool(( variable[16] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
31138 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction367___action, LOCATE_parser, 19614); nit_exit(1);}
31139 variable[17] = variable[8] /*nodearraylist5*/;
31140 variable[18] = TAG_Bool(( variable[17] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[17] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
31141 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction367___action, LOCATE_parser, 19616); nit_exit(1);}
31142 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
31143 variable[18] = variable[19];
31144 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
31145 variable[19] = variable[20];
31146 variable[20] = variable[7] /*nodearraylist6*/;
31147 variable[21] = TAG_Bool(( variable[20] /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable[20] /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
31148 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction367___action, LOCATE_parser, 19620); nit_exit(1);}
31149 variable[22] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[18] /*listnode8*/, variable[20] /*ptypenode9*/, variable[19] /*listnode10*/); /*new ASignature*/
31150 variable[21] = variable[22];
31151 variable[22] = variable[4] /*nodearraylist9*/;
31152 variable[23] = TAG_Bool(( variable[22] /*pexprnode11*/==NIT_NULL) || VAL_ISA( variable[22] /*pexprnode11*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31153 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction367___action, LOCATE_parser, 19627); nit_exit(1);}
31154 variable[24] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable[13] /*pdocnode2*/, variable[14] /*tkwredefnode3*/, variable[15] /*pvisibilitynode4*/, variable[16] /*tkwmethnode5*/, variable[17] /*pmethidnode6*/, variable[21] /*psignaturenode7*/, variable[22] /*pexprnode11*/); /*new AConcreteMethPropdef*/
31155 variable[23] = variable[24];
31156 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
31157 variable[24] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
31158 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
31159 return_label766: while(false);
31160 tracehead = trace.prev;
31161 return;
31162 }
31163 void parser___ReduceAction367___init(val_t self, int* init_table) {
31164 struct trace_t trace = {NULL, NULL, 19640, LOCATE_parser___ReduceAction367___init};
31165 val_t variable[2];
31166 void **closurevariable = NULL;
31167 trace.prev = tracehead; tracehead = &trace;
31168 trace.file = LOCATE_parser;
31169 variable[0] = self;
31170 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction367].i]) return;
31171 return_label767: while(false);
31172 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction367].i] = 1;
31173 tracehead = trace.prev;
31174 return;
31175 }
31176 void parser___ReduceAction368___action(val_t self, val_t param0) {
31177 struct trace_t trace = {NULL, NULL, 19644, LOCATE_parser___ReduceAction368___action};
31178 val_t variable[27];
31179 void **closurevariable = NULL;
31180 trace.prev = tracehead; tracehead = &trace;
31181 trace.file = LOCATE_parser;
31182 variable[0] = self;
31183 variable[1] = param0;
31184 variable[3] = NIT_NULL /*null*/;
31185 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31186 variable[4] = variable[5];
31187 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31188 variable[5] = variable[6];
31189 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31190 variable[6] = variable[7];
31191 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31192 variable[7] = variable[8];
31193 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31194 variable[8] = variable[9];
31195 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31196 variable[9] = variable[10];
31197 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31198 variable[10] = variable[11];
31199 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31200 variable[11] = variable[12];
31201 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31202 variable[12] = variable[13];
31203 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31204 variable[13] = variable[14];
31205 variable[14] = variable[13] /*nodearraylist1*/;
31206 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
31207 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction368___action, LOCATE_parser, 19658); nit_exit(1);}
31208 variable[15] = variable[12] /*nodearraylist2*/;
31209 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
31210 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction368___action, LOCATE_parser, 19660); nit_exit(1);}
31211 variable[16] = variable[11] /*nodearraylist3*/;
31212 variable[17] = TAG_Bool(( variable[16] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[16] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
31213 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction368___action, LOCATE_parser, 19662); nit_exit(1);}
31214 variable[17] = variable[10] /*nodearraylist4*/;
31215 variable[18] = TAG_Bool(( variable[17] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
31216 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction368___action, LOCATE_parser, 19664); nit_exit(1);}
31217 variable[18] = variable[9] /*nodearraylist5*/;
31218 variable[19] = TAG_Bool(( variable[18] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[18] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
31219 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction368___action, LOCATE_parser, 19666); nit_exit(1);}
31220 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
31221 variable[19] = variable[20];
31222 variable[21] = NEW_Array_array___Array___init(); /*new Array[Object]*/
31223 variable[20] = variable[21];
31224 variable[21] = variable[8] /*nodearraylist6*/;
31225 variable[22] = TAG_Bool(( variable[21] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[21] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
31226 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction368___action, LOCATE_parser, 19670); nit_exit(1);}
31227 variable[22] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[21] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[21] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[21] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[21] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
31228 if (UNTAG_Bool(variable[22])) { /*if*/
31229 variable[22] = ((array___AbstractArray___is_empty_t)CALL( variable[19] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[19] /*listnode9*/) /*AbstractArray::is_empty*/;
31230 if (UNTAG_Bool(variable[22])) { /*if*/
31231 variable[19] = variable[21] /*listnode8*/ /*listnode9=*/;
31232 } else { /*if*/
31233 ((abstract_collection___IndexedCollection___append_t)CALL( variable[19] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[19] /*listnode9*/, variable[21] /*listnode8*/) /*IndexedCollection::append*/;
31234 }
31235 }
31236 variable[22] = variable[7] /*nodearraylist7*/;
31237 variable[23] = TAG_Bool(( variable[22] /*ptypenode10*/==NIT_NULL) || VAL_ISA( variable[22] /*ptypenode10*/, COLOR_PType, ID_PType)) /*cast PType*/;
31238 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction368___action, LOCATE_parser, 19679); nit_exit(1);}
31239 variable[24] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[19] /*listnode9*/, variable[22] /*ptypenode10*/, variable[20] /*listnode11*/); /*new ASignature*/
31240 variable[23] = variable[24];
31241 variable[24] = variable[4] /*nodearraylist10*/;
31242 variable[25] = TAG_Bool(( variable[24] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[24] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31243 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction368___action, LOCATE_parser, 19686); nit_exit(1);}
31244 variable[26] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable[14] /*pdocnode2*/, variable[15] /*tkwredefnode3*/, variable[16] /*pvisibilitynode4*/, variable[17] /*tkwmethnode5*/, variable[18] /*pmethidnode6*/, variable[23] /*psignaturenode7*/, variable[24] /*pexprnode12*/); /*new AConcreteMethPropdef*/
31245 variable[25] = variable[26];
31246 variable[3] = variable[25] /*ppropdefnode1*/ /*node_list=*/;
31247 variable[26] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
31248 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[26], variable[3] /*node_list*/) /*Parser::push*/;
31249 return_label768: while(false);
31250 tracehead = trace.prev;
31251 return;
31252 }
31253 void parser___ReduceAction368___init(val_t self, int* init_table) {
31254 struct trace_t trace = {NULL, NULL, 19699, LOCATE_parser___ReduceAction368___init};
31255 val_t variable[2];
31256 void **closurevariable = NULL;
31257 trace.prev = tracehead; tracehead = &trace;
31258 trace.file = LOCATE_parser;
31259 variable[0] = self;
31260 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction368].i]) return;
31261 return_label769: while(false);
31262 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction368].i] = 1;
31263 tracehead = trace.prev;
31264 return;
31265 }
31266 void parser___ReduceAction369___action(val_t self, val_t param0) {
31267 struct trace_t trace = {NULL, NULL, 19703, LOCATE_parser___ReduceAction369___action};
31268 val_t variable[25];
31269 void **closurevariable = NULL;
31270 trace.prev = tracehead; tracehead = &trace;
31271 trace.file = LOCATE_parser;
31272 variable[0] = self;
31273 variable[1] = param0;
31274 variable[3] = NIT_NULL /*null*/;
31275 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31276 variable[4] = variable[5];
31277 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31278 variable[5] = variable[6];
31279 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31280 variable[6] = variable[7];
31281 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31282 variable[7] = variable[8];
31283 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31284 variable[8] = variable[9];
31285 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31286 variable[9] = variable[10];
31287 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31288 variable[10] = variable[11];
31289 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31290 variable[11] = variable[12];
31291 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31292 variable[12] = variable[13];
31293 variable[13] = variable[12] /*nodearraylist1*/;
31294 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
31295 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction369___action, LOCATE_parser, 19716); nit_exit(1);}
31296 variable[14] = variable[11] /*nodearraylist2*/;
31297 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
31298 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction369___action, LOCATE_parser, 19718); nit_exit(1);}
31299 variable[15] = variable[10] /*nodearraylist3*/;
31300 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
31301 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction369___action, LOCATE_parser, 19720); nit_exit(1);}
31302 variable[16] = variable[9] /*nodearraylist4*/;
31303 variable[17] = TAG_Bool(( variable[16] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
31304 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction369___action, LOCATE_parser, 19722); nit_exit(1);}
31305 variable[17] = variable[8] /*nodearraylist5*/;
31306 variable[18] = TAG_Bool(( variable[17] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[17] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
31307 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction369___action, LOCATE_parser, 19724); nit_exit(1);}
31308 variable[19] = NEW_Array_array___Array___init(); /*new Array[Object]*/
31309 variable[18] = variable[19];
31310 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
31311 variable[19] = variable[20];
31312 variable[20] = variable[7] /*nodearraylist6*/;
31313 variable[21] = TAG_Bool(( variable[20] /*listnode10*/==NIT_NULL) || VAL_ISA( variable[20] /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
31314 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction369___action, LOCATE_parser, 19728); nit_exit(1);}
31315 variable[21] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[20] /*listnode10*/ == NIT_NULL /*null*/) || (( variable[20] /*listnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[20] /*listnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[20] /*listnode10*/,COLOR_kernel___Object_____eqeq))( variable[20] /*listnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
31316 if (UNTAG_Bool(variable[21])) { /*if*/
31317 variable[21] = ((array___AbstractArray___is_empty_t)CALL( variable[19] /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable[19] /*listnode11*/) /*AbstractArray::is_empty*/;
31318 if (UNTAG_Bool(variable[21])) { /*if*/
31319 variable[19] = variable[20] /*listnode10*/ /*listnode11=*/;
31320 } else { /*if*/
31321 ((abstract_collection___IndexedCollection___append_t)CALL( variable[19] /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable[19] /*listnode11*/, variable[20] /*listnode10*/) /*IndexedCollection::append*/;
31322 }
31323 }
31324 variable[22] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[18] /*listnode8*/, NIT_NULL /*null*/, variable[19] /*listnode11*/); /*new ASignature*/
31325 variable[21] = variable[22];
31326 variable[22] = variable[4] /*nodearraylist9*/;
31327 variable[23] = TAG_Bool(( variable[22] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[22] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31328 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction369___action, LOCATE_parser, 19742); nit_exit(1);}
31329 variable[24] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable[13] /*pdocnode2*/, variable[14] /*tkwredefnode3*/, variable[15] /*pvisibilitynode4*/, variable[16] /*tkwmethnode5*/, variable[17] /*pmethidnode6*/, variable[21] /*psignaturenode7*/, variable[22] /*pexprnode12*/); /*new AConcreteMethPropdef*/
31330 variable[23] = variable[24];
31331 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
31332 variable[24] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
31333 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
31334 return_label770: while(false);
31335 tracehead = trace.prev;
31336 return;
31337 }
31338 void parser___ReduceAction369___init(val_t self, int* init_table) {
31339 struct trace_t trace = {NULL, NULL, 19755, LOCATE_parser___ReduceAction369___init};
31340 val_t variable[2];
31341 void **closurevariable = NULL;
31342 trace.prev = tracehead; tracehead = &trace;
31343 trace.file = LOCATE_parser;
31344 variable[0] = self;
31345 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction369].i]) return;
31346 return_label771: while(false);
31347 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction369].i] = 1;
31348 tracehead = trace.prev;
31349 return;
31350 }
31351 void parser___ReduceAction370___action(val_t self, val_t param0) {
31352 struct trace_t trace = {NULL, NULL, 19759, LOCATE_parser___ReduceAction370___action};
31353 val_t variable[27];
31354 void **closurevariable = NULL;
31355 trace.prev = tracehead; tracehead = &trace;
31356 trace.file = LOCATE_parser;
31357 variable[0] = self;
31358 variable[1] = param0;
31359 variable[3] = NIT_NULL /*null*/;
31360 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31361 variable[4] = variable[5];
31362 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31363 variable[5] = variable[6];
31364 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31365 variable[6] = variable[7];
31366 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31367 variable[7] = variable[8];
31368 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31369 variable[8] = variable[9];
31370 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31371 variable[9] = variable[10];
31372 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31373 variable[10] = variable[11];
31374 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31375 variable[11] = variable[12];
31376 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31377 variable[12] = variable[13];
31378 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31379 variable[13] = variable[14];
31380 variable[14] = variable[13] /*nodearraylist1*/;
31381 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
31382 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction370___action, LOCATE_parser, 19773); nit_exit(1);}
31383 variable[15] = variable[12] /*nodearraylist2*/;
31384 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
31385 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction370___action, LOCATE_parser, 19775); nit_exit(1);}
31386 variable[16] = variable[11] /*nodearraylist3*/;
31387 variable[17] = TAG_Bool(( variable[16] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[16] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
31388 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction370___action, LOCATE_parser, 19777); nit_exit(1);}
31389 variable[17] = variable[10] /*nodearraylist4*/;
31390 variable[18] = TAG_Bool(( variable[17] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
31391 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction370___action, LOCATE_parser, 19779); nit_exit(1);}
31392 variable[18] = variable[9] /*nodearraylist5*/;
31393 variable[19] = TAG_Bool(( variable[18] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[18] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
31394 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction370___action, LOCATE_parser, 19781); nit_exit(1);}
31395 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
31396 variable[19] = variable[20];
31397 variable[21] = NEW_Array_array___Array___init(); /*new Array[Object]*/
31398 variable[20] = variable[21];
31399 variable[21] = variable[8] /*nodearraylist6*/;
31400 variable[22] = TAG_Bool(( variable[21] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[21] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
31401 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction370___action, LOCATE_parser, 19785); nit_exit(1);}
31402 variable[22] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[21] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[21] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[21] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[21] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[21] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
31403 if (UNTAG_Bool(variable[22])) { /*if*/
31404 variable[22] = ((array___AbstractArray___is_empty_t)CALL( variable[19] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[19] /*listnode9*/) /*AbstractArray::is_empty*/;
31405 if (UNTAG_Bool(variable[22])) { /*if*/
31406 variable[19] = variable[21] /*listnode8*/ /*listnode9=*/;
31407 } else { /*if*/
31408 ((abstract_collection___IndexedCollection___append_t)CALL( variable[19] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[19] /*listnode9*/, variable[21] /*listnode8*/) /*IndexedCollection::append*/;
31409 }
31410 }
31411 variable[22] = variable[7] /*nodearraylist7*/;
31412 variable[23] = TAG_Bool(( variable[22] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[22] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
31413 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction370___action, LOCATE_parser, 19794); nit_exit(1);}
31414 variable[23] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[22] /*listnode11*/ == NIT_NULL /*null*/) || (( variable[22] /*listnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[22] /*listnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[22] /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[22] /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable[22] /*listnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
31415 if (UNTAG_Bool(variable[23])) { /*if*/
31416 variable[23] = ((array___AbstractArray___is_empty_t)CALL( variable[20] /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable[20] /*listnode12*/) /*AbstractArray::is_empty*/;
31417 if (UNTAG_Bool(variable[23])) { /*if*/
31418 variable[20] = variable[22] /*listnode11*/ /*listnode12=*/;
31419 } else { /*if*/
31420 ((abstract_collection___IndexedCollection___append_t)CALL( variable[20] /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable[20] /*listnode12*/, variable[22] /*listnode11*/) /*IndexedCollection::append*/;
31421 }
31422 }
31423 variable[24] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[19] /*listnode9*/, NIT_NULL /*null*/, variable[20] /*listnode12*/); /*new ASignature*/
31424 variable[23] = variable[24];
31425 variable[24] = variable[4] /*nodearraylist10*/;
31426 variable[25] = TAG_Bool(( variable[24] /*pexprnode13*/==NIT_NULL) || VAL_ISA( variable[24] /*pexprnode13*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31427 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction370___action, LOCATE_parser, 19808); nit_exit(1);}
31428 variable[26] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable[14] /*pdocnode2*/, variable[15] /*tkwredefnode3*/, variable[16] /*pvisibilitynode4*/, variable[17] /*tkwmethnode5*/, variable[18] /*pmethidnode6*/, variable[23] /*psignaturenode7*/, variable[24] /*pexprnode13*/); /*new AConcreteMethPropdef*/
31429 variable[25] = variable[26];
31430 variable[3] = variable[25] /*ppropdefnode1*/ /*node_list=*/;
31431 variable[26] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
31432 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[26], variable[3] /*node_list*/) /*Parser::push*/;
31433 return_label772: while(false);
31434 tracehead = trace.prev;
31435 return;
31436 }
31437 void parser___ReduceAction370___init(val_t self, int* init_table) {
31438 struct trace_t trace = {NULL, NULL, 19821, LOCATE_parser___ReduceAction370___init};
31439 val_t variable[2];
31440 void **closurevariable = NULL;
31441 trace.prev = tracehead; tracehead = &trace;
31442 trace.file = LOCATE_parser;
31443 variable[0] = self;
31444 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction370].i]) return;
31445 return_label773: while(false);
31446 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction370].i] = 1;
31447 tracehead = trace.prev;
31448 return;
31449 }
31450 void parser___ReduceAction371___action(val_t self, val_t param0) {
31451 struct trace_t trace = {NULL, NULL, 19825, LOCATE_parser___ReduceAction371___action};
31452 val_t variable[27];
31453 void **closurevariable = NULL;
31454 trace.prev = tracehead; tracehead = &trace;
31455 trace.file = LOCATE_parser;
31456 variable[0] = self;
31457 variable[1] = param0;
31458 variable[3] = NIT_NULL /*null*/;
31459 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31460 variable[4] = variable[5];
31461 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31462 variable[5] = variable[6];
31463 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31464 variable[6] = variable[7];
31465 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31466 variable[7] = variable[8];
31467 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31468 variable[8] = variable[9];
31469 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31470 variable[9] = variable[10];
31471 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31472 variable[10] = variable[11];
31473 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31474 variable[11] = variable[12];
31475 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31476 variable[12] = variable[13];
31477 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31478 variable[13] = variable[14];
31479 variable[14] = variable[13] /*nodearraylist1*/;
31480 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
31481 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction371___action, LOCATE_parser, 19839); nit_exit(1);}
31482 variable[15] = variable[12] /*nodearraylist2*/;
31483 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
31484 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction371___action, LOCATE_parser, 19841); nit_exit(1);}
31485 variable[16] = variable[11] /*nodearraylist3*/;
31486 variable[17] = TAG_Bool(( variable[16] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[16] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
31487 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction371___action, LOCATE_parser, 19843); nit_exit(1);}
31488 variable[17] = variable[10] /*nodearraylist4*/;
31489 variable[18] = TAG_Bool(( variable[17] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
31490 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction371___action, LOCATE_parser, 19845); nit_exit(1);}
31491 variable[18] = variable[9] /*nodearraylist5*/;
31492 variable[19] = TAG_Bool(( variable[18] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[18] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
31493 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction371___action, LOCATE_parser, 19847); nit_exit(1);}
31494 variable[20] = NEW_Array_array___Array___init(); /*new Array[Object]*/
31495 variable[19] = variable[20];
31496 variable[21] = NEW_Array_array___Array___init(); /*new Array[Object]*/
31497 variable[20] = variable[21];
31498 variable[21] = variable[8] /*nodearraylist6*/;
31499 variable[22] = TAG_Bool(( variable[21] /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable[21] /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
31500 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction371___action, LOCATE_parser, 19851); nit_exit(1);}
31501 variable[22] = variable[7] /*nodearraylist7*/;
31502 variable[23] = TAG_Bool(( variable[22] /*listnode10*/==NIT_NULL) || VAL_ISA( variable[22] /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
31503 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction371___action, LOCATE_parser, 19853); nit_exit(1);}
31504 variable[23] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[22] /*listnode10*/ == NIT_NULL /*null*/) || (( variable[22] /*listnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[22] /*listnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[22] /*listnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[22] /*listnode10*/,COLOR_kernel___Object_____eqeq))( variable[22] /*listnode10*/, NIT_NULL /*null*/) /*Object::==*/)))))));
31505 if (UNTAG_Bool(variable[23])) { /*if*/
31506 variable[23] = ((array___AbstractArray___is_empty_t)CALL( variable[20] /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable[20] /*listnode11*/) /*AbstractArray::is_empty*/;
31507 if (UNTAG_Bool(variable[23])) { /*if*/
31508 variable[20] = variable[22] /*listnode10*/ /*listnode11=*/;
31509 } else { /*if*/
31510 ((abstract_collection___IndexedCollection___append_t)CALL( variable[20] /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable[20] /*listnode11*/, variable[22] /*listnode10*/) /*IndexedCollection::append*/;
31511 }
31512 }
31513 variable[24] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[19] /*listnode8*/, variable[21] /*ptypenode9*/, variable[20] /*listnode11*/); /*new ASignature*/
31514 variable[23] = variable[24];
31515 variable[24] = variable[4] /*nodearraylist10*/;
31516 variable[25] = TAG_Bool(( variable[24] /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable[24] /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31517 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction371___action, LOCATE_parser, 19867); nit_exit(1);}
31518 variable[26] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable[14] /*pdocnode2*/, variable[15] /*tkwredefnode3*/, variable[16] /*pvisibilitynode4*/, variable[17] /*tkwmethnode5*/, variable[18] /*pmethidnode6*/, variable[23] /*psignaturenode7*/, variable[24] /*pexprnode12*/); /*new AConcreteMethPropdef*/
31519 variable[25] = variable[26];
31520 variable[3] = variable[25] /*ppropdefnode1*/ /*node_list=*/;
31521 variable[26] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
31522 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[26], variable[3] /*node_list*/) /*Parser::push*/;
31523 return_label774: while(false);
31524 tracehead = trace.prev;
31525 return;
31526 }
31527 void parser___ReduceAction371___init(val_t self, int* init_table) {
31528 struct trace_t trace = {NULL, NULL, 19880, LOCATE_parser___ReduceAction371___init};
31529 val_t variable[2];
31530 void **closurevariable = NULL;
31531 trace.prev = tracehead; tracehead = &trace;
31532 trace.file = LOCATE_parser;
31533 variable[0] = self;
31534 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction371].i]) return;
31535 return_label775: while(false);
31536 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction371].i] = 1;
31537 tracehead = trace.prev;
31538 return;
31539 }
31540 void parser___ReduceAction372___action(val_t self, val_t param0) {
31541 struct trace_t trace = {NULL, NULL, 19884, LOCATE_parser___ReduceAction372___action};
31542 val_t variable[29];
31543 void **closurevariable = NULL;
31544 trace.prev = tracehead; tracehead = &trace;
31545 trace.file = LOCATE_parser;
31546 variable[0] = self;
31547 variable[1] = param0;
31548 variable[3] = NIT_NULL /*null*/;
31549 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31550 variable[4] = variable[5];
31551 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31552 variable[5] = variable[6];
31553 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31554 variable[6] = variable[7];
31555 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31556 variable[7] = variable[8];
31557 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31558 variable[8] = variable[9];
31559 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31560 variable[9] = variable[10];
31561 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31562 variable[10] = variable[11];
31563 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31564 variable[11] = variable[12];
31565 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31566 variable[12] = variable[13];
31567 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31568 variable[13] = variable[14];
31569 variable[15] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31570 variable[14] = variable[15];
31571 variable[15] = variable[14] /*nodearraylist1*/;
31572 variable[16] = TAG_Bool(( variable[15] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
31573 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction372___action, LOCATE_parser, 19899); nit_exit(1);}
31574 variable[16] = variable[13] /*nodearraylist2*/;
31575 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
31576 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction372___action, LOCATE_parser, 19901); nit_exit(1);}
31577 variable[17] = variable[12] /*nodearraylist3*/;
31578 variable[18] = TAG_Bool(( variable[17] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[17] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
31579 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction372___action, LOCATE_parser, 19903); nit_exit(1);}
31580 variable[18] = variable[11] /*nodearraylist4*/;
31581 variable[19] = TAG_Bool(( variable[18] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
31582 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction372___action, LOCATE_parser, 19905); nit_exit(1);}
31583 variable[19] = variable[10] /*nodearraylist5*/;
31584 variable[20] = TAG_Bool(( variable[19] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[19] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
31585 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction372___action, LOCATE_parser, 19907); nit_exit(1);}
31586 variable[21] = NEW_Array_array___Array___init(); /*new Array[Object]*/
31587 variable[20] = variable[21];
31588 variable[22] = NEW_Array_array___Array___init(); /*new Array[Object]*/
31589 variable[21] = variable[22];
31590 variable[22] = variable[9] /*nodearraylist6*/;
31591 variable[23] = TAG_Bool(( variable[22] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[22] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
31592 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction372___action, LOCATE_parser, 19911); nit_exit(1);}
31593 variable[23] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[22] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[22] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[22] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[22] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[22] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[22] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
31594 if (UNTAG_Bool(variable[23])) { /*if*/
31595 variable[23] = ((array___AbstractArray___is_empty_t)CALL( variable[20] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[20] /*listnode9*/) /*AbstractArray::is_empty*/;
31596 if (UNTAG_Bool(variable[23])) { /*if*/
31597 variable[20] = variable[22] /*listnode8*/ /*listnode9=*/;
31598 } else { /*if*/
31599 ((abstract_collection___IndexedCollection___append_t)CALL( variable[20] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[20] /*listnode9*/, variable[22] /*listnode8*/) /*IndexedCollection::append*/;
31600 }
31601 }
31602 variable[23] = variable[8] /*nodearraylist7*/;
31603 variable[24] = TAG_Bool(( variable[23] /*ptypenode10*/==NIT_NULL) || VAL_ISA( variable[23] /*ptypenode10*/, COLOR_PType, ID_PType)) /*cast PType*/;
31604 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction372___action, LOCATE_parser, 19920); nit_exit(1);}
31605 variable[24] = variable[7] /*nodearraylist8*/;
31606 variable[25] = TAG_Bool(( variable[24] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[24] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
31607 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction372___action, LOCATE_parser, 19922); nit_exit(1);}
31608 variable[25] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[24] /*listnode11*/ == NIT_NULL /*null*/) || (( variable[24] /*listnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[24] /*listnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[24] /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[24] /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable[24] /*listnode11*/, NIT_NULL /*null*/) /*Object::==*/)))))));
31609 if (UNTAG_Bool(variable[25])) { /*if*/
31610 variable[25] = ((array___AbstractArray___is_empty_t)CALL( variable[21] /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable[21] /*listnode12*/) /*AbstractArray::is_empty*/;
31611 if (UNTAG_Bool(variable[25])) { /*if*/
31612 variable[21] = variable[24] /*listnode11*/ /*listnode12=*/;
31613 } else { /*if*/
31614 ((abstract_collection___IndexedCollection___append_t)CALL( variable[21] /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable[21] /*listnode12*/, variable[24] /*listnode11*/) /*IndexedCollection::append*/;
31615 }
31616 }
31617 variable[26] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[20] /*listnode9*/, variable[23] /*ptypenode10*/, variable[21] /*listnode12*/); /*new ASignature*/
31618 variable[25] = variable[26];
31619 variable[26] = variable[4] /*nodearraylist11*/;
31620 variable[27] = TAG_Bool(( variable[26] /*pexprnode13*/==NIT_NULL) || VAL_ISA( variable[26] /*pexprnode13*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31621 if (!UNTAG_Bool(variable[27])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction372___action, LOCATE_parser, 19936); nit_exit(1);}
31622 variable[28] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable[15] /*pdocnode2*/, variable[16] /*tkwredefnode3*/, variable[17] /*pvisibilitynode4*/, variable[18] /*tkwmethnode5*/, variable[19] /*pmethidnode6*/, variable[25] /*psignaturenode7*/, variable[26] /*pexprnode13*/); /*new AConcreteMethPropdef*/
31623 variable[27] = variable[28];
31624 variable[3] = variable[27] /*ppropdefnode1*/ /*node_list=*/;
31625 variable[28] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
31626 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[28], variable[3] /*node_list*/) /*Parser::push*/;
31627 return_label776: while(false);
31628 tracehead = trace.prev;
31629 return;
31630 }
31631 void parser___ReduceAction372___init(val_t self, int* init_table) {
31632 struct trace_t trace = {NULL, NULL, 19949, LOCATE_parser___ReduceAction372___init};
31633 val_t variable[2];
31634 void **closurevariable = NULL;
31635 trace.prev = tracehead; tracehead = &trace;
31636 trace.file = LOCATE_parser;
31637 variable[0] = self;
31638 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction372].i]) return;
31639 return_label777: while(false);
31640 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction372].i] = 1;
31641 tracehead = trace.prev;
31642 return;
31643 }
31644 void parser___ReduceAction373___action(val_t self, val_t param0) {
31645 struct trace_t trace = {NULL, NULL, 19953, LOCATE_parser___ReduceAction373___action};
31646 val_t variable[6];
31647 void **closurevariable = NULL;
31648 trace.prev = tracehead; tracehead = &trace;
31649 trace.file = LOCATE_parser;
31650 variable[0] = self;
31651 variable[1] = param0;
31652 variable[3] = NIT_NULL /*null*/;
31653 variable[5] = NEW_APublicVisibility_parser_prod___APublicVisibility___init_apublicvisibility(); /*new APublicVisibility*/
31654 variable[4] = variable[5];
31655 variable[3] = variable[4] /*pvisibilitynode1*/ /*node_list=*/;
31656 variable[5] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(15)) /*Parser::go_to*/;
31657 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[5], variable[3] /*node_list*/) /*Parser::push*/;
31658 return_label778: while(false);
31659 tracehead = trace.prev;
31660 return;
31661 }
31662 void parser___ReduceAction373___init(val_t self, int* init_table) {
31663 struct trace_t trace = {NULL, NULL, 19961, LOCATE_parser___ReduceAction373___init};
31664 val_t variable[2];
31665 void **closurevariable = NULL;
31666 trace.prev = tracehead; tracehead = &trace;
31667 trace.file = LOCATE_parser;
31668 variable[0] = self;
31669 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction373].i]) return;
31670 return_label779: while(false);
31671 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction373].i] = 1;
31672 tracehead = trace.prev;
31673 return;
31674 }
31675 void parser___ReduceAction374___action(val_t self, val_t param0) {
31676 struct trace_t trace = {NULL, NULL, 19965, LOCATE_parser___ReduceAction374___action};
31677 val_t variable[9];
31678 void **closurevariable = NULL;
31679 trace.prev = tracehead; tracehead = &trace;
31680 trace.file = LOCATE_parser;
31681 variable[0] = self;
31682 variable[1] = param0;
31683 variable[3] = NIT_NULL /*null*/;
31684 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31685 variable[4] = variable[5];
31686 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31687 variable[5] = variable[6];
31688 variable[6] = variable[5] /*nodearraylist1*/;
31689 variable[7] = TAG_Bool(( variable[6] /*tkwprivatenode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tkwprivatenode2*/, COLOR_TKwprivate, ID_TKwprivate)) /*cast TKwprivate*/;
31690 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction374___action, LOCATE_parser, 19971); nit_exit(1);}
31691 variable[8] = NEW_APrivateVisibility_parser_prod___APrivateVisibility___init_aprivatevisibility( variable[6] /*tkwprivatenode2*/); /*new APrivateVisibility*/
31692 variable[7] = variable[8];
31693 variable[3] = variable[7] /*pvisibilitynode1*/ /*node_list=*/;
31694 variable[8] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(15)) /*Parser::go_to*/;
31695 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
31696 return_label780: while(false);
31697 tracehead = trace.prev;
31698 return;
31699 }
31700 void parser___ReduceAction374___init(val_t self, int* init_table) {
31701 struct trace_t trace = {NULL, NULL, 19978, LOCATE_parser___ReduceAction374___init};
31702 val_t variable[2];
31703 void **closurevariable = NULL;
31704 trace.prev = tracehead; tracehead = &trace;
31705 trace.file = LOCATE_parser;
31706 variable[0] = self;
31707 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction374].i]) return;
31708 return_label781: while(false);
31709 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction374].i] = 1;
31710 tracehead = trace.prev;
31711 return;
31712 }
31713 void parser___ReduceAction375___action(val_t self, val_t param0) {
31714 struct trace_t trace = {NULL, NULL, 19982, LOCATE_parser___ReduceAction375___action};
31715 val_t variable[9];
31716 void **closurevariable = NULL;
31717 trace.prev = tracehead; tracehead = &trace;
31718 trace.file = LOCATE_parser;
31719 variable[0] = self;
31720 variable[1] = param0;
31721 variable[3] = NIT_NULL /*null*/;
31722 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31723 variable[4] = variable[5];
31724 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31725 variable[5] = variable[6];
31726 variable[6] = variable[5] /*nodearraylist1*/;
31727 variable[7] = TAG_Bool(( variable[6] /*tkwprotectednode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tkwprotectednode2*/, COLOR_TKwprotected, ID_TKwprotected)) /*cast TKwprotected*/;
31728 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction375___action, LOCATE_parser, 19988); nit_exit(1);}
31729 variable[8] = NEW_AProtectedVisibility_parser_prod___AProtectedVisibility___init_aprotectedvisibility( variable[6] /*tkwprotectednode2*/); /*new AProtectedVisibility*/
31730 variable[7] = variable[8];
31731 variable[3] = variable[7] /*pvisibilitynode1*/ /*node_list=*/;
31732 variable[8] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(15)) /*Parser::go_to*/;
31733 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
31734 return_label782: while(false);
31735 tracehead = trace.prev;
31736 return;
31737 }
31738 void parser___ReduceAction375___init(val_t self, int* init_table) {
31739 struct trace_t trace = {NULL, NULL, 19995, LOCATE_parser___ReduceAction375___init};
31740 val_t variable[2];
31741 void **closurevariable = NULL;
31742 trace.prev = tracehead; tracehead = &trace;
31743 trace.file = LOCATE_parser;
31744 variable[0] = self;
31745 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction375].i]) return;
31746 return_label783: while(false);
31747 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction375].i] = 1;
31748 tracehead = trace.prev;
31749 return;
31750 }
31751 void parser___ReduceAction376___action(val_t self, val_t param0) {
31752 struct trace_t trace = {NULL, NULL, 19999, LOCATE_parser___ReduceAction376___action};
31753 val_t variable[9];
31754 void **closurevariable = NULL;
31755 trace.prev = tracehead; tracehead = &trace;
31756 trace.file = LOCATE_parser;
31757 variable[0] = self;
31758 variable[1] = param0;
31759 variable[3] = NIT_NULL /*null*/;
31760 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31761 variable[4] = variable[5];
31762 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31763 variable[5] = variable[6];
31764 variable[6] = variable[5] /*nodearraylist1*/;
31765 variable[7] = TAG_Bool(( variable[6] /*tkwintrudenode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tkwintrudenode2*/, COLOR_TKwintrude, ID_TKwintrude)) /*cast TKwintrude*/;
31766 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction376___action, LOCATE_parser, 20005); nit_exit(1);}
31767 variable[8] = NEW_AIntrudeVisibility_parser_prod___AIntrudeVisibility___init_aintrudevisibility( variable[6] /*tkwintrudenode2*/); /*new AIntrudeVisibility*/
31768 variable[7] = variable[8];
31769 variable[3] = variable[7] /*pvisibilitynode1*/ /*node_list=*/;
31770 variable[8] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(15)) /*Parser::go_to*/;
31771 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
31772 return_label784: while(false);
31773 tracehead = trace.prev;
31774 return;
31775 }
31776 void parser___ReduceAction376___init(val_t self, int* init_table) {
31777 struct trace_t trace = {NULL, NULL, 20012, LOCATE_parser___ReduceAction376___init};
31778 val_t variable[2];
31779 void **closurevariable = NULL;
31780 trace.prev = tracehead; tracehead = &trace;
31781 trace.file = LOCATE_parser;
31782 variable[0] = self;
31783 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction376].i]) return;
31784 return_label785: while(false);
31785 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction376].i] = 1;
31786 tracehead = trace.prev;
31787 return;
31788 }
31789 void parser___ReduceAction377___action(val_t self, val_t param0) {
31790 struct trace_t trace = {NULL, NULL, 20016, LOCATE_parser___ReduceAction377___action};
31791 val_t variable[8];
31792 void **closurevariable = NULL;
31793 trace.prev = tracehead; tracehead = &trace;
31794 trace.file = LOCATE_parser;
31795 variable[0] = self;
31796 variable[1] = param0;
31797 variable[3] = NIT_NULL /*null*/;
31798 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31799 variable[4] = variable[5];
31800 variable[5] = variable[4] /*nodearraylist1*/;
31801 variable[6] = TAG_Bool(( variable[5] /*tidnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tidnode2*/, COLOR_TId, ID_TId)) /*cast TId*/;
31802 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction377___action, LOCATE_parser, 20021); nit_exit(1);}
31803 variable[7] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid( variable[5] /*tidnode2*/); /*new AIdMethid*/
31804 variable[6] = variable[7];
31805 variable[3] = variable[6] /*pmethidnode1*/ /*node_list=*/;
31806 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(16)) /*Parser::go_to*/;
31807 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
31808 return_label786: while(false);
31809 tracehead = trace.prev;
31810 return;
31811 }
31812 void parser___ReduceAction377___init(val_t self, int* init_table) {
31813 struct trace_t trace = {NULL, NULL, 20028, LOCATE_parser___ReduceAction377___init};
31814 val_t variable[2];
31815 void **closurevariable = NULL;
31816 trace.prev = tracehead; tracehead = &trace;
31817 trace.file = LOCATE_parser;
31818 variable[0] = self;
31819 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction377].i]) return;
31820 return_label787: while(false);
31821 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction377].i] = 1;
31822 tracehead = trace.prev;
31823 return;
31824 }
31825 void parser___ReduceAction378___action(val_t self, val_t param0) {
31826 struct trace_t trace = {NULL, NULL, 20032, LOCATE_parser___ReduceAction378___action};
31827 val_t variable[8];
31828 void **closurevariable = NULL;
31829 trace.prev = tracehead; tracehead = &trace;
31830 trace.file = LOCATE_parser;
31831 variable[0] = self;
31832 variable[1] = param0;
31833 variable[3] = NIT_NULL /*null*/;
31834 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31835 variable[4] = variable[5];
31836 variable[5] = variable[4] /*nodearraylist1*/;
31837 variable[6] = TAG_Bool(( variable[5] /*tplusnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tplusnode2*/, COLOR_TPlus, ID_TPlus)) /*cast TPlus*/;
31838 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction378___action, LOCATE_parser, 20037); nit_exit(1);}
31839 variable[7] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid( variable[5] /*tplusnode2*/); /*new APlusMethid*/
31840 variable[6] = variable[7];
31841 variable[3] = variable[6] /*pmethidnode1*/ /*node_list=*/;
31842 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(16)) /*Parser::go_to*/;
31843 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
31844 return_label788: while(false);
31845 tracehead = trace.prev;
31846 return;
31847 }
31848 void parser___ReduceAction378___init(val_t self, int* init_table) {
31849 struct trace_t trace = {NULL, NULL, 20044, LOCATE_parser___ReduceAction378___init};
31850 val_t variable[2];
31851 void **closurevariable = NULL;
31852 trace.prev = tracehead; tracehead = &trace;
31853 trace.file = LOCATE_parser;
31854 variable[0] = self;
31855 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction378].i]) return;
31856 return_label789: while(false);
31857 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction378].i] = 1;
31858 tracehead = trace.prev;
31859 return;
31860 }
31861 void parser___ReduceAction379___action(val_t self, val_t param0) {
31862 struct trace_t trace = {NULL, NULL, 20048, LOCATE_parser___ReduceAction379___action};
31863 val_t variable[8];
31864 void **closurevariable = NULL;
31865 trace.prev = tracehead; tracehead = &trace;
31866 trace.file = LOCATE_parser;
31867 variable[0] = self;
31868 variable[1] = param0;
31869 variable[3] = NIT_NULL /*null*/;
31870 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31871 variable[4] = variable[5];
31872 variable[5] = variable[4] /*nodearraylist1*/;
31873 variable[6] = TAG_Bool(( variable[5] /*tminusnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tminusnode2*/, COLOR_TMinus, ID_TMinus)) /*cast TMinus*/;
31874 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction379___action, LOCATE_parser, 20053); nit_exit(1);}
31875 variable[7] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid( variable[5] /*tminusnode2*/); /*new AMinusMethid*/
31876 variable[6] = variable[7];
31877 variable[3] = variable[6] /*pmethidnode1*/ /*node_list=*/;
31878 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(16)) /*Parser::go_to*/;
31879 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
31880 return_label790: while(false);
31881 tracehead = trace.prev;
31882 return;
31883 }
31884 void parser___ReduceAction379___init(val_t self, int* init_table) {
31885 struct trace_t trace = {NULL, NULL, 20060, LOCATE_parser___ReduceAction379___init};
31886 val_t variable[2];
31887 void **closurevariable = NULL;
31888 trace.prev = tracehead; tracehead = &trace;
31889 trace.file = LOCATE_parser;
31890 variable[0] = self;
31891 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction379].i]) return;
31892 return_label791: while(false);
31893 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction379].i] = 1;
31894 tracehead = trace.prev;
31895 return;
31896 }
31897 void parser___ReduceAction380___action(val_t self, val_t param0) {
31898 struct trace_t trace = {NULL, NULL, 20064, LOCATE_parser___ReduceAction380___action};
31899 val_t variable[8];
31900 void **closurevariable = NULL;
31901 trace.prev = tracehead; tracehead = &trace;
31902 trace.file = LOCATE_parser;
31903 variable[0] = self;
31904 variable[1] = param0;
31905 variable[3] = NIT_NULL /*null*/;
31906 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31907 variable[4] = variable[5];
31908 variable[5] = variable[4] /*nodearraylist1*/;
31909 variable[6] = TAG_Bool(( variable[5] /*tstarnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tstarnode2*/, COLOR_TStar, ID_TStar)) /*cast TStar*/;
31910 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction380___action, LOCATE_parser, 20069); nit_exit(1);}
31911 variable[7] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid( variable[5] /*tstarnode2*/); /*new AStarMethid*/
31912 variable[6] = variable[7];
31913 variable[3] = variable[6] /*pmethidnode1*/ /*node_list=*/;
31914 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(16)) /*Parser::go_to*/;
31915 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
31916 return_label792: while(false);
31917 tracehead = trace.prev;
31918 return;
31919 }
31920 void parser___ReduceAction380___init(val_t self, int* init_table) {
31921 struct trace_t trace = {NULL, NULL, 20076, LOCATE_parser___ReduceAction380___init};
31922 val_t variable[2];
31923 void **closurevariable = NULL;
31924 trace.prev = tracehead; tracehead = &trace;
31925 trace.file = LOCATE_parser;
31926 variable[0] = self;
31927 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction380].i]) return;
31928 return_label793: while(false);
31929 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction380].i] = 1;
31930 tracehead = trace.prev;
31931 return;
31932 }
31933 void parser___ReduceAction381___action(val_t self, val_t param0) {
31934 struct trace_t trace = {NULL, NULL, 20080, LOCATE_parser___ReduceAction381___action};
31935 val_t variable[8];
31936 void **closurevariable = NULL;
31937 trace.prev = tracehead; tracehead = &trace;
31938 trace.file = LOCATE_parser;
31939 variable[0] = self;
31940 variable[1] = param0;
31941 variable[3] = NIT_NULL /*null*/;
31942 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31943 variable[4] = variable[5];
31944 variable[5] = variable[4] /*nodearraylist1*/;
31945 variable[6] = TAG_Bool(( variable[5] /*tslashnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tslashnode2*/, COLOR_TSlash, ID_TSlash)) /*cast TSlash*/;
31946 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction381___action, LOCATE_parser, 20085); nit_exit(1);}
31947 variable[7] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid( variable[5] /*tslashnode2*/); /*new ASlashMethid*/
31948 variable[6] = variable[7];
31949 variable[3] = variable[6] /*pmethidnode1*/ /*node_list=*/;
31950 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(16)) /*Parser::go_to*/;
31951 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
31952 return_label794: while(false);
31953 tracehead = trace.prev;
31954 return;
31955 }
31956 void parser___ReduceAction381___init(val_t self, int* init_table) {
31957 struct trace_t trace = {NULL, NULL, 20092, LOCATE_parser___ReduceAction381___init};
31958 val_t variable[2];
31959 void **closurevariable = NULL;
31960 trace.prev = tracehead; tracehead = &trace;
31961 trace.file = LOCATE_parser;
31962 variable[0] = self;
31963 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction381].i]) return;
31964 return_label795: while(false);
31965 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction381].i] = 1;
31966 tracehead = trace.prev;
31967 return;
31968 }
31969 void parser___ReduceAction382___action(val_t self, val_t param0) {
31970 struct trace_t trace = {NULL, NULL, 20096, LOCATE_parser___ReduceAction382___action};
31971 val_t variable[8];
31972 void **closurevariable = NULL;
31973 trace.prev = tracehead; tracehead = &trace;
31974 trace.file = LOCATE_parser;
31975 variable[0] = self;
31976 variable[1] = param0;
31977 variable[3] = NIT_NULL /*null*/;
31978 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
31979 variable[4] = variable[5];
31980 variable[5] = variable[4] /*nodearraylist1*/;
31981 variable[6] = TAG_Bool(( variable[5] /*tpercentnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tpercentnode2*/, COLOR_TPercent, ID_TPercent)) /*cast TPercent*/;
31982 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction382___action, LOCATE_parser, 20101); nit_exit(1);}
31983 variable[7] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid( variable[5] /*tpercentnode2*/); /*new APercentMethid*/
31984 variable[6] = variable[7];
31985 variable[3] = variable[6] /*pmethidnode1*/ /*node_list=*/;
31986 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(16)) /*Parser::go_to*/;
31987 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
31988 return_label796: while(false);
31989 tracehead = trace.prev;
31990 return;
31991 }
31992 void parser___ReduceAction382___init(val_t self, int* init_table) {
31993 struct trace_t trace = {NULL, NULL, 20108, LOCATE_parser___ReduceAction382___init};
31994 val_t variable[2];
31995 void **closurevariable = NULL;
31996 trace.prev = tracehead; tracehead = &trace;
31997 trace.file = LOCATE_parser;
31998 variable[0] = self;
31999 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction382].i]) return;
32000 return_label797: while(false);
32001 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction382].i] = 1;
32002 tracehead = trace.prev;
32003 return;
32004 }
32005 void parser___ReduceAction383___action(val_t self, val_t param0) {
32006 struct trace_t trace = {NULL, NULL, 20112, LOCATE_parser___ReduceAction383___action};
32007 val_t variable[8];
32008 void **closurevariable = NULL;
32009 trace.prev = tracehead; tracehead = &trace;
32010 trace.file = LOCATE_parser;
32011 variable[0] = self;
32012 variable[1] = param0;
32013 variable[3] = NIT_NULL /*null*/;
32014 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
32015 variable[4] = variable[5];
32016 variable[5] = variable[4] /*nodearraylist1*/;
32017 variable[6] = TAG_Bool(( variable[5] /*teqnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*teqnode2*/, COLOR_TEq, ID_TEq)) /*cast TEq*/;
32018 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction383___action, LOCATE_parser, 20117); nit_exit(1);}
32019 variable[7] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid( variable[5] /*teqnode2*/); /*new AEqMethid*/
32020 variable[6] = variable[7];
32021 variable[3] = variable[6] /*pmethidnode1*/ /*node_list=*/;
32022 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(16)) /*Parser::go_to*/;
32023 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
32024 return_label798: while(false);
32025 tracehead = trace.prev;
32026 return;
32027 }
32028 void parser___ReduceAction383___init(val_t self, int* init_table) {
32029 struct trace_t trace = {NULL, NULL, 20124, LOCATE_parser___ReduceAction383___init};
32030 val_t variable[2];
32031 void **closurevariable = NULL;
32032 trace.prev = tracehead; tracehead = &trace;
32033 trace.file = LOCATE_parser;
32034 variable[0] = self;
32035 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction383].i]) return;
32036 return_label799: while(false);
32037 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction383].i] = 1;
32038 tracehead = trace.prev;
32039 return;
32040 }
32041 void parser___ReduceAction384___action(val_t self, val_t param0) {
32042 struct trace_t trace = {NULL, NULL, 20128, LOCATE_parser___ReduceAction384___action};
32043 val_t variable[8];
32044 void **closurevariable = NULL;
32045 trace.prev = tracehead; tracehead = &trace;
32046 trace.file = LOCATE_parser;
32047 variable[0] = self;
32048 variable[1] = param0;
32049 variable[3] = NIT_NULL /*null*/;
32050 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
32051 variable[4] = variable[5];
32052 variable[5] = variable[4] /*nodearraylist1*/;
32053 variable[6] = TAG_Bool(( variable[5] /*tnenode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tnenode2*/, COLOR_TNe, ID_TNe)) /*cast TNe*/;
32054 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction384___action, LOCATE_parser, 20133); nit_exit(1);}
32055 variable[7] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid( variable[5] /*tnenode2*/); /*new ANeMethid*/
32056 variable[6] = variable[7];
32057 variable[3] = variable[6] /*pmethidnode1*/ /*node_list=*/;
32058 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(16)) /*Parser::go_to*/;
32059 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
32060 return_label800: while(false);
32061 tracehead = trace.prev;
32062 return;
32063 }
32064 void parser___ReduceAction384___init(val_t self, int* init_table) {
32065 struct trace_t trace = {NULL, NULL, 20140, LOCATE_parser___ReduceAction384___init};
32066 val_t variable[2];
32067 void **closurevariable = NULL;
32068 trace.prev = tracehead; tracehead = &trace;
32069 trace.file = LOCATE_parser;
32070 variable[0] = self;
32071 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction384].i]) return;
32072 return_label801: while(false);
32073 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction384].i] = 1;
32074 tracehead = trace.prev;
32075 return;
32076 }
32077 void parser___ReduceAction385___action(val_t self, val_t param0) {
32078 struct trace_t trace = {NULL, NULL, 20144, LOCATE_parser___ReduceAction385___action};
32079 val_t variable[8];
32080 void **closurevariable = NULL;
32081 trace.prev = tracehead; tracehead = &trace;
32082 trace.file = LOCATE_parser;
32083 variable[0] = self;
32084 variable[1] = param0;
32085 variable[3] = NIT_NULL /*null*/;
32086 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
32087 variable[4] = variable[5];
32088 variable[5] = variable[4] /*nodearraylist1*/;
32089 variable[6] = TAG_Bool(( variable[5] /*tlenode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tlenode2*/, COLOR_TLe, ID_TLe)) /*cast TLe*/;
32090 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction385___action, LOCATE_parser, 20149); nit_exit(1);}
32091 variable[7] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid( variable[5] /*tlenode2*/); /*new ALeMethid*/
32092 variable[6] = variable[7];
32093 variable[3] = variable[6] /*pmethidnode1*/ /*node_list=*/;
32094 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(16)) /*Parser::go_to*/;
32095 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
32096 return_label802: while(false);
32097 tracehead = trace.prev;
32098 return;
32099 }
32100 void parser___ReduceAction385___init(val_t self, int* init_table) {
32101 struct trace_t trace = {NULL, NULL, 20156, LOCATE_parser___ReduceAction385___init};
32102 val_t variable[2];
32103 void **closurevariable = NULL;
32104 trace.prev = tracehead; tracehead = &trace;
32105 trace.file = LOCATE_parser;
32106 variable[0] = self;
32107 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction385].i]) return;
32108 return_label803: while(false);
32109 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction385].i] = 1;
32110 tracehead = trace.prev;
32111 return;
32112 }
32113 void parser___ReduceAction386___action(val_t self, val_t param0) {
32114 struct trace_t trace = {NULL, NULL, 20160, LOCATE_parser___ReduceAction386___action};
32115 val_t variable[8];
32116 void **closurevariable = NULL;
32117 trace.prev = tracehead; tracehead = &trace;
32118 trace.file = LOCATE_parser;
32119 variable[0] = self;
32120 variable[1] = param0;
32121 variable[3] = NIT_NULL /*null*/;
32122 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
32123 variable[4] = variable[5];
32124 variable[5] = variable[4] /*nodearraylist1*/;
32125 variable[6] = TAG_Bool(( variable[5] /*tgenode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tgenode2*/, COLOR_TGe, ID_TGe)) /*cast TGe*/;
32126 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction386___action, LOCATE_parser, 20165); nit_exit(1);}
32127 variable[7] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid( variable[5] /*tgenode2*/); /*new AGeMethid*/
32128 variable[6] = variable[7];
32129 variable[3] = variable[6] /*pmethidnode1*/ /*node_list=*/;
32130 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(16)) /*Parser::go_to*/;
32131 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
32132 return_label804: while(false);
32133 tracehead = trace.prev;
32134 return;
32135 }
32136 void parser___ReduceAction386___init(val_t self, int* init_table) {
32137 struct trace_t trace = {NULL, NULL, 20172, LOCATE_parser___ReduceAction386___init};
32138 val_t variable[2];
32139 void **closurevariable = NULL;
32140 trace.prev = tracehead; tracehead = &trace;
32141 trace.file = LOCATE_parser;
32142 variable[0] = self;
32143 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction386].i]) return;
32144 return_label805: while(false);
32145 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction386].i] = 1;
32146 tracehead = trace.prev;
32147 return;
32148 }
32149 void parser___ReduceAction387___action(val_t self, val_t param0) {
32150 struct trace_t trace = {NULL, NULL, 20176, LOCATE_parser___ReduceAction387___action};
32151 val_t variable[8];
32152 void **closurevariable = NULL;
32153 trace.prev = tracehead; tracehead = &trace;
32154 trace.file = LOCATE_parser;
32155 variable[0] = self;
32156 variable[1] = param0;
32157 variable[3] = NIT_NULL /*null*/;
32158 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
32159 variable[4] = variable[5];
32160 variable[5] = variable[4] /*nodearraylist1*/;
32161 variable[6] = TAG_Bool(( variable[5] /*tltnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tltnode2*/, COLOR_TLt, ID_TLt)) /*cast TLt*/;
32162 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction387___action, LOCATE_parser, 20181); nit_exit(1);}
32163 variable[7] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid( variable[5] /*tltnode2*/); /*new ALtMethid*/
32164 variable[6] = variable[7];
32165 variable[3] = variable[6] /*pmethidnode1*/ /*node_list=*/;
32166 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(16)) /*Parser::go_to*/;
32167 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
32168 return_label806: while(false);
32169 tracehead = trace.prev;
32170 return;
32171 }
32172 void parser___ReduceAction387___init(val_t self, int* init_table) {
32173 struct trace_t trace = {NULL, NULL, 20188, LOCATE_parser___ReduceAction387___init};
32174 val_t variable[2];
32175 void **closurevariable = NULL;
32176 trace.prev = tracehead; tracehead = &trace;
32177 trace.file = LOCATE_parser;
32178 variable[0] = self;
32179 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction387].i]) return;
32180 return_label807: while(false);
32181 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction387].i] = 1;
32182 tracehead = trace.prev;
32183 return;
32184 }
32185 void parser___ReduceAction388___action(val_t self, val_t param0) {
32186 struct trace_t trace = {NULL, NULL, 20192, LOCATE_parser___ReduceAction388___action};
32187 val_t variable[8];
32188 void **closurevariable = NULL;
32189 trace.prev = tracehead; tracehead = &trace;
32190 trace.file = LOCATE_parser;
32191 variable[0] = self;
32192 variable[1] = param0;
32193 variable[3] = NIT_NULL /*null*/;
32194 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
32195 variable[4] = variable[5];
32196 variable[5] = variable[4] /*nodearraylist1*/;
32197 variable[6] = TAG_Bool(( variable[5] /*tgtnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tgtnode2*/, COLOR_TGt, ID_TGt)) /*cast TGt*/;
32198 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction388___action, LOCATE_parser, 20197); nit_exit(1);}
32199 variable[7] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid( variable[5] /*tgtnode2*/); /*new AGtMethid*/
32200 variable[6] = variable[7];
32201 variable[3] = variable[6] /*pmethidnode1*/ /*node_list=*/;
32202 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(16)) /*Parser::go_to*/;
32203 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
32204 return_label808: while(false);
32205 tracehead = trace.prev;
32206 return;
32207 }
32208 void parser___ReduceAction388___init(val_t self, int* init_table) {
32209 struct trace_t trace = {NULL, NULL, 20204, LOCATE_parser___ReduceAction388___init};
32210 val_t variable[2];
32211 void **closurevariable = NULL;
32212 trace.prev = tracehead; tracehead = &trace;
32213 trace.file = LOCATE_parser;
32214 variable[0] = self;
32215 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction388].i]) return;
32216 return_label809: while(false);
32217 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction388].i] = 1;
32218 tracehead = trace.prev;
32219 return;
32220 }
32221 void parser___ReduceAction389___action(val_t self, val_t param0) {
32222 struct trace_t trace = {NULL, NULL, 20208, LOCATE_parser___ReduceAction389___action};
32223 val_t variable[10];
32224 void **closurevariable = NULL;
32225 trace.prev = tracehead; tracehead = &trace;
32226 trace.file = LOCATE_parser;
32227 variable[0] = self;
32228 variable[1] = param0;
32229 variable[3] = NIT_NULL /*null*/;
32230 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
32231 variable[4] = variable[5];
32232 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
32233 variable[5] = variable[6];
32234 variable[6] = variable[5] /*nodearraylist1*/;
32235 variable[7] = TAG_Bool(( variable[6] /*tobranode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tobranode2*/, COLOR_TObra, ID_TObra)) /*cast TObra*/;
32236 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction389___action, LOCATE_parser, 20214); nit_exit(1);}
32237 variable[7] = variable[4] /*nodearraylist2*/;
32238 variable[8] = TAG_Bool(( variable[7] /*tcbranode3*/==NIT_NULL) || VAL_ISA( variable[7] /*tcbranode3*/, COLOR_TCbra, ID_TCbra)) /*cast TCbra*/;
32239 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction389___action, LOCATE_parser, 20216); nit_exit(1);}
32240 variable[9] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid( variable[6] /*tobranode2*/, variable[7] /*tcbranode3*/); /*new ABraMethid*/
32241 variable[8] = variable[9];
32242 variable[3] = variable[8] /*pmethidnode1*/ /*node_list=*/;
32243 variable[9] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(16)) /*Parser::go_to*/;
32244 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
32245 return_label810: while(false);
32246 tracehead = trace.prev;
32247 return;
32248 }
32249 void parser___ReduceAction389___init(val_t self, int* init_table) {
32250 struct trace_t trace = {NULL, NULL, 20224, LOCATE_parser___ReduceAction389___init};
32251 val_t variable[2];
32252 void **closurevariable = NULL;
32253 trace.prev = tracehead; tracehead = &trace;
32254 trace.file = LOCATE_parser;
32255 variable[0] = self;
32256 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction389].i]) return;
32257 return_label811: while(false);
32258 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction389].i] = 1;
32259 tracehead = trace.prev;
32260 return;
32261 }
32262 void parser___ReduceAction390___action(val_t self, val_t param0) {
32263 struct trace_t trace = {NULL, NULL, 20228, LOCATE_parser___ReduceAction390___action};
32264 val_t variable[8];
32265 void **closurevariable = NULL;
32266 trace.prev = tracehead; tracehead = &trace;
32267 trace.file = LOCATE_parser;
32268 variable[0] = self;
32269 variable[1] = param0;
32270 variable[3] = NIT_NULL /*null*/;
32271 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
32272 variable[4] = variable[5];
32273 variable[5] = variable[4] /*nodearraylist1*/;
32274 variable[6] = TAG_Bool(( variable[5] /*tstarshipnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tstarshipnode2*/, COLOR_TStarship, ID_TStarship)) /*cast TStarship*/;
32275 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction390___action, LOCATE_parser, 20233); nit_exit(1);}
32276 variable[7] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid( variable[5] /*tstarshipnode2*/); /*new AStarshipMethid*/
32277 variable[6] = variable[7];
32278 variable[3] = variable[6] /*pmethidnode1*/ /*node_list=*/;
32279 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(16)) /*Parser::go_to*/;
32280 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
32281 return_label812: while(false);
32282 tracehead = trace.prev;
32283 return;
32284 }
32285 void parser___ReduceAction390___init(val_t self, int* init_table) {
32286 struct trace_t trace = {NULL, NULL, 20240, LOCATE_parser___ReduceAction390___init};
32287 val_t variable[2];
32288 void **closurevariable = NULL;
32289 trace.prev = tracehead; tracehead = &trace;
32290 trace.file = LOCATE_parser;
32291 variable[0] = self;
32292 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction390].i]) return;
32293 return_label813: while(false);
32294 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction390].i] = 1;
32295 tracehead = trace.prev;
32296 return;
32297 }
32298 void parser___ReduceAction391___action(val_t self, val_t param0) {
32299 struct trace_t trace = {NULL, NULL, 20244, LOCATE_parser___ReduceAction391___action};
32300 val_t variable[10];
32301 void **closurevariable = NULL;
32302 trace.prev = tracehead; tracehead = &trace;
32303 trace.file = LOCATE_parser;
32304 variable[0] = self;
32305 variable[1] = param0;
32306 variable[3] = NIT_NULL /*null*/;
32307 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
32308 variable[4] = variable[5];
32309 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
32310 variable[5] = variable[6];
32311 variable[6] = variable[5] /*nodearraylist1*/;
32312 variable[7] = TAG_Bool(( variable[6] /*tidnode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tidnode2*/, COLOR_TId, ID_TId)) /*cast TId*/;
32313 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction391___action, LOCATE_parser, 20250); nit_exit(1);}
32314 variable[7] = variable[4] /*nodearraylist2*/;
32315 variable[8] = TAG_Bool(( variable[7] /*tassignnode3*/==NIT_NULL) || VAL_ISA( variable[7] /*tassignnode3*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
32316 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction391___action, LOCATE_parser, 20252); nit_exit(1);}
32317 variable[9] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid( variable[6] /*tidnode2*/, variable[7] /*tassignnode3*/); /*new AAssignMethid*/
32318 variable[8] = variable[9];
32319 variable[3] = variable[8] /*pmethidnode1*/ /*node_list=*/;
32320 variable[9] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(16)) /*Parser::go_to*/;
32321 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
32322 return_label814: while(false);
32323 tracehead = trace.prev;
32324 return;
32325 }
32326 void parser___ReduceAction391___init(val_t self, int* init_table) {
32327 struct trace_t trace = {NULL, NULL, 20260, LOCATE_parser___ReduceAction391___init};
32328 val_t variable[2];
32329 void **closurevariable = NULL;
32330 trace.prev = tracehead; tracehead = &trace;
32331 trace.file = LOCATE_parser;
32332 variable[0] = self;
32333 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction391].i]) return;
32334 return_label815: while(false);
32335 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction391].i] = 1;
32336 tracehead = trace.prev;
32337 return;
32338 }
32339 void parser___ReduceAction392___action(val_t self, val_t param0) {
32340 struct trace_t trace = {NULL, NULL, 20264, LOCATE_parser___ReduceAction392___action};
32341 val_t variable[12];
32342 void **closurevariable = NULL;
32343 trace.prev = tracehead; tracehead = &trace;
32344 trace.file = LOCATE_parser;
32345 variable[0] = self;
32346 variable[1] = param0;
32347 variable[3] = NIT_NULL /*null*/;
32348 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
32349 variable[4] = variable[5];
32350 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
32351 variable[5] = variable[6];
32352 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
32353 variable[6] = variable[7];
32354 variable[7] = variable[6] /*nodearraylist1*/;
32355 variable[8] = TAG_Bool(( variable[7] /*tobranode2*/==NIT_NULL) || VAL_ISA( variable[7] /*tobranode2*/, COLOR_TObra, ID_TObra)) /*cast TObra*/;
32356 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction392___action, LOCATE_parser, 20271); nit_exit(1);}
32357 variable[8] = variable[5] /*nodearraylist2*/;
32358 variable[9] = TAG_Bool(( variable[8] /*tcbranode3*/==NIT_NULL) || VAL_ISA( variable[8] /*tcbranode3*/, COLOR_TCbra, ID_TCbra)) /*cast TCbra*/;
32359 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction392___action, LOCATE_parser, 20273); nit_exit(1);}
32360 variable[9] = variable[4] /*nodearraylist3*/;
32361 variable[10] = TAG_Bool(( variable[9] /*tassignnode4*/==NIT_NULL) || VAL_ISA( variable[9] /*tassignnode4*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
32362 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction392___action, LOCATE_parser, 20275); nit_exit(1);}
32363 variable[11] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid( variable[7] /*tobranode2*/, variable[8] /*tcbranode3*/, variable[9] /*tassignnode4*/); /*new ABraassignMethid*/
32364 variable[10] = variable[11];
32365 variable[3] = variable[10] /*pmethidnode1*/ /*node_list=*/;
32366 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(16)) /*Parser::go_to*/;
32367 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
32368 return_label816: while(false);
32369 tracehead = trace.prev;
32370 return;
32371 }
32372 void parser___ReduceAction392___init(val_t self, int* init_table) {
32373 struct trace_t trace = {NULL, NULL, 20284, LOCATE_parser___ReduceAction392___init};
32374 val_t variable[2];
32375 void **closurevariable = NULL;
32376 trace.prev = tracehead; tracehead = &trace;
32377 trace.file = LOCATE_parser;
32378 variable[0] = self;
32379 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction392].i]) return;
32380 return_label817: while(false);
32381 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction392].i] = 1;
32382 tracehead = trace.prev;
32383 return;
32384 }
32385 void parser___ReduceAction393___action(val_t self, val_t param0) {
32386 struct trace_t trace = {NULL, NULL, 20288, LOCATE_parser___ReduceAction393___action};
32387 val_t variable[8];
32388 void **closurevariable = NULL;
32389 trace.prev = tracehead; tracehead = &trace;
32390 trace.file = LOCATE_parser;
32391 variable[0] = self;
32392 variable[1] = param0;
32393 variable[3] = NIT_NULL /*null*/;
32394 variable[5] = NEW_Array_array___Array___init(); /*new Array[Object]*/
32395 variable[4] = variable[5];
32396 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
32397 variable[5] = variable[6];
32398 variable[7] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[4] /*listnode2*/, NIT_NULL /*null*/, variable[5] /*listnode4*/); /*new ASignature*/
32399 variable[6] = variable[7];
32400 variable[3] = variable[6] /*psignaturenode1*/ /*node_list=*/;
32401 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(17)) /*Parser::go_to*/;
32402 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
32403 return_label818: while(false);
32404 tracehead = trace.prev;
32405 return;
32406 }
32407 void parser___ReduceAction393___init(val_t self, int* init_table) {
32408 struct trace_t trace = {NULL, NULL, 20301, LOCATE_parser___ReduceAction393___init};
32409 val_t variable[2];
32410 void **closurevariable = NULL;
32411 trace.prev = tracehead; tracehead = &trace;
32412 trace.file = LOCATE_parser;
32413 variable[0] = self;
32414 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction393].i]) return;
32415 return_label819: while(false);
32416 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction393].i] = 1;
32417 tracehead = trace.prev;
32418 return;
32419 }
32420 void parser___ReduceAction394___action(val_t self, val_t param0) {
32421 struct trace_t trace = {NULL, NULL, 20305, LOCATE_parser___ReduceAction394___action};
32422 val_t variable[10];
32423 void **closurevariable = NULL;
32424 trace.prev = tracehead; tracehead = &trace;
32425 trace.file = LOCATE_parser;
32426 variable[0] = self;
32427 variable[1] = param0;
32428 variable[3] = NIT_NULL /*null*/;
32429 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
32430 variable[4] = variable[5];
32431 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
32432 variable[5] = variable[6];
32433 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
32434 variable[6] = variable[7];
32435 variable[7] = variable[4] /*nodearraylist1*/;
32436 variable[8] = TAG_Bool(( variable[7] /*listnode2*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
32437 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction394___action, LOCATE_parser, 20312); nit_exit(1);}
32438 variable[8] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[7] /*listnode2*/ == NIT_NULL /*null*/) || (( variable[7] /*listnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[7] /*listnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[7] /*listnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[7] /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable[7] /*listnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
32439 if (UNTAG_Bool(variable[8])) { /*if*/
32440 variable[8] = ((array___AbstractArray___is_empty_t)CALL( variable[5] /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable[5] /*listnode3*/) /*AbstractArray::is_empty*/;
32441 if (UNTAG_Bool(variable[8])) { /*if*/
32442 variable[5] = variable[7] /*listnode2*/ /*listnode3=*/;
32443 } else { /*if*/
32444 ((abstract_collection___IndexedCollection___append_t)CALL( variable[5] /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable[5] /*listnode3*/, variable[7] /*listnode2*/) /*IndexedCollection::append*/;
32445 }
32446 }
32447 variable[9] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[5] /*listnode3*/, NIT_NULL /*null*/, variable[6] /*listnode5*/); /*new ASignature*/
32448 variable[8] = variable[9];
32449 variable[3] = variable[8] /*psignaturenode1*/ /*node_list=*/;
32450 variable[9] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(17)) /*Parser::go_to*/;
32451 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
32452 return_label820: while(false);
32453 tracehead = trace.prev;
32454 return;
32455 }
32456 void parser___ReduceAction394___init(val_t self, int* init_table) {
32457 struct trace_t trace = {NULL, NULL, 20328, LOCATE_parser___ReduceAction394___init};
32458 val_t variable[2];
32459 void **closurevariable = NULL;
32460 trace.prev = tracehead; tracehead = &trace;
32461 trace.file = LOCATE_parser;
32462 variable[0] = self;
32463 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction394].i]) return;
32464 return_label821: while(false);
32465 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction394].i] = 1;
32466 tracehead = trace.prev;
32467 return;
32468 }
32469 void parser___ReduceAction395___action(val_t self, val_t param0) {
32470 struct trace_t trace = {NULL, NULL, 20332, LOCATE_parser___ReduceAction395___action};
32471 val_t variable[10];
32472 void **closurevariable = NULL;
32473 trace.prev = tracehead; tracehead = &trace;
32474 trace.file = LOCATE_parser;
32475 variable[0] = self;
32476 variable[1] = param0;
32477 variable[3] = NIT_NULL /*null*/;
32478 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
32479 variable[4] = variable[5];
32480 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
32481 variable[5] = variable[6];
32482 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
32483 variable[6] = variable[7];
32484 variable[7] = variable[4] /*nodearraylist1*/;
32485 variable[8] = TAG_Bool(( variable[7] /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable[7] /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
32486 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction395___action, LOCATE_parser, 20339); nit_exit(1);}
32487 variable[9] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[5] /*listnode2*/, variable[7] /*ptypenode3*/, variable[6] /*listnode4*/); /*new ASignature*/
32488 variable[8] = variable[9];
32489 variable[3] = variable[8] /*psignaturenode1*/ /*node_list=*/;
32490 variable[9] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(17)) /*Parser::go_to*/;
32491 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
32492 return_label822: while(false);
32493 tracehead = trace.prev;
32494 return;
32495 }
32496 void parser___ReduceAction395___init(val_t self, int* init_table) {
32497 struct trace_t trace = {NULL, NULL, 20348, LOCATE_parser___ReduceAction395___init};
32498 val_t variable[2];
32499 void **closurevariable = NULL;
32500 trace.prev = tracehead; tracehead = &trace;
32501 trace.file = LOCATE_parser;
32502 variable[0] = self;
32503 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction395].i]) return;
32504 return_label823: while(false);
32505 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction395].i] = 1;
32506 tracehead = trace.prev;
32507 return;
32508 }
32509 void parser___ReduceAction396___action(val_t self, val_t param0) {
32510 struct trace_t trace = {NULL, NULL, 20352, LOCATE_parser___ReduceAction396___action};
32511 val_t variable[12];
32512 void **closurevariable = NULL;
32513 trace.prev = tracehead; tracehead = &trace;
32514 trace.file = LOCATE_parser;
32515 variable[0] = self;
32516 variable[1] = param0;
32517 variable[3] = NIT_NULL /*null*/;
32518 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
32519 variable[4] = variable[5];
32520 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
32521 variable[5] = variable[6];
32522 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
32523 variable[6] = variable[7];
32524 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
32525 variable[7] = variable[8];
32526 variable[8] = variable[5] /*nodearraylist1*/;
32527 variable[9] = TAG_Bool(( variable[8] /*listnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
32528 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction396___action, LOCATE_parser, 20360); nit_exit(1);}
32529 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*listnode2*/ == NIT_NULL /*null*/) || (( variable[8] /*listnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[8] /*listnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*listnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[8] /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable[8] /*listnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
32530 if (UNTAG_Bool(variable[9])) { /*if*/
32531 variable[9] = ((array___AbstractArray___is_empty_t)CALL( variable[6] /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable[6] /*listnode3*/) /*AbstractArray::is_empty*/;
32532 if (UNTAG_Bool(variable[9])) { /*if*/
32533 variable[6] = variable[8] /*listnode2*/ /*listnode3=*/;
32534 } else { /*if*/
32535 ((abstract_collection___IndexedCollection___append_t)CALL( variable[6] /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable[6] /*listnode3*/, variable[8] /*listnode2*/) /*IndexedCollection::append*/;
32536 }
32537 }
32538 variable[9] = variable[4] /*nodearraylist2*/;
32539 variable[10] = TAG_Bool(( variable[9] /*ptypenode4*/==NIT_NULL) || VAL_ISA( variable[9] /*ptypenode4*/, COLOR_PType, ID_PType)) /*cast PType*/;
32540 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction396___action, LOCATE_parser, 20369); nit_exit(1);}
32541 variable[11] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[6] /*listnode3*/, variable[9] /*ptypenode4*/, variable[7] /*listnode5*/); /*new ASignature*/
32542 variable[10] = variable[11];
32543 variable[3] = variable[10] /*psignaturenode1*/ /*node_list=*/;
32544 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(17)) /*Parser::go_to*/;
32545 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
32546 return_label824: while(false);
32547 tracehead = trace.prev;
32548 return;
32549 }
32550 void parser___ReduceAction396___init(val_t self, int* init_table) {
32551 struct trace_t trace = {NULL, NULL, 20378, LOCATE_parser___ReduceAction396___init};
32552 val_t variable[2];
32553 void **closurevariable = NULL;
32554 trace.prev = tracehead; tracehead = &trace;
32555 trace.file = LOCATE_parser;
32556 variable[0] = self;
32557 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction396].i]) return;
32558 return_label825: while(false);
32559 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction396].i] = 1;
32560 tracehead = trace.prev;
32561 return;
32562 }
32563 void parser___ReduceAction397___action(val_t self, val_t param0) {
32564 struct trace_t trace = {NULL, NULL, 20382, LOCATE_parser___ReduceAction397___action};
32565 val_t variable[12];
32566 void **closurevariable = NULL;
32567 trace.prev = tracehead; tracehead = &trace;
32568 trace.file = LOCATE_parser;
32569 variable[0] = self;
32570 variable[1] = param0;
32571 variable[3] = NIT_NULL /*null*/;
32572 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
32573 variable[4] = variable[5];
32574 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
32575 variable[5] = variable[6];
32576 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
32577 variable[6] = variable[7];
32578 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
32579 variable[7] = variable[8];
32580 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
32581 variable[8] = variable[9];
32582 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
32583 variable[9] = variable[10];
32584 variable[10] = variable[6] /*nodearraylist3*/;
32585 variable[11] = TAG_Bool(( variable[10] /*pparamnode1*/==NIT_NULL) || VAL_ISA( variable[10] /*pparamnode1*/, COLOR_PParam, ID_PParam)) /*cast PParam*/;
32586 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction397___action, LOCATE_parser, 20392); nit_exit(1);}
32587 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*pparamnode1*/ == NIT_NULL /*null*/) || (( variable[10] /*pparamnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[10] /*pparamnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*pparamnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[10] /*pparamnode1*/,COLOR_kernel___Object_____eqeq))( variable[10] /*pparamnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
32588 if (UNTAG_Bool(variable[11])) { /*if*/
32589 ((array___AbstractArray___add_t)CALL( variable[9] /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable[9] /*listnode2*/, variable[10] /*pparamnode1*/) /*AbstractArray::add*/;
32590 }
32591 variable[3] = variable[9] /*listnode2*/ /*node_list=*/;
32592 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(18)) /*Parser::go_to*/;
32593 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
32594 return_label826: while(false);
32595 tracehead = trace.prev;
32596 return;
32597 }
32598 void parser___ReduceAction397___init(val_t self, int* init_table) {
32599 struct trace_t trace = {NULL, NULL, 20399, LOCATE_parser___ReduceAction397___init};
32600 val_t variable[2];
32601 void **closurevariable = NULL;
32602 trace.prev = tracehead; tracehead = &trace;
32603 trace.file = LOCATE_parser;
32604 variable[0] = self;
32605 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction397].i]) return;
32606 return_label827: while(false);
32607 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction397].i] = 1;
32608 tracehead = trace.prev;
32609 return;
32610 }
32611 void parser___ReduceAction398___action(val_t self, val_t param0) {
32612 struct trace_t trace = {NULL, NULL, 20403, LOCATE_parser___ReduceAction398___action};
32613 val_t variable[14];
32614 void **closurevariable = NULL;
32615 trace.prev = tracehead; tracehead = &trace;
32616 trace.file = LOCATE_parser;
32617 variable[0] = self;
32618 variable[1] = param0;
32619 variable[3] = NIT_NULL /*null*/;
32620 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
32621 variable[4] = variable[5];
32622 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
32623 variable[5] = variable[6];
32624 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
32625 variable[6] = variable[7];
32626 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
32627 variable[7] = variable[8];
32628 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
32629 variable[8] = variable[9];
32630 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
32631 variable[9] = variable[10];
32632 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
32633 variable[10] = variable[11];
32634 variable[11] = variable[7] /*nodearraylist3*/;
32635 variable[12] = TAG_Bool(( variable[11] /*pparamnode1*/==NIT_NULL) || VAL_ISA( variable[11] /*pparamnode1*/, COLOR_PParam, ID_PParam)) /*cast PParam*/;
32636 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction398___action, LOCATE_parser, 20414); nit_exit(1);}
32637 variable[12] = variable[6] /*nodearraylist4*/;
32638 variable[13] = TAG_Bool(( variable[12] /*listnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
32639 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction398___action, LOCATE_parser, 20416); nit_exit(1);}
32640 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*pparamnode1*/ == NIT_NULL /*null*/) || (( variable[11] /*pparamnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[11] /*pparamnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*pparamnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[11] /*pparamnode1*/,COLOR_kernel___Object_____eqeq))( variable[11] /*pparamnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
32641 if (UNTAG_Bool(variable[13])) { /*if*/
32642 ((array___AbstractArray___add_t)CALL( variable[10] /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable[10] /*listnode3*/, variable[11] /*pparamnode1*/) /*AbstractArray::add*/;
32643 }
32644 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode2*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable[12] /*listnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
32645 if (UNTAG_Bool(variable[13])) { /*if*/
32646 variable[13] = ((array___AbstractArray___is_empty_t)CALL( variable[10] /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable[10] /*listnode3*/) /*AbstractArray::is_empty*/;
32647 if (UNTAG_Bool(variable[13])) { /*if*/
32648 variable[10] = variable[12] /*listnode2*/ /*listnode3=*/;
32649 } else { /*if*/
32650 ((abstract_collection___IndexedCollection___append_t)CALL( variable[10] /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable[10] /*listnode3*/, variable[12] /*listnode2*/) /*IndexedCollection::append*/;
32651 }
32652 }
32653 variable[3] = variable[10] /*listnode3*/ /*node_list=*/;
32654 variable[13] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(18)) /*Parser::go_to*/;
32655 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
32656 return_label828: while(false);
32657 tracehead = trace.prev;
32658 return;
32659 }
32660 void parser___ReduceAction398___init(val_t self, int* init_table) {
32661 struct trace_t trace = {NULL, NULL, 20430, LOCATE_parser___ReduceAction398___init};
32662 val_t variable[2];
32663 void **closurevariable = NULL;
32664 trace.prev = tracehead; tracehead = &trace;
32665 trace.file = LOCATE_parser;
32666 variable[0] = self;
32667 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction398].i]) return;
32668 return_label829: while(false);
32669 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction398].i] = 1;
32670 tracehead = trace.prev;
32671 return;
32672 }
32673 void parser___ReduceAction399___action(val_t self, val_t param0) {
32674 struct trace_t trace = {NULL, NULL, 20434, LOCATE_parser___ReduceAction399___action};
32675 val_t variable[9];
32676 void **closurevariable = NULL;
32677 trace.prev = tracehead; tracehead = &trace;
32678 trace.file = LOCATE_parser;
32679 variable[0] = self;
32680 variable[1] = param0;
32681 variable[3] = NIT_NULL /*null*/;
32682 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
32683 variable[4] = variable[5];
32684 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
32685 variable[5] = variable[6];
32686 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
32687 variable[6] = variable[7];
32688 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
32689 variable[7] = variable[8];
32690 variable[3] = variable[7] /*listnode1*/ /*node_list=*/;
32691 variable[8] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(18)) /*Parser::go_to*/;
32692 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
32693 return_label830: while(false);
32694 tracehead = trace.prev;
32695 return;
32696 }
32697 void parser___ReduceAction399___init(val_t self, int* init_table) {
32698 struct trace_t trace = {NULL, NULL, 20444, LOCATE_parser___ReduceAction399___init};
32699 val_t variable[2];
32700 void **closurevariable = NULL;
32701 trace.prev = tracehead; tracehead = &trace;
32702 trace.file = LOCATE_parser;
32703 variable[0] = self;
32704 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction399].i]) return;
32705 return_label831: while(false);
32706 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction399].i] = 1;
32707 tracehead = trace.prev;
32708 return;
32709 }
32710 void parser___ReduceAction400___action(val_t self, val_t param0) {
32711 struct trace_t trace = {NULL, NULL, 20448, LOCATE_parser___ReduceAction400___action};
32712 val_t variable[9];
32713 void **closurevariable = NULL;
32714 trace.prev = tracehead; tracehead = &trace;
32715 trace.file = LOCATE_parser;
32716 variable[0] = self;
32717 variable[1] = param0;
32718 variable[3] = NIT_NULL /*null*/;
32719 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
32720 variable[4] = variable[5];
32721 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
32722 variable[5] = variable[6];
32723 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
32724 variable[6] = variable[7];
32725 variable[7] = variable[4] /*nodearraylist3*/;
32726 variable[8] = TAG_Bool(( variable[7] /*pparamnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*pparamnode1*/, COLOR_PParam, ID_PParam)) /*cast PParam*/;
32727 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction400___action, LOCATE_parser, 20455); nit_exit(1);}
32728 variable[3] = variable[7] /*pparamnode1*/ /*node_list=*/;
32729 variable[8] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(19)) /*Parser::go_to*/;
32730 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
32731 return_label832: while(false);
32732 tracehead = trace.prev;
32733 return;
32734 }
32735 void parser___ReduceAction400___init(val_t self, int* init_table) {
32736 struct trace_t trace = {NULL, NULL, 20459, LOCATE_parser___ReduceAction400___init};
32737 val_t variable[2];
32738 void **closurevariable = NULL;
32739 trace.prev = tracehead; tracehead = &trace;
32740 trace.file = LOCATE_parser;
32741 variable[0] = self;
32742 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction400].i]) return;
32743 return_label833: while(false);
32744 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction400].i] = 1;
32745 tracehead = trace.prev;
32746 return;
32747 }
32748 void parser___ReduceAction401___action(val_t self, val_t param0) {
32749 struct trace_t trace = {NULL, NULL, 20463, LOCATE_parser___ReduceAction401___action};
32750 val_t variable[8];
32751 void **closurevariable = NULL;
32752 trace.prev = tracehead; tracehead = &trace;
32753 trace.file = LOCATE_parser;
32754 variable[0] = self;
32755 variable[1] = param0;
32756 variable[3] = NIT_NULL /*null*/;
32757 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
32758 variable[4] = variable[5];
32759 variable[5] = variable[4] /*nodearraylist1*/;
32760 variable[6] = TAG_Bool(( variable[5] /*tidnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tidnode2*/, COLOR_TId, ID_TId)) /*cast TId*/;
32761 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction401___action, LOCATE_parser, 20468); nit_exit(1);}
32762 variable[7] = NEW_AParam_parser_prod___AParam___init_aparam( variable[5] /*tidnode2*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AParam*/
32763 variable[6] = variable[7];
32764 variable[3] = variable[6] /*pparamnode1*/ /*node_list=*/;
32765 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(20)) /*Parser::go_to*/;
32766 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
32767 return_label834: while(false);
32768 tracehead = trace.prev;
32769 return;
32770 }
32771 void parser___ReduceAction401___init(val_t self, int* init_table) {
32772 struct trace_t trace = {NULL, NULL, 20477, LOCATE_parser___ReduceAction401___init};
32773 val_t variable[2];
32774 void **closurevariable = NULL;
32775 trace.prev = tracehead; tracehead = &trace;
32776 trace.file = LOCATE_parser;
32777 variable[0] = self;
32778 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction401].i]) return;
32779 return_label835: while(false);
32780 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction401].i] = 1;
32781 tracehead = trace.prev;
32782 return;
32783 }
32784 void parser___ReduceAction402___action(val_t self, val_t param0) {
32785 struct trace_t trace = {NULL, NULL, 20481, LOCATE_parser___ReduceAction402___action};
32786 val_t variable[10];
32787 void **closurevariable = NULL;
32788 trace.prev = tracehead; tracehead = &trace;
32789 trace.file = LOCATE_parser;
32790 variable[0] = self;
32791 variable[1] = param0;
32792 variable[3] = NIT_NULL /*null*/;
32793 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
32794 variable[4] = variable[5];
32795 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
32796 variable[5] = variable[6];
32797 variable[6] = variable[5] /*nodearraylist1*/;
32798 variable[7] = TAG_Bool(( variable[6] /*tidnode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tidnode2*/, COLOR_TId, ID_TId)) /*cast TId*/;
32799 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction402___action, LOCATE_parser, 20487); nit_exit(1);}
32800 variable[7] = variable[4] /*nodearraylist2*/;
32801 variable[8] = TAG_Bool(( variable[7] /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable[7] /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
32802 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction402___action, LOCATE_parser, 20489); nit_exit(1);}
32803 variable[9] = NEW_AParam_parser_prod___AParam___init_aparam( variable[6] /*tidnode2*/, variable[7] /*ptypenode3*/, NIT_NULL /*null*/); /*new AParam*/
32804 variable[8] = variable[9];
32805 variable[3] = variable[8] /*pparamnode1*/ /*node_list=*/;
32806 variable[9] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(20)) /*Parser::go_to*/;
32807 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
32808 return_label836: while(false);
32809 tracehead = trace.prev;
32810 return;
32811 }
32812 void parser___ReduceAction402___init(val_t self, int* init_table) {
32813 struct trace_t trace = {NULL, NULL, 20498, LOCATE_parser___ReduceAction402___init};
32814 val_t variable[2];
32815 void **closurevariable = NULL;
32816 trace.prev = tracehead; tracehead = &trace;
32817 trace.file = LOCATE_parser;
32818 variable[0] = self;
32819 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction402].i]) return;
32820 return_label837: while(false);
32821 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction402].i] = 1;
32822 tracehead = trace.prev;
32823 return;
32824 }
32825 void parser___ReduceAction403___action(val_t self, val_t param0) {
32826 struct trace_t trace = {NULL, NULL, 20502, LOCATE_parser___ReduceAction403___action};
32827 val_t variable[12];
32828 void **closurevariable = NULL;
32829 trace.prev = tracehead; tracehead = &trace;
32830 trace.file = LOCATE_parser;
32831 variable[0] = self;
32832 variable[1] = param0;
32833 variable[3] = NIT_NULL /*null*/;
32834 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
32835 variable[4] = variable[5];
32836 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
32837 variable[5] = variable[6];
32838 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
32839 variable[6] = variable[7];
32840 variable[7] = variable[6] /*nodearraylist1*/;
32841 variable[8] = TAG_Bool(( variable[7] /*tidnode2*/==NIT_NULL) || VAL_ISA( variable[7] /*tidnode2*/, COLOR_TId, ID_TId)) /*cast TId*/;
32842 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction403___action, LOCATE_parser, 20509); nit_exit(1);}
32843 variable[8] = variable[5] /*nodearraylist2*/;
32844 variable[9] = TAG_Bool(( variable[8] /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable[8] /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
32845 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction403___action, LOCATE_parser, 20511); nit_exit(1);}
32846 variable[9] = variable[4] /*nodearraylist3*/;
32847 variable[10] = TAG_Bool(( variable[9] /*tdotdotdotnode4*/==NIT_NULL) || VAL_ISA( variable[9] /*tdotdotdotnode4*/, COLOR_TDotdotdot, ID_TDotdotdot)) /*cast TDotdotdot*/;
32848 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction403___action, LOCATE_parser, 20513); nit_exit(1);}
32849 variable[11] = NEW_AParam_parser_prod___AParam___init_aparam( variable[7] /*tidnode2*/, variable[8] /*ptypenode3*/, variable[9] /*tdotdotdotnode4*/); /*new AParam*/
32850 variable[10] = variable[11];
32851 variable[3] = variable[10] /*pparamnode1*/ /*node_list=*/;
32852 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(20)) /*Parser::go_to*/;
32853 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
32854 return_label838: while(false);
32855 tracehead = trace.prev;
32856 return;
32857 }
32858 void parser___ReduceAction403___init(val_t self, int* init_table) {
32859 struct trace_t trace = {NULL, NULL, 20522, LOCATE_parser___ReduceAction403___init};
32860 val_t variable[2];
32861 void **closurevariable = NULL;
32862 trace.prev = tracehead; tracehead = &trace;
32863 trace.file = LOCATE_parser;
32864 variable[0] = self;
32865 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction403].i]) return;
32866 return_label839: while(false);
32867 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction403].i] = 1;
32868 tracehead = trace.prev;
32869 return;
32870 }
32871 void parser___ReduceAction404___action(val_t self, val_t param0) {
32872 struct trace_t trace = {NULL, NULL, 20526, LOCATE_parser___ReduceAction404___action};
32873 val_t variable[14];
32874 void **closurevariable = NULL;
32875 trace.prev = tracehead; tracehead = &trace;
32876 trace.file = LOCATE_parser;
32877 variable[0] = self;
32878 variable[1] = param0;
32879 variable[3] = NIT_NULL /*null*/;
32880 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
32881 variable[4] = variable[5];
32882 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
32883 variable[5] = variable[6];
32884 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
32885 variable[6] = variable[7];
32886 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
32887 variable[7] = variable[8];
32888 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
32889 variable[8] = variable[9];
32890 variable[9] = variable[7] /*nodearraylist2*/;
32891 variable[10] = TAG_Bool(( variable[9] /*tkwwithnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwwithnode2*/, COLOR_TKwwith, ID_TKwwith)) /*cast TKwwith*/;
32892 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction404___action, LOCATE_parser, 20535); nit_exit(1);}
32893 variable[10] = variable[5] /*nodearraylist4*/;
32894 variable[11] = TAG_Bool(( variable[10] /*tidnode4*/==NIT_NULL) || VAL_ISA( variable[10] /*tidnode4*/, COLOR_TId, ID_TId)) /*cast TId*/;
32895 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction404___action, LOCATE_parser, 20537); nit_exit(1);}
32896 variable[11] = variable[4] /*nodearraylist5*/;
32897 variable[12] = TAG_Bool(( variable[11] /*psignaturenode5*/==NIT_NULL) || VAL_ISA( variable[11] /*psignaturenode5*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
32898 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction404___action, LOCATE_parser, 20539); nit_exit(1);}
32899 variable[13] = NEW_AClosureDecl_parser_prod___AClosureDecl___init_aclosuredecl( variable[9] /*tkwwithnode2*/, NIT_NULL /*null*/, variable[10] /*tidnode4*/, variable[11] /*psignaturenode5*/); /*new AClosureDecl*/
32900 variable[12] = variable[13];
32901 variable[3] = variable[12] /*pclosuredeclnode1*/ /*node_list=*/;
32902 variable[13] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(21)) /*Parser::go_to*/;
32903 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
32904 return_label840: while(false);
32905 tracehead = trace.prev;
32906 return;
32907 }
32908 void parser___ReduceAction404___init(val_t self, int* init_table) {
32909 struct trace_t trace = {NULL, NULL, 20549, LOCATE_parser___ReduceAction404___init};
32910 val_t variable[2];
32911 void **closurevariable = NULL;
32912 trace.prev = tracehead; tracehead = &trace;
32913 trace.file = LOCATE_parser;
32914 variable[0] = self;
32915 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction404].i]) return;
32916 return_label841: while(false);
32917 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction404].i] = 1;
32918 tracehead = trace.prev;
32919 return;
32920 }
32921 void parser___ReduceAction405___action(val_t self, val_t param0) {
32922 struct trace_t trace = {NULL, NULL, 20553, LOCATE_parser___ReduceAction405___action};
32923 val_t variable[16];
32924 void **closurevariable = NULL;
32925 trace.prev = tracehead; tracehead = &trace;
32926 trace.file = LOCATE_parser;
32927 variable[0] = self;
32928 variable[1] = param0;
32929 variable[3] = NIT_NULL /*null*/;
32930 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
32931 variable[4] = variable[5];
32932 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
32933 variable[5] = variable[6];
32934 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
32935 variable[6] = variable[7];
32936 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
32937 variable[7] = variable[8];
32938 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
32939 variable[8] = variable[9];
32940 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
32941 variable[9] = variable[10];
32942 variable[10] = variable[8] /*nodearraylist2*/;
32943 variable[11] = TAG_Bool(( variable[10] /*tkwwithnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*tkwwithnode2*/, COLOR_TKwwith, ID_TKwwith)) /*cast TKwwith*/;
32944 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction405___action, LOCATE_parser, 20563); nit_exit(1);}
32945 variable[11] = variable[7] /*nodearraylist3*/;
32946 variable[12] = TAG_Bool(( variable[11] /*tkwbreaknode3*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwbreaknode3*/, COLOR_TKwbreak, ID_TKwbreak)) /*cast TKwbreak*/;
32947 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction405___action, LOCATE_parser, 20565); nit_exit(1);}
32948 variable[12] = variable[5] /*nodearraylist5*/;
32949 variable[13] = TAG_Bool(( variable[12] /*tidnode4*/==NIT_NULL) || VAL_ISA( variable[12] /*tidnode4*/, COLOR_TId, ID_TId)) /*cast TId*/;
32950 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction405___action, LOCATE_parser, 20567); nit_exit(1);}
32951 variable[13] = variable[4] /*nodearraylist6*/;
32952 variable[14] = TAG_Bool(( variable[13] /*psignaturenode5*/==NIT_NULL) || VAL_ISA( variable[13] /*psignaturenode5*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
32953 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction405___action, LOCATE_parser, 20569); nit_exit(1);}
32954 variable[15] = NEW_AClosureDecl_parser_prod___AClosureDecl___init_aclosuredecl( variable[10] /*tkwwithnode2*/, variable[11] /*tkwbreaknode3*/, variable[12] /*tidnode4*/, variable[13] /*psignaturenode5*/); /*new AClosureDecl*/
32955 variable[14] = variable[15];
32956 variable[3] = variable[14] /*pclosuredeclnode1*/ /*node_list=*/;
32957 variable[15] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(21)) /*Parser::go_to*/;
32958 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
32959 return_label842: while(false);
32960 tracehead = trace.prev;
32961 return;
32962 }
32963 void parser___ReduceAction405___init(val_t self, int* init_table) {
32964 struct trace_t trace = {NULL, NULL, 20579, LOCATE_parser___ReduceAction405___init};
32965 val_t variable[2];
32966 void **closurevariable = NULL;
32967 trace.prev = tracehead; tracehead = &trace;
32968 trace.file = LOCATE_parser;
32969 variable[0] = self;
32970 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction405].i]) return;
32971 return_label843: while(false);
32972 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction405].i] = 1;
32973 tracehead = trace.prev;
32974 return;
32975 }
32976 void parser___ReduceAction406___action(val_t self, val_t param0) {
32977 struct trace_t trace = {NULL, NULL, 20583, LOCATE_parser___ReduceAction406___action};
32978 val_t variable[9];
32979 void **closurevariable = NULL;
32980 trace.prev = tracehead; tracehead = &trace;
32981 trace.file = LOCATE_parser;
32982 variable[0] = self;
32983 variable[1] = param0;
32984 variable[3] = NIT_NULL /*null*/;
32985 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
32986 variable[4] = variable[5];
32987 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
32988 variable[5] = variable[6];
32989 variable[6] = variable[4] /*nodearraylist1*/;
32990 variable[7] = TAG_Bool(( variable[6] /*tclassidnode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tclassidnode2*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
32991 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction406___action, LOCATE_parser, 20589); nit_exit(1);}
32992 variable[8] = NEW_AType_parser_prod___AType___init_atype( variable[6] /*tclassidnode2*/, variable[5] /*listnode3*/); /*new AType*/
32993 variable[7] = variable[8];
32994 variable[3] = variable[7] /*ptypenode1*/ /*node_list=*/;
32995 variable[8] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(22)) /*Parser::go_to*/;
32996 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
32997 return_label844: while(false);
32998 tracehead = trace.prev;
32999 return;
33000 }
33001 void parser___ReduceAction406___init(val_t self, int* init_table) {
33002 struct trace_t trace = {NULL, NULL, 20597, LOCATE_parser___ReduceAction406___init};
33003 val_t variable[2];
33004 void **closurevariable = NULL;
33005 trace.prev = tracehead; tracehead = &trace;
33006 trace.file = LOCATE_parser;
33007 variable[0] = self;
33008 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction406].i]) return;
33009 return_label845: while(false);
33010 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction406].i] = 1;
33011 tracehead = trace.prev;
33012 return;
33013 }
33014 void parser___ReduceAction407___action(val_t self, val_t param0) {
33015 struct trace_t trace = {NULL, NULL, 20601, LOCATE_parser___ReduceAction407___action};
33016 val_t variable[15];
33017 void **closurevariable = NULL;
33018 trace.prev = tracehead; tracehead = &trace;
33019 trace.file = LOCATE_parser;
33020 variable[0] = self;
33021 variable[1] = param0;
33022 variable[3] = NIT_NULL /*null*/;
33023 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
33024 variable[4] = variable[5];
33025 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
33026 variable[5] = variable[6];
33027 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
33028 variable[6] = variable[7];
33029 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
33030 variable[7] = variable[8];
33031 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
33032 variable[8] = variable[9];
33033 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
33034 variable[9] = variable[10];
33035 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
33036 variable[10] = variable[11];
33037 variable[11] = variable[9] /*nodearraylist1*/;
33038 variable[12] = TAG_Bool(( variable[11] /*tclassidnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*tclassidnode2*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
33039 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction407___action, LOCATE_parser, 20612); nit_exit(1);}
33040 variable[12] = variable[6] /*nodearraylist4*/;
33041 variable[13] = TAG_Bool(( variable[12] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
33042 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction407___action, LOCATE_parser, 20614); nit_exit(1);}
33043 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable[12] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
33044 if (UNTAG_Bool(variable[13])) { /*if*/
33045 variable[13] = ((array___AbstractArray___is_empty_t)CALL( variable[10] /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable[10] /*listnode4*/) /*AbstractArray::is_empty*/;
33046 if (UNTAG_Bool(variable[13])) { /*if*/
33047 variable[10] = variable[12] /*listnode3*/ /*listnode4=*/;
33048 } else { /*if*/
33049 ((abstract_collection___IndexedCollection___append_t)CALL( variable[10] /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable[10] /*listnode4*/, variable[12] /*listnode3*/) /*IndexedCollection::append*/;
33050 }
33051 }
33052 variable[14] = NEW_AType_parser_prod___AType___init_atype( variable[11] /*tclassidnode2*/, variable[10] /*listnode4*/); /*new AType*/
33053 variable[13] = variable[14];
33054 variable[3] = variable[13] /*ptypenode1*/ /*node_list=*/;
33055 variable[14] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(22)) /*Parser::go_to*/;
33056 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
33057 return_label846: while(false);
33058 tracehead = trace.prev;
33059 return;
33060 }
33061 void parser___ReduceAction407___init(val_t self, int* init_table) {
33062 struct trace_t trace = {NULL, NULL, 20629, LOCATE_parser___ReduceAction407___init};
33063 val_t variable[2];
33064 void **closurevariable = NULL;
33065 trace.prev = tracehead; tracehead = &trace;
33066 trace.file = LOCATE_parser;
33067 variable[0] = self;
33068 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction407].i]) return;
33069 return_label847: while(false);
33070 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction407].i] = 1;
33071 tracehead = trace.prev;
33072 return;
33073 }
33074 void parser___ReduceAction408___action(val_t self, val_t param0) {
33075 struct trace_t trace = {NULL, NULL, 20633, LOCATE_parser___ReduceAction408___action};
33076 val_t variable[8];
33077 void **closurevariable = NULL;
33078 trace.prev = tracehead; tracehead = &trace;
33079 trace.file = LOCATE_parser;
33080 variable[0] = self;
33081 variable[1] = param0;
33082 variable[3] = NIT_NULL /*null*/;
33083 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
33084 variable[4] = variable[5];
33085 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
33086 variable[5] = variable[6];
33087 variable[6] = variable[4] /*nodearraylist1*/;
33088 variable[7] = TAG_Bool(( variable[6] /*ptypenode1*/==NIT_NULL) || VAL_ISA( variable[6] /*ptypenode1*/, COLOR_PType, ID_PType)) /*cast PType*/;
33089 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction408___action, LOCATE_parser, 20639); nit_exit(1);}
33090 variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[6] /*ptypenode1*/ == NIT_NULL /*null*/) || (( variable[6] /*ptypenode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[6] /*ptypenode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*ptypenode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[6] /*ptypenode1*/,COLOR_kernel___Object_____eqeq))( variable[6] /*ptypenode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
33091 if (UNTAG_Bool(variable[7])) { /*if*/
33092 ((array___AbstractArray___add_t)CALL( variable[5] /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable[5] /*listnode2*/, variable[6] /*ptypenode1*/) /*AbstractArray::add*/;
33093 }
33094 variable[3] = variable[5] /*listnode2*/ /*node_list=*/;
33095 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(23)) /*Parser::go_to*/;
33096 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
33097 return_label848: while(false);
33098 tracehead = trace.prev;
33099 return;
33100 }
33101 void parser___ReduceAction408___init(val_t self, int* init_table) {
33102 struct trace_t trace = {NULL, NULL, 20646, LOCATE_parser___ReduceAction408___init};
33103 val_t variable[2];
33104 void **closurevariable = NULL;
33105 trace.prev = tracehead; tracehead = &trace;
33106 trace.file = LOCATE_parser;
33107 variable[0] = self;
33108 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction408].i]) return;
33109 return_label849: while(false);
33110 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction408].i] = 1;
33111 tracehead = trace.prev;
33112 return;
33113 }
33114 void parser___ReduceAction409___action(val_t self, val_t param0) {
33115 struct trace_t trace = {NULL, NULL, 20650, LOCATE_parser___ReduceAction409___action};
33116 val_t variable[10];
33117 void **closurevariable = NULL;
33118 trace.prev = tracehead; tracehead = &trace;
33119 trace.file = LOCATE_parser;
33120 variable[0] = self;
33121 variable[1] = param0;
33122 variable[3] = NIT_NULL /*null*/;
33123 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
33124 variable[4] = variable[5];
33125 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
33126 variable[5] = variable[6];
33127 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
33128 variable[6] = variable[7];
33129 variable[7] = variable[5] /*nodearraylist1*/;
33130 variable[8] = TAG_Bool(( variable[7] /*ptypenode1*/==NIT_NULL) || VAL_ISA( variable[7] /*ptypenode1*/, COLOR_PType, ID_PType)) /*cast PType*/;
33131 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction409___action, LOCATE_parser, 20657); nit_exit(1);}
33132 variable[8] = variable[4] /*nodearraylist2*/;
33133 variable[9] = TAG_Bool(( variable[8] /*listnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
33134 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction409___action, LOCATE_parser, 20659); nit_exit(1);}
33135 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[7] /*ptypenode1*/ == NIT_NULL /*null*/) || (( variable[7] /*ptypenode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[7] /*ptypenode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[7] /*ptypenode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[7] /*ptypenode1*/,COLOR_kernel___Object_____eqeq))( variable[7] /*ptypenode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
33136 if (UNTAG_Bool(variable[9])) { /*if*/
33137 ((array___AbstractArray___add_t)CALL( variable[6] /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable[6] /*listnode3*/, variable[7] /*ptypenode1*/) /*AbstractArray::add*/;
33138 }
33139 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*listnode2*/ == NIT_NULL /*null*/) || (( variable[8] /*listnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[8] /*listnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*listnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[8] /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable[8] /*listnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
33140 if (UNTAG_Bool(variable[9])) { /*if*/
33141 variable[9] = ((array___AbstractArray___is_empty_t)CALL( variable[6] /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable[6] /*listnode3*/) /*AbstractArray::is_empty*/;
33142 if (UNTAG_Bool(variable[9])) { /*if*/
33143 variable[6] = variable[8] /*listnode2*/ /*listnode3=*/;
33144 } else { /*if*/
33145 ((abstract_collection___IndexedCollection___append_t)CALL( variable[6] /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable[6] /*listnode3*/, variable[8] /*listnode2*/) /*IndexedCollection::append*/;
33146 }
33147 }
33148 variable[3] = variable[6] /*listnode3*/ /*node_list=*/;
33149 variable[9] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(23)) /*Parser::go_to*/;
33150 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
33151 return_label850: while(false);
33152 tracehead = trace.prev;
33153 return;
33154 }
33155 void parser___ReduceAction409___init(val_t self, int* init_table) {
33156 struct trace_t trace = {NULL, NULL, 20673, LOCATE_parser___ReduceAction409___init};
33157 val_t variable[2];
33158 void **closurevariable = NULL;
33159 trace.prev = tracehead; tracehead = &trace;
33160 trace.file = LOCATE_parser;
33161 variable[0] = self;
33162 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction409].i]) return;
33163 return_label851: while(false);
33164 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction409].i] = 1;
33165 tracehead = trace.prev;
33166 return;
33167 }
33168 void parser___ReduceAction410___action(val_t self, val_t param0) {
33169 struct trace_t trace = {NULL, NULL, 20677, LOCATE_parser___ReduceAction410___action};
33170 val_t variable[9];
33171 void **closurevariable = NULL;
33172 trace.prev = tracehead; tracehead = &trace;
33173 trace.file = LOCATE_parser;
33174 variable[0] = self;
33175 variable[1] = param0;
33176 variable[3] = NIT_NULL /*null*/;
33177 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
33178 variable[4] = variable[5];
33179 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
33180 variable[5] = variable[6];
33181 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
33182 variable[6] = variable[7];
33183 variable[7] = variable[4] /*nodearraylist3*/;
33184 variable[8] = TAG_Bool(( variable[7] /*ptypenode1*/==NIT_NULL) || VAL_ISA( variable[7] /*ptypenode1*/, COLOR_PType, ID_PType)) /*cast PType*/;
33185 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction410___action, LOCATE_parser, 20684); nit_exit(1);}
33186 variable[3] = variable[7] /*ptypenode1*/ /*node_list=*/;
33187 variable[8] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(24)) /*Parser::go_to*/;
33188 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
33189 return_label852: while(false);
33190 tracehead = trace.prev;
33191 return;
33192 }
33193 void parser___ReduceAction410___init(val_t self, int* init_table) {
33194 struct trace_t trace = {NULL, NULL, 20688, LOCATE_parser___ReduceAction410___init};
33195 val_t variable[2];
33196 void **closurevariable = NULL;
33197 trace.prev = tracehead; tracehead = &trace;
33198 trace.file = LOCATE_parser;
33199 variable[0] = self;
33200 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction410].i]) return;
33201 return_label853: while(false);
33202 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction410].i] = 1;
33203 tracehead = trace.prev;
33204 return;
33205 }
33206 void parser___ReduceAction411___action(val_t self, val_t param0) {
33207 struct trace_t trace = {NULL, NULL, 20692, LOCATE_parser___ReduceAction411___action};
33208 val_t variable[9];
33209 void **closurevariable = NULL;
33210 trace.prev = tracehead; tracehead = &trace;
33211 trace.file = LOCATE_parser;
33212 variable[0] = self;
33213 variable[1] = param0;
33214 variable[3] = NIT_NULL /*null*/;
33215 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
33216 variable[4] = variable[5];
33217 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
33218 variable[5] = variable[6];
33219 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
33220 variable[6] = variable[7];
33221 variable[7] = variable[4] /*nodearraylist3*/;
33222 variable[8] = TAG_Bool(( variable[7] /*ptypenode1*/==NIT_NULL) || VAL_ISA( variable[7] /*ptypenode1*/, COLOR_PType, ID_PType)) /*cast PType*/;
33223 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction411___action, LOCATE_parser, 20699); nit_exit(1);}
33224 variable[3] = variable[7] /*ptypenode1*/ /*node_list=*/;
33225 variable[8] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(25)) /*Parser::go_to*/;
33226 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
33227 return_label854: while(false);
33228 tracehead = trace.prev;
33229 return;
33230 }
33231 void parser___ReduceAction411___init(val_t self, int* init_table) {
33232 struct trace_t trace = {NULL, NULL, 20703, LOCATE_parser___ReduceAction411___init};
33233 val_t variable[2];
33234 void **closurevariable = NULL;
33235 trace.prev = tracehead; tracehead = &trace;
33236 trace.file = LOCATE_parser;
33237 variable[0] = self;
33238 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction411].i]) return;
33239 return_label855: while(false);
33240 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction411].i] = 1;
33241 tracehead = trace.prev;
33242 return;
33243 }
33244 void parser___ReduceAction412___action(val_t self, val_t param0) {
33245 struct trace_t trace = {NULL, NULL, 20707, LOCATE_parser___ReduceAction412___action};
33246 val_t variable[7];
33247 void **closurevariable = NULL;
33248 trace.prev = tracehead; tracehead = &trace;
33249 trace.file = LOCATE_parser;
33250 variable[0] = self;
33251 variable[1] = param0;
33252 variable[3] = NIT_NULL /*null*/;
33253 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
33254 variable[4] = variable[5];
33255 variable[5] = variable[4] /*nodearraylist1*/;
33256 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
33257 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction412___action, LOCATE_parser, 20712); nit_exit(1);}
33258 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
33259 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(26)) /*Parser::go_to*/;
33260 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
33261 return_label856: while(false);
33262 tracehead = trace.prev;
33263 return;
33264 }
33265 void parser___ReduceAction412___init(val_t self, int* init_table) {
33266 struct trace_t trace = {NULL, NULL, 20716, LOCATE_parser___ReduceAction412___init};
33267 val_t variable[2];
33268 void **closurevariable = NULL;
33269 trace.prev = tracehead; tracehead = &trace;
33270 trace.file = LOCATE_parser;
33271 variable[0] = self;
33272 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction412].i]) return;
33273 return_label857: while(false);
33274 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction412].i] = 1;
33275 tracehead = trace.prev;
33276 return;
33277 }
33278 void parser___ReduceAction413___action(val_t self, val_t param0) {
33279 struct trace_t trace = {NULL, NULL, 20720, LOCATE_parser___ReduceAction413___action};
33280 val_t variable[12];
33281 void **closurevariable = NULL;
33282 trace.prev = tracehead; tracehead = &trace;
33283 trace.file = LOCATE_parser;
33284 variable[0] = self;
33285 variable[1] = param0;
33286 variable[3] = NIT_NULL /*null*/;
33287 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
33288 variable[4] = variable[5];
33289 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
33290 variable[5] = variable[6];
33291 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
33292 variable[6] = variable[7];
33293 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
33294 variable[7] = variable[8];
33295 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
33296 variable[8] = variable[9];
33297 variable[9] = variable[6] /*nodearraylist2*/;
33298 variable[10] = TAG_Bool(( variable[9] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
33299 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction413___action, LOCATE_parser, 20729); nit_exit(1);}
33300 variable[10] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[9] /*pexprnode2*/ == NIT_NULL /*null*/) || (( variable[9] /*pexprnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[9] /*pexprnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[9] /*pexprnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[9] /*pexprnode2*/,COLOR_kernel___Object_____eqeq))( variable[9] /*pexprnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
33301 if (UNTAG_Bool(variable[10])) { /*if*/
33302 ((array___AbstractArray___add_t)CALL( variable[8] /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable[8] /*listnode3*/, variable[9] /*pexprnode2*/) /*AbstractArray::add*/;
33303 }
33304 variable[11] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr( variable[8] /*listnode3*/); /*new ABlockExpr*/
33305 variable[10] = variable[11];
33306 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
33307 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(26)) /*Parser::go_to*/;
33308 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
33309 return_label858: while(false);
33310 tracehead = trace.prev;
33311 return;
33312 }
33313 void parser___ReduceAction413___init(val_t self, int* init_table) {
33314 struct trace_t trace = {NULL, NULL, 20739, LOCATE_parser___ReduceAction413___init};
33315 val_t variable[2];
33316 void **closurevariable = NULL;
33317 trace.prev = tracehead; tracehead = &trace;
33318 trace.file = LOCATE_parser;
33319 variable[0] = self;
33320 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction413].i]) return;
33321 return_label859: while(false);
33322 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction413].i] = 1;
33323 tracehead = trace.prev;
33324 return;
33325 }
33326 void parser___ReduceAction414___action(val_t self, val_t param0) {
33327 struct trace_t trace = {NULL, NULL, 20743, LOCATE_parser___ReduceAction414___action};
33328 val_t variable[14];
33329 void **closurevariable = NULL;
33330 trace.prev = tracehead; tracehead = &trace;
33331 trace.file = LOCATE_parser;
33332 variable[0] = self;
33333 variable[1] = param0;
33334 variable[3] = NIT_NULL /*null*/;
33335 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
33336 variable[4] = variable[5];
33337 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
33338 variable[5] = variable[6];
33339 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
33340 variable[6] = variable[7];
33341 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
33342 variable[7] = variable[8];
33343 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
33344 variable[8] = variable[9];
33345 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
33346 variable[9] = variable[10];
33347 variable[10] = variable[7] /*nodearraylist2*/;
33348 variable[11] = TAG_Bool(( variable[10] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
33349 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction414___action, LOCATE_parser, 20753); nit_exit(1);}
33350 variable[11] = variable[6] /*nodearraylist3*/;
33351 variable[12] = TAG_Bool(( variable[11] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
33352 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction414___action, LOCATE_parser, 20755); nit_exit(1);}
33353 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*pexprnode2*/ == NIT_NULL /*null*/) || (( variable[10] /*pexprnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[10] /*pexprnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*pexprnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[10] /*pexprnode2*/,COLOR_kernel___Object_____eqeq))( variable[10] /*pexprnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
33354 if (UNTAG_Bool(variable[12])) { /*if*/
33355 ((array___AbstractArray___add_t)CALL( variable[9] /*listnode4*/,COLOR_abstract_collection___SimpleCollection___add))( variable[9] /*listnode4*/, variable[10] /*pexprnode2*/) /*AbstractArray::add*/;
33356 }
33357 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable[11] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
33358 if (UNTAG_Bool(variable[12])) { /*if*/
33359 variable[12] = ((array___AbstractArray___is_empty_t)CALL( variable[9] /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable[9] /*listnode4*/) /*AbstractArray::is_empty*/;
33360 if (UNTAG_Bool(variable[12])) { /*if*/
33361 variable[9] = variable[11] /*listnode3*/ /*listnode4=*/;
33362 } else { /*if*/
33363 ((abstract_collection___IndexedCollection___append_t)CALL( variable[9] /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable[9] /*listnode4*/, variable[11] /*listnode3*/) /*IndexedCollection::append*/;
33364 }
33365 }
33366 variable[13] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr( variable[9] /*listnode4*/); /*new ABlockExpr*/
33367 variable[12] = variable[13];
33368 variable[3] = variable[12] /*pexprnode1*/ /*node_list=*/;
33369 variable[13] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(26)) /*Parser::go_to*/;
33370 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
33371 return_label860: while(false);
33372 tracehead = trace.prev;
33373 return;
33374 }
33375 void parser___ReduceAction414___init(val_t self, int* init_table) {
33376 struct trace_t trace = {NULL, NULL, 20772, LOCATE_parser___ReduceAction414___init};
33377 val_t variable[2];
33378 void **closurevariable = NULL;
33379 trace.prev = tracehead; tracehead = &trace;
33380 trace.file = LOCATE_parser;
33381 variable[0] = self;
33382 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction414].i]) return;
33383 return_label861: while(false);
33384 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction414].i] = 1;
33385 tracehead = trace.prev;
33386 return;
33387 }
33388 void parser___ReduceAction415___action(val_t self, val_t param0) {
33389 struct trace_t trace = {NULL, NULL, 20776, LOCATE_parser___ReduceAction415___action};
33390 val_t variable[7];
33391 void **closurevariable = NULL;
33392 trace.prev = tracehead; tracehead = &trace;
33393 trace.file = LOCATE_parser;
33394 variable[0] = self;
33395 variable[1] = param0;
33396 variable[3] = NIT_NULL /*null*/;
33397 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
33398 variable[4] = variable[5];
33399 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
33400 variable[5] = variable[6];
33401 variable[3] = NIT_NULL /*null*/ /*node_list=*/;
33402 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(26)) /*Parser::go_to*/;
33403 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
33404 return_label862: while(false);
33405 tracehead = trace.prev;
33406 return;
33407 }
33408 void parser___ReduceAction415___init(val_t self, int* init_table) {
33409 struct trace_t trace = {NULL, NULL, 20784, LOCATE_parser___ReduceAction415___init};
33410 val_t variable[2];
33411 void **closurevariable = NULL;
33412 trace.prev = tracehead; tracehead = &trace;
33413 trace.file = LOCATE_parser;
33414 variable[0] = self;
33415 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction415].i]) return;
33416 return_label863: while(false);
33417 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction415].i] = 1;
33418 tracehead = trace.prev;
33419 return;
33420 }
33421 void parser___ReduceAction416___action(val_t self, val_t param0) {
33422 struct trace_t trace = {NULL, NULL, 20788, LOCATE_parser___ReduceAction416___action};
33423 val_t variable[6];
33424 void **closurevariable = NULL;
33425 trace.prev = tracehead; tracehead = &trace;
33426 trace.file = LOCATE_parser;
33427 variable[0] = self;
33428 variable[1] = param0;
33429 variable[3] = NIT_NULL /*null*/;
33430 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
33431 variable[4] = variable[5];
33432 variable[3] = NIT_NULL /*null*/ /*node_list=*/;
33433 variable[5] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(26)) /*Parser::go_to*/;
33434 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[5], variable[3] /*node_list*/) /*Parser::push*/;
33435 return_label864: while(false);
33436 tracehead = trace.prev;
33437 return;
33438 }
33439 void parser___ReduceAction416___init(val_t self, int* init_table) {
33440 struct trace_t trace = {NULL, NULL, 20795, LOCATE_parser___ReduceAction416___init};
33441 val_t variable[2];
33442 void **closurevariable = NULL;
33443 trace.prev = tracehead; tracehead = &trace;
33444 trace.file = LOCATE_parser;
33445 variable[0] = self;
33446 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction416].i]) return;
33447 return_label865: while(false);
33448 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction416].i] = 1;
33449 tracehead = trace.prev;
33450 return;
33451 }
33452 void parser___ReduceAction417___action(val_t self, val_t param0) {
33453 struct trace_t trace = {NULL, NULL, 20799, LOCATE_parser___ReduceAction417___action};
33454 val_t variable[8];
33455 void **closurevariable = NULL;
33456 trace.prev = tracehead; tracehead = &trace;
33457 trace.file = LOCATE_parser;
33458 variable[0] = self;
33459 variable[1] = param0;
33460 variable[3] = NIT_NULL /*null*/;
33461 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
33462 variable[4] = variable[5];
33463 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
33464 variable[5] = variable[6];
33465 variable[6] = variable[4] /*nodearraylist2*/;
33466 variable[7] = TAG_Bool(( variable[6] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
33467 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction417___action, LOCATE_parser, 20805); nit_exit(1);}
33468 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
33469 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(27)) /*Parser::go_to*/;
33470 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
33471 return_label866: while(false);
33472 tracehead = trace.prev;
33473 return;
33474 }
33475 void parser___ReduceAction417___init(val_t self, int* init_table) {
33476 struct trace_t trace = {NULL, NULL, 20809, LOCATE_parser___ReduceAction417___init};
33477 val_t variable[2];
33478 void **closurevariable = NULL;
33479 trace.prev = tracehead; tracehead = &trace;
33480 trace.file = LOCATE_parser;
33481 variable[0] = self;
33482 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction417].i]) return;
33483 return_label867: while(false);
33484 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction417].i] = 1;
33485 tracehead = trace.prev;
33486 return;
33487 }
33488 void parser___ReduceAction418___action(val_t self, val_t param0) {
33489 struct trace_t trace = {NULL, NULL, 20813, LOCATE_parser___ReduceAction418___action};
33490 val_t variable[7];
33491 void **closurevariable = NULL;
33492 trace.prev = tracehead; tracehead = &trace;
33493 trace.file = LOCATE_parser;
33494 variable[0] = self;
33495 variable[1] = param0;
33496 variable[3] = NIT_NULL /*null*/;
33497 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
33498 variable[4] = variable[5];
33499 variable[5] = variable[4] /*nodearraylist1*/;
33500 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
33501 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction418___action, LOCATE_parser, 20818); nit_exit(1);}
33502 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
33503 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(28)) /*Parser::go_to*/;
33504 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
33505 return_label868: while(false);
33506 tracehead = trace.prev;
33507 return;
33508 }
33509 void parser___ReduceAction418___init(val_t self, int* init_table) {
33510 struct trace_t trace = {NULL, NULL, 20822, LOCATE_parser___ReduceAction418___init};
33511 val_t variable[2];
33512 void **closurevariable = NULL;
33513 trace.prev = tracehead; tracehead = &trace;
33514 trace.file = LOCATE_parser;
33515 variable[0] = self;
33516 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction418].i]) return;
33517 return_label869: while(false);
33518 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction418].i] = 1;
33519 tracehead = trace.prev;
33520 return;
33521 }
33522 void parser___ReduceAction419___action(val_t self, val_t param0) {
33523 struct trace_t trace = {NULL, NULL, 20826, LOCATE_parser___ReduceAction419___action};
33524 val_t variable[7];
33525 void **closurevariable = NULL;
33526 trace.prev = tracehead; tracehead = &trace;
33527 trace.file = LOCATE_parser;
33528 variable[0] = self;
33529 variable[1] = param0;
33530 variable[3] = NIT_NULL /*null*/;
33531 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
33532 variable[4] = variable[5];
33533 variable[5] = variable[4] /*nodearraylist1*/;
33534 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
33535 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction419___action, LOCATE_parser, 20831); nit_exit(1);}
33536 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
33537 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(28)) /*Parser::go_to*/;
33538 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
33539 return_label870: while(false);
33540 tracehead = trace.prev;
33541 return;
33542 }
33543 void parser___ReduceAction419___init(val_t self, int* init_table) {
33544 struct trace_t trace = {NULL, NULL, 20835, LOCATE_parser___ReduceAction419___init};
33545 val_t variable[2];
33546 void **closurevariable = NULL;
33547 trace.prev = tracehead; tracehead = &trace;
33548 trace.file = LOCATE_parser;
33549 variable[0] = self;
33550 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction419].i]) return;
33551 return_label871: while(false);
33552 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction419].i] = 1;
33553 tracehead = trace.prev;
33554 return;
33555 }
33556 void parser___ReduceAction420___action(val_t self, val_t param0) {
33557 struct trace_t trace = {NULL, NULL, 20839, LOCATE_parser___ReduceAction420___action};
33558 val_t variable[8];
33559 void **closurevariable = NULL;
33560 trace.prev = tracehead; tracehead = &trace;
33561 trace.file = LOCATE_parser;
33562 variable[0] = self;
33563 variable[1] = param0;
33564 variable[3] = NIT_NULL /*null*/;
33565 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
33566 variable[4] = variable[5];
33567 variable[5] = variable[4] /*nodearraylist1*/;
33568 variable[6] = TAG_Bool(( variable[5] /*tkwreturnnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwreturnnode2*/, COLOR_TKwreturn, ID_TKwreturn)) /*cast TKwreturn*/;
33569 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction420___action, LOCATE_parser, 20844); nit_exit(1);}
33570 variable[7] = NEW_AReturnExpr_parser_prod___AReturnExpr___init_areturnexpr( variable[5] /*tkwreturnnode2*/, NIT_NULL /*null*/); /*new AReturnExpr*/
33571 variable[6] = variable[7];
33572 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
33573 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(28)) /*Parser::go_to*/;
33574 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
33575 return_label872: while(false);
33576 tracehead = trace.prev;
33577 return;
33578 }
33579 void parser___ReduceAction420___init(val_t self, int* init_table) {
33580 struct trace_t trace = {NULL, NULL, 20852, LOCATE_parser___ReduceAction420___init};
33581 val_t variable[2];
33582 void **closurevariable = NULL;
33583 trace.prev = tracehead; tracehead = &trace;
33584 trace.file = LOCATE_parser;
33585 variable[0] = self;
33586 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction420].i]) return;
33587 return_label873: while(false);
33588 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction420].i] = 1;
33589 tracehead = trace.prev;
33590 return;
33591 }
33592 void parser___ReduceAction421___action(val_t self, val_t param0) {
33593 struct trace_t trace = {NULL, NULL, 20856, LOCATE_parser___ReduceAction421___action};
33594 val_t variable[10];
33595 void **closurevariable = NULL;
33596 trace.prev = tracehead; tracehead = &trace;
33597 trace.file = LOCATE_parser;
33598 variable[0] = self;
33599 variable[1] = param0;
33600 variable[3] = NIT_NULL /*null*/;
33601 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
33602 variable[4] = variable[5];
33603 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
33604 variable[5] = variable[6];
33605 variable[6] = variable[5] /*nodearraylist1*/;
33606 variable[7] = TAG_Bool(( variable[6] /*tkwreturnnode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tkwreturnnode2*/, COLOR_TKwreturn, ID_TKwreturn)) /*cast TKwreturn*/;
33607 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction421___action, LOCATE_parser, 20862); nit_exit(1);}
33608 variable[7] = variable[4] /*nodearraylist2*/;
33609 variable[8] = TAG_Bool(( variable[7] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[7] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
33610 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction421___action, LOCATE_parser, 20864); nit_exit(1);}
33611 variable[9] = NEW_AReturnExpr_parser_prod___AReturnExpr___init_areturnexpr( variable[6] /*tkwreturnnode2*/, variable[7] /*pexprnode3*/); /*new AReturnExpr*/
33612 variable[8] = variable[9];
33613 variable[3] = variable[8] /*pexprnode1*/ /*node_list=*/;
33614 variable[9] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(28)) /*Parser::go_to*/;
33615 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
33616 return_label874: while(false);
33617 tracehead = trace.prev;
33618 return;
33619 }
33620 void parser___ReduceAction421___init(val_t self, int* init_table) {
33621 struct trace_t trace = {NULL, NULL, 20872, LOCATE_parser___ReduceAction421___init};
33622 val_t variable[2];
33623 void **closurevariable = NULL;
33624 trace.prev = tracehead; tracehead = &trace;
33625 trace.file = LOCATE_parser;
33626 variable[0] = self;
33627 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction421].i]) return;
33628 return_label875: while(false);
33629 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction421].i] = 1;
33630 tracehead = trace.prev;
33631 return;
33632 }
33633 void parser___ReduceAction422___action(val_t self, val_t param0) {
33634 struct trace_t trace = {NULL, NULL, 20876, LOCATE_parser___ReduceAction422___action};
33635 val_t variable[8];
33636 void **closurevariable = NULL;
33637 trace.prev = tracehead; tracehead = &trace;
33638 trace.file = LOCATE_parser;
33639 variable[0] = self;
33640 variable[1] = param0;
33641 variable[3] = NIT_NULL /*null*/;
33642 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
33643 variable[4] = variable[5];
33644 variable[5] = variable[4] /*nodearraylist1*/;
33645 variable[6] = TAG_Bool(( variable[5] /*tkwbreaknode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwbreaknode2*/, COLOR_TKwbreak, ID_TKwbreak)) /*cast TKwbreak*/;
33646 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction422___action, LOCATE_parser, 20881); nit_exit(1);}
33647 variable[7] = NEW_ABreakExpr_parser_prod___ABreakExpr___init_abreakexpr( variable[5] /*tkwbreaknode2*/, NIT_NULL /*null*/); /*new ABreakExpr*/
33648 variable[6] = variable[7];
33649 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
33650 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(28)) /*Parser::go_to*/;
33651 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
33652 return_label876: while(false);
33653 tracehead = trace.prev;
33654 return;
33655 }
33656 void parser___ReduceAction422___init(val_t self, int* init_table) {
33657 struct trace_t trace = {NULL, NULL, 20889, LOCATE_parser___ReduceAction422___init};
33658 val_t variable[2];
33659 void **closurevariable = NULL;
33660 trace.prev = tracehead; tracehead = &trace;
33661 trace.file = LOCATE_parser;
33662 variable[0] = self;
33663 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction422].i]) return;
33664 return_label877: while(false);
33665 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction422].i] = 1;
33666 tracehead = trace.prev;
33667 return;
33668 }
33669 void parser___ReduceAction423___action(val_t self, val_t param0) {
33670 struct trace_t trace = {NULL, NULL, 20893, LOCATE_parser___ReduceAction423___action};
33671 val_t variable[10];
33672 void **closurevariable = NULL;
33673 trace.prev = tracehead; tracehead = &trace;
33674 trace.file = LOCATE_parser;
33675 variable[0] = self;
33676 variable[1] = param0;
33677 variable[3] = NIT_NULL /*null*/;
33678 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
33679 variable[4] = variable[5];
33680 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
33681 variable[5] = variable[6];
33682 variable[6] = variable[5] /*nodearraylist1*/;
33683 variable[7] = TAG_Bool(( variable[6] /*tkwbreaknode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tkwbreaknode2*/, COLOR_TKwbreak, ID_TKwbreak)) /*cast TKwbreak*/;
33684 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction423___action, LOCATE_parser, 20899); nit_exit(1);}
33685 variable[7] = variable[4] /*nodearraylist2*/;
33686 variable[8] = TAG_Bool(( variable[7] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[7] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
33687 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction423___action, LOCATE_parser, 20901); nit_exit(1);}
33688 variable[9] = NEW_ABreakExpr_parser_prod___ABreakExpr___init_abreakexpr( variable[6] /*tkwbreaknode2*/, variable[7] /*pexprnode3*/); /*new ABreakExpr*/
33689 variable[8] = variable[9];
33690 variable[3] = variable[8] /*pexprnode1*/ /*node_list=*/;
33691 variable[9] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(28)) /*Parser::go_to*/;
33692 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
33693 return_label878: while(false);
33694 tracehead = trace.prev;
33695 return;
33696 }
33697 void parser___ReduceAction423___init(val_t self, int* init_table) {
33698 struct trace_t trace = {NULL, NULL, 20909, LOCATE_parser___ReduceAction423___init};
33699 val_t variable[2];
33700 void **closurevariable = NULL;
33701 trace.prev = tracehead; tracehead = &trace;
33702 trace.file = LOCATE_parser;
33703 variable[0] = self;
33704 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction423].i]) return;
33705 return_label879: while(false);
33706 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction423].i] = 1;
33707 tracehead = trace.prev;
33708 return;
33709 }
33710 void parser___ReduceAction424___action(val_t self, val_t param0) {
33711 struct trace_t trace = {NULL, NULL, 20913, LOCATE_parser___ReduceAction424___action};
33712 val_t variable[8];
33713 void **closurevariable = NULL;
33714 trace.prev = tracehead; tracehead = &trace;
33715 trace.file = LOCATE_parser;
33716 variable[0] = self;
33717 variable[1] = param0;
33718 variable[3] = NIT_NULL /*null*/;
33719 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
33720 variable[4] = variable[5];
33721 variable[5] = variable[4] /*nodearraylist1*/;
33722 variable[6] = TAG_Bool(( variable[5] /*tkwabortnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwabortnode2*/, COLOR_TKwabort, ID_TKwabort)) /*cast TKwabort*/;
33723 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction424___action, LOCATE_parser, 20918); nit_exit(1);}
33724 variable[7] = NEW_AAbortExpr_parser_prod___AAbortExpr___init_aabortexpr( variable[5] /*tkwabortnode2*/); /*new AAbortExpr*/
33725 variable[6] = variable[7];
33726 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
33727 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(28)) /*Parser::go_to*/;
33728 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
33729 return_label880: while(false);
33730 tracehead = trace.prev;
33731 return;
33732 }
33733 void parser___ReduceAction424___init(val_t self, int* init_table) {
33734 struct trace_t trace = {NULL, NULL, 20925, LOCATE_parser___ReduceAction424___init};
33735 val_t variable[2];
33736 void **closurevariable = NULL;
33737 trace.prev = tracehead; tracehead = &trace;
33738 trace.file = LOCATE_parser;
33739 variable[0] = self;
33740 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction424].i]) return;
33741 return_label881: while(false);
33742 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction424].i] = 1;
33743 tracehead = trace.prev;
33744 return;
33745 }
33746 void parser___ReduceAction425___action(val_t self, val_t param0) {
33747 struct trace_t trace = {NULL, NULL, 20929, LOCATE_parser___ReduceAction425___action};
33748 val_t variable[8];
33749 void **closurevariable = NULL;
33750 trace.prev = tracehead; tracehead = &trace;
33751 trace.file = LOCATE_parser;
33752 variable[0] = self;
33753 variable[1] = param0;
33754 variable[3] = NIT_NULL /*null*/;
33755 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
33756 variable[4] = variable[5];
33757 variable[5] = variable[4] /*nodearraylist1*/;
33758 variable[6] = TAG_Bool(( variable[5] /*tkwcontinuenode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwcontinuenode2*/, COLOR_TKwcontinue, ID_TKwcontinue)) /*cast TKwcontinue*/;
33759 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction425___action, LOCATE_parser, 20934); nit_exit(1);}
33760 variable[7] = NEW_AContinueExpr_parser_prod___AContinueExpr___init_acontinueexpr( variable[5] /*tkwcontinuenode2*/, NIT_NULL /*null*/); /*new AContinueExpr*/
33761 variable[6] = variable[7];
33762 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
33763 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(28)) /*Parser::go_to*/;
33764 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
33765 return_label882: while(false);
33766 tracehead = trace.prev;
33767 return;
33768 }
33769 void parser___ReduceAction425___init(val_t self, int* init_table) {
33770 struct trace_t trace = {NULL, NULL, 20942, LOCATE_parser___ReduceAction425___init};
33771 val_t variable[2];
33772 void **closurevariable = NULL;
33773 trace.prev = tracehead; tracehead = &trace;
33774 trace.file = LOCATE_parser;
33775 variable[0] = self;
33776 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction425].i]) return;
33777 return_label883: while(false);
33778 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction425].i] = 1;
33779 tracehead = trace.prev;
33780 return;
33781 }
33782 void parser___ReduceAction426___action(val_t self, val_t param0) {
33783 struct trace_t trace = {NULL, NULL, 20946, LOCATE_parser___ReduceAction426___action};
33784 val_t variable[10];
33785 void **closurevariable = NULL;
33786 trace.prev = tracehead; tracehead = &trace;
33787 trace.file = LOCATE_parser;
33788 variable[0] = self;
33789 variable[1] = param0;
33790 variable[3] = NIT_NULL /*null*/;
33791 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
33792 variable[4] = variable[5];
33793 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
33794 variable[5] = variable[6];
33795 variable[6] = variable[5] /*nodearraylist1*/;
33796 variable[7] = TAG_Bool(( variable[6] /*tkwcontinuenode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tkwcontinuenode2*/, COLOR_TKwcontinue, ID_TKwcontinue)) /*cast TKwcontinue*/;
33797 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction426___action, LOCATE_parser, 20952); nit_exit(1);}
33798 variable[7] = variable[4] /*nodearraylist2*/;
33799 variable[8] = TAG_Bool(( variable[7] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[7] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
33800 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction426___action, LOCATE_parser, 20954); nit_exit(1);}
33801 variable[9] = NEW_AContinueExpr_parser_prod___AContinueExpr___init_acontinueexpr( variable[6] /*tkwcontinuenode2*/, variable[7] /*pexprnode3*/); /*new AContinueExpr*/
33802 variable[8] = variable[9];
33803 variable[3] = variable[8] /*pexprnode1*/ /*node_list=*/;
33804 variable[9] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(28)) /*Parser::go_to*/;
33805 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
33806 return_label884: while(false);
33807 tracehead = trace.prev;
33808 return;
33809 }
33810 void parser___ReduceAction426___init(val_t self, int* init_table) {
33811 struct trace_t trace = {NULL, NULL, 20962, LOCATE_parser___ReduceAction426___init};
33812 val_t variable[2];
33813 void **closurevariable = NULL;
33814 trace.prev = tracehead; tracehead = &trace;
33815 trace.file = LOCATE_parser;
33816 variable[0] = self;
33817 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction426].i]) return;
33818 return_label885: while(false);
33819 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction426].i] = 1;
33820 tracehead = trace.prev;
33821 return;
33822 }
33823 void parser___ReduceAction427___action(val_t self, val_t param0) {
33824 struct trace_t trace = {NULL, NULL, 20966, LOCATE_parser___ReduceAction427___action};
33825 val_t variable[7];
33826 void **closurevariable = NULL;
33827 trace.prev = tracehead; tracehead = &trace;
33828 trace.file = LOCATE_parser;
33829 variable[0] = self;
33830 variable[1] = param0;
33831 variable[3] = NIT_NULL /*null*/;
33832 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
33833 variable[4] = variable[5];
33834 variable[5] = variable[4] /*nodearraylist1*/;
33835 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
33836 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction427___action, LOCATE_parser, 20971); nit_exit(1);}
33837 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
33838 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(28)) /*Parser::go_to*/;
33839 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
33840 return_label886: while(false);
33841 tracehead = trace.prev;
33842 return;
33843 }
33844 void parser___ReduceAction427___init(val_t self, int* init_table) {
33845 struct trace_t trace = {NULL, NULL, 20975, LOCATE_parser___ReduceAction427___init};
33846 val_t variable[2];
33847 void **closurevariable = NULL;
33848 trace.prev = tracehead; tracehead = &trace;
33849 trace.file = LOCATE_parser;
33850 variable[0] = self;
33851 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction427].i]) return;
33852 return_label887: while(false);
33853 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction427].i] = 1;
33854 tracehead = trace.prev;
33855 return;
33856 }
33857 void parser___ReduceAction428___action(val_t self, val_t param0) {
33858 struct trace_t trace = {NULL, NULL, 20979, LOCATE_parser___ReduceAction428___action};
33859 val_t variable[7];
33860 void **closurevariable = NULL;
33861 trace.prev = tracehead; tracehead = &trace;
33862 trace.file = LOCATE_parser;
33863 variable[0] = self;
33864 variable[1] = param0;
33865 variable[3] = NIT_NULL /*null*/;
33866 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
33867 variable[4] = variable[5];
33868 variable[5] = variable[4] /*nodearraylist1*/;
33869 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
33870 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction428___action, LOCATE_parser, 20984); nit_exit(1);}
33871 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
33872 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(28)) /*Parser::go_to*/;
33873 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
33874 return_label888: while(false);
33875 tracehead = trace.prev;
33876 return;
33877 }
33878 void parser___ReduceAction428___init(val_t self, int* init_table) {
33879 struct trace_t trace = {NULL, NULL, 20988, LOCATE_parser___ReduceAction428___init};
33880 val_t variable[2];
33881 void **closurevariable = NULL;
33882 trace.prev = tracehead; tracehead = &trace;
33883 trace.file = LOCATE_parser;
33884 variable[0] = self;
33885 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction428].i]) return;
33886 return_label889: while(false);
33887 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction428].i] = 1;
33888 tracehead = trace.prev;
33889 return;
33890 }
33891 void parser___ReduceAction429___action(val_t self, val_t param0) {
33892 struct trace_t trace = {NULL, NULL, 20992, LOCATE_parser___ReduceAction429___action};
33893 val_t variable[7];
33894 void **closurevariable = NULL;
33895 trace.prev = tracehead; tracehead = &trace;
33896 trace.file = LOCATE_parser;
33897 variable[0] = self;
33898 variable[1] = param0;
33899 variable[3] = NIT_NULL /*null*/;
33900 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
33901 variable[4] = variable[5];
33902 variable[5] = variable[4] /*nodearraylist1*/;
33903 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
33904 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction429___action, LOCATE_parser, 20997); nit_exit(1);}
33905 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
33906 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(28)) /*Parser::go_to*/;
33907 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
33908 return_label890: while(false);
33909 tracehead = trace.prev;
33910 return;
33911 }
33912 void parser___ReduceAction429___init(val_t self, int* init_table) {
33913 struct trace_t trace = {NULL, NULL, 21001, LOCATE_parser___ReduceAction429___init};
33914 val_t variable[2];
33915 void **closurevariable = NULL;
33916 trace.prev = tracehead; tracehead = &trace;
33917 trace.file = LOCATE_parser;
33918 variable[0] = self;
33919 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction429].i]) return;
33920 return_label891: while(false);
33921 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction429].i] = 1;
33922 tracehead = trace.prev;
33923 return;
33924 }
33925 void parser___ReduceAction430___action(val_t self, val_t param0) {
33926 struct trace_t trace = {NULL, NULL, 21005, LOCATE_parser___ReduceAction430___action};
33927 val_t variable[7];
33928 void **closurevariable = NULL;
33929 trace.prev = tracehead; tracehead = &trace;
33930 trace.file = LOCATE_parser;
33931 variable[0] = self;
33932 variable[1] = param0;
33933 variable[3] = NIT_NULL /*null*/;
33934 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
33935 variable[4] = variable[5];
33936 variable[5] = variable[4] /*nodearraylist1*/;
33937 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
33938 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction430___action, LOCATE_parser, 21010); nit_exit(1);}
33939 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
33940 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(28)) /*Parser::go_to*/;
33941 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
33942 return_label892: while(false);
33943 tracehead = trace.prev;
33944 return;
33945 }
33946 void parser___ReduceAction430___init(val_t self, int* init_table) {
33947 struct trace_t trace = {NULL, NULL, 21014, LOCATE_parser___ReduceAction430___init};
33948 val_t variable[2];
33949 void **closurevariable = NULL;
33950 trace.prev = tracehead; tracehead = &trace;
33951 trace.file = LOCATE_parser;
33952 variable[0] = self;
33953 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction430].i]) return;
33954 return_label893: while(false);
33955 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction430].i] = 1;
33956 tracehead = trace.prev;
33957 return;
33958 }
33959 void parser___ReduceAction431___action(val_t self, val_t param0) {
33960 struct trace_t trace = {NULL, NULL, 21018, LOCATE_parser___ReduceAction431___action};
33961 val_t variable[7];
33962 void **closurevariable = NULL;
33963 trace.prev = tracehead; tracehead = &trace;
33964 trace.file = LOCATE_parser;
33965 variable[0] = self;
33966 variable[1] = param0;
33967 variable[3] = NIT_NULL /*null*/;
33968 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
33969 variable[4] = variable[5];
33970 variable[5] = variable[4] /*nodearraylist1*/;
33971 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
33972 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction431___action, LOCATE_parser, 21023); nit_exit(1);}
33973 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
33974 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(28)) /*Parser::go_to*/;
33975 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
33976 return_label894: while(false);
33977 tracehead = trace.prev;
33978 return;
33979 }
33980 void parser___ReduceAction431___init(val_t self, int* init_table) {
33981 struct trace_t trace = {NULL, NULL, 21027, LOCATE_parser___ReduceAction431___init};
33982 val_t variable[2];
33983 void **closurevariable = NULL;
33984 trace.prev = tracehead; tracehead = &trace;
33985 trace.file = LOCATE_parser;
33986 variable[0] = self;
33987 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction431].i]) return;
33988 return_label895: while(false);
33989 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction431].i] = 1;
33990 tracehead = trace.prev;
33991 return;
33992 }
33993 void parser___ReduceAction432___action(val_t self, val_t param0) {
33994 struct trace_t trace = {NULL, NULL, 21031, LOCATE_parser___ReduceAction432___action};
33995 val_t variable[16];
33996 void **closurevariable = NULL;
33997 trace.prev = tracehead; tracehead = &trace;
33998 trace.file = LOCATE_parser;
33999 variable[0] = self;
34000 variable[1] = param0;
34001 variable[3] = NIT_NULL /*null*/;
34002 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34003 variable[4] = variable[5];
34004 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34005 variable[5] = variable[6];
34006 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34007 variable[6] = variable[7];
34008 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34009 variable[7] = variable[8];
34010 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34011 variable[8] = variable[9];
34012 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
34013 variable[9] = variable[10];
34014 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
34015 variable[10] = variable[11];
34016 variable[11] = variable[8] /*nodearraylist1*/;
34017 variable[12] = TAG_Bool(( variable[11] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
34018 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction432___action, LOCATE_parser, 21042); nit_exit(1);}
34019 variable[12] = variable[5] /*nodearraylist4*/;
34020 variable[13] = TAG_Bool(( variable[12] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[12] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
34021 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction432___action, LOCATE_parser, 21044); nit_exit(1);}
34022 variable[13] = variable[4] /*nodearraylist5*/;
34023 variable[14] = TAG_Bool(( variable[13] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[13] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
34024 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction432___action, LOCATE_parser, 21046); nit_exit(1);}
34025 variable[14] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[13] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[13] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[13] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[13] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[13] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[13] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
34026 if (UNTAG_Bool(variable[14])) { /*if*/
34027 variable[14] = ((array___AbstractArray___is_empty_t)CALL( variable[9] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[9] /*listnode5*/) /*AbstractArray::is_empty*/;
34028 if (UNTAG_Bool(variable[14])) { /*if*/
34029 variable[9] = variable[13] /*listnode4*/ /*listnode5=*/;
34030 } else { /*if*/
34031 ((abstract_collection___IndexedCollection___append_t)CALL( variable[9] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[9] /*listnode5*/, variable[13] /*listnode4*/) /*IndexedCollection::append*/;
34032 }
34033 }
34034 variable[15] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[11] /*pexprnode2*/, variable[12] /*tidnode3*/, variable[9] /*listnode5*/, variable[10] /*listnode6*/); /*new ACallExpr*/
34035 variable[14] = variable[15];
34036 variable[3] = variable[14] /*pexprnode1*/ /*node_list=*/;
34037 variable[15] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(28)) /*Parser::go_to*/;
34038 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
34039 return_label896: while(false);
34040 tracehead = trace.prev;
34041 return;
34042 }
34043 void parser___ReduceAction432___init(val_t self, int* init_table) {
34044 struct trace_t trace = {NULL, NULL, 21063, LOCATE_parser___ReduceAction432___init};
34045 val_t variable[2];
34046 void **closurevariable = NULL;
34047 trace.prev = tracehead; tracehead = &trace;
34048 trace.file = LOCATE_parser;
34049 variable[0] = self;
34050 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction432].i]) return;
34051 return_label897: while(false);
34052 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction432].i] = 1;
34053 tracehead = trace.prev;
34054 return;
34055 }
34056 void parser___ReduceAction433___action(val_t self, val_t param0) {
34057 struct trace_t trace = {NULL, NULL, 21067, LOCATE_parser___ReduceAction433___action};
34058 val_t variable[13];
34059 void **closurevariable = NULL;
34060 trace.prev = tracehead; tracehead = &trace;
34061 trace.file = LOCATE_parser;
34062 variable[0] = self;
34063 variable[1] = param0;
34064 variable[3] = NIT_NULL /*null*/;
34065 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34066 variable[4] = variable[5];
34067 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34068 variable[5] = variable[6];
34069 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
34070 variable[6] = variable[7];
34071 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
34072 variable[7] = variable[8];
34073 variable[9] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
34074 variable[8] = variable[9];
34075 variable[9] = variable[5] /*nodearraylist1*/;
34076 variable[10] = TAG_Bool(( variable[9] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
34077 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction433___action, LOCATE_parser, 21077); nit_exit(1);}
34078 variable[10] = variable[4] /*nodearraylist2*/;
34079 variable[11] = TAG_Bool(( variable[10] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
34080 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction433___action, LOCATE_parser, 21079); nit_exit(1);}
34081 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[10] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
34082 if (UNTAG_Bool(variable[11])) { /*if*/
34083 variable[11] = ((array___AbstractArray___is_empty_t)CALL( variable[6] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[6] /*listnode5*/) /*AbstractArray::is_empty*/;
34084 if (UNTAG_Bool(variable[11])) { /*if*/
34085 variable[6] = variable[10] /*listnode4*/ /*listnode5=*/;
34086 } else { /*if*/
34087 ((abstract_collection___IndexedCollection___append_t)CALL( variable[6] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[6] /*listnode5*/, variable[10] /*listnode4*/) /*IndexedCollection::append*/;
34088 }
34089 }
34090 variable[12] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[8] /*pexprnode2*/, variable[9] /*tidnode3*/, variable[6] /*listnode5*/, variable[7] /*listnode6*/); /*new ACallExpr*/
34091 variable[11] = variable[12];
34092 variable[3] = variable[11] /*pexprnode1*/ /*node_list=*/;
34093 variable[12] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(28)) /*Parser::go_to*/;
34094 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
34095 return_label898: while(false);
34096 tracehead = trace.prev;
34097 return;
34098 }
34099 void parser___ReduceAction433___init(val_t self, int* init_table) {
34100 struct trace_t trace = {NULL, NULL, 21096, LOCATE_parser___ReduceAction433___init};
34101 val_t variable[2];
34102 void **closurevariable = NULL;
34103 trace.prev = tracehead; tracehead = &trace;
34104 trace.file = LOCATE_parser;
34105 variable[0] = self;
34106 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction433].i]) return;
34107 return_label899: while(false);
34108 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction433].i] = 1;
34109 tracehead = trace.prev;
34110 return;
34111 }
34112 void parser___ReduceAction434___action(val_t self, val_t param0) {
34113 struct trace_t trace = {NULL, NULL, 21100, LOCATE_parser___ReduceAction434___action};
34114 val_t variable[18];
34115 void **closurevariable = NULL;
34116 trace.prev = tracehead; tracehead = &trace;
34117 trace.file = LOCATE_parser;
34118 variable[0] = self;
34119 variable[1] = param0;
34120 variable[3] = NIT_NULL /*null*/;
34121 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34122 variable[4] = variable[5];
34123 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34124 variable[5] = variable[6];
34125 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34126 variable[6] = variable[7];
34127 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34128 variable[7] = variable[8];
34129 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34130 variable[8] = variable[9];
34131 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34132 variable[9] = variable[10];
34133 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
34134 variable[10] = variable[11];
34135 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
34136 variable[11] = variable[12];
34137 variable[12] = variable[9] /*nodearraylist1*/;
34138 variable[13] = TAG_Bool(( variable[12] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
34139 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction434___action, LOCATE_parser, 21112); nit_exit(1);}
34140 variable[13] = variable[6] /*nodearraylist4*/;
34141 variable[14] = TAG_Bool(( variable[13] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
34142 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction434___action, LOCATE_parser, 21114); nit_exit(1);}
34143 variable[14] = variable[5] /*nodearraylist5*/;
34144 variable[15] = TAG_Bool(( variable[14] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
34145 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction434___action, LOCATE_parser, 21116); nit_exit(1);}
34146 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[14] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[14] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[14] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[14] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
34147 if (UNTAG_Bool(variable[15])) { /*if*/
34148 variable[15] = ((array___AbstractArray___is_empty_t)CALL( variable[10] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[10] /*listnode5*/) /*AbstractArray::is_empty*/;
34149 if (UNTAG_Bool(variable[15])) { /*if*/
34150 variable[10] = variable[14] /*listnode4*/ /*listnode5=*/;
34151 } else { /*if*/
34152 ((abstract_collection___IndexedCollection___append_t)CALL( variable[10] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[10] /*listnode5*/, variable[14] /*listnode4*/) /*IndexedCollection::append*/;
34153 }
34154 }
34155 variable[15] = variable[4] /*nodearraylist6*/;
34156 variable[16] = TAG_Bool(( variable[15] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
34157 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction434___action, LOCATE_parser, 21125); nit_exit(1);}
34158 variable[16] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*listnode6*/ == NIT_NULL /*null*/) || (( variable[15] /*listnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[15] /*listnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*listnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[15] /*listnode6*/,COLOR_kernel___Object_____eqeq))( variable[15] /*listnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
34159 if (UNTAG_Bool(variable[16])) { /*if*/
34160 variable[16] = ((array___AbstractArray___is_empty_t)CALL( variable[11] /*listnode7*/,COLOR_abstract_collection___Collection___is_empty))( variable[11] /*listnode7*/) /*AbstractArray::is_empty*/;
34161 if (UNTAG_Bool(variable[16])) { /*if*/
34162 variable[11] = variable[15] /*listnode6*/ /*listnode7=*/;
34163 } else { /*if*/
34164 ((abstract_collection___IndexedCollection___append_t)CALL( variable[11] /*listnode7*/,COLOR_abstract_collection___IndexedCollection___append))( variable[11] /*listnode7*/, variable[15] /*listnode6*/) /*IndexedCollection::append*/;
34165 }
34166 }
34167 variable[17] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[12] /*pexprnode2*/, variable[13] /*tidnode3*/, variable[10] /*listnode5*/, variable[11] /*listnode7*/); /*new ACallExpr*/
34168 variable[16] = variable[17];
34169 variable[3] = variable[16] /*pexprnode1*/ /*node_list=*/;
34170 variable[17] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(28)) /*Parser::go_to*/;
34171 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
34172 return_label900: while(false);
34173 tracehead = trace.prev;
34174 return;
34175 }
34176 void parser___ReduceAction434___init(val_t self, int* init_table) {
34177 struct trace_t trace = {NULL, NULL, 21142, LOCATE_parser___ReduceAction434___init};
34178 val_t variable[2];
34179 void **closurevariable = NULL;
34180 trace.prev = tracehead; tracehead = &trace;
34181 trace.file = LOCATE_parser;
34182 variable[0] = self;
34183 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction434].i]) return;
34184 return_label901: while(false);
34185 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction434].i] = 1;
34186 tracehead = trace.prev;
34187 return;
34188 }
34189 void parser___ReduceAction435___action(val_t self, val_t param0) {
34190 struct trace_t trace = {NULL, NULL, 21146, LOCATE_parser___ReduceAction435___action};
34191 val_t variable[15];
34192 void **closurevariable = NULL;
34193 trace.prev = tracehead; tracehead = &trace;
34194 trace.file = LOCATE_parser;
34195 variable[0] = self;
34196 variable[1] = param0;
34197 variable[3] = NIT_NULL /*null*/;
34198 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34199 variable[4] = variable[5];
34200 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34201 variable[5] = variable[6];
34202 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34203 variable[6] = variable[7];
34204 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
34205 variable[7] = variable[8];
34206 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
34207 variable[8] = variable[9];
34208 variable[10] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
34209 variable[9] = variable[10];
34210 variable[10] = variable[6] /*nodearraylist1*/;
34211 variable[11] = TAG_Bool(( variable[10] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
34212 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction435___action, LOCATE_parser, 21157); nit_exit(1);}
34213 variable[11] = variable[5] /*nodearraylist2*/;
34214 variable[12] = TAG_Bool(( variable[11] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
34215 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction435___action, LOCATE_parser, 21159); nit_exit(1);}
34216 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[11] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
34217 if (UNTAG_Bool(variable[12])) { /*if*/
34218 variable[12] = ((array___AbstractArray___is_empty_t)CALL( variable[7] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[7] /*listnode5*/) /*AbstractArray::is_empty*/;
34219 if (UNTAG_Bool(variable[12])) { /*if*/
34220 variable[7] = variable[11] /*listnode4*/ /*listnode5=*/;
34221 } else { /*if*/
34222 ((abstract_collection___IndexedCollection___append_t)CALL( variable[7] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[7] /*listnode5*/, variable[11] /*listnode4*/) /*IndexedCollection::append*/;
34223 }
34224 }
34225 variable[12] = variable[4] /*nodearraylist3*/;
34226 variable[13] = TAG_Bool(( variable[12] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
34227 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction435___action, LOCATE_parser, 21168); nit_exit(1);}
34228 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode6*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode6*/,COLOR_kernel___Object_____eqeq))( variable[12] /*listnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
34229 if (UNTAG_Bool(variable[13])) { /*if*/
34230 variable[13] = ((array___AbstractArray___is_empty_t)CALL( variable[8] /*listnode7*/,COLOR_abstract_collection___Collection___is_empty))( variable[8] /*listnode7*/) /*AbstractArray::is_empty*/;
34231 if (UNTAG_Bool(variable[13])) { /*if*/
34232 variable[8] = variable[12] /*listnode6*/ /*listnode7=*/;
34233 } else { /*if*/
34234 ((abstract_collection___IndexedCollection___append_t)CALL( variable[8] /*listnode7*/,COLOR_abstract_collection___IndexedCollection___append))( variable[8] /*listnode7*/, variable[12] /*listnode6*/) /*IndexedCollection::append*/;
34235 }
34236 }
34237 variable[14] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[9] /*pexprnode2*/, variable[10] /*tidnode3*/, variable[7] /*listnode5*/, variable[8] /*listnode7*/); /*new ACallExpr*/
34238 variable[13] = variable[14];
34239 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
34240 variable[14] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(28)) /*Parser::go_to*/;
34241 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
34242 return_label902: while(false);
34243 tracehead = trace.prev;
34244 return;
34245 }
34246 void parser___ReduceAction435___init(val_t self, int* init_table) {
34247 struct trace_t trace = {NULL, NULL, 21185, LOCATE_parser___ReduceAction435___init};
34248 val_t variable[2];
34249 void **closurevariable = NULL;
34250 trace.prev = tracehead; tracehead = &trace;
34251 trace.file = LOCATE_parser;
34252 variable[0] = self;
34253 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction435].i]) return;
34254 return_label903: while(false);
34255 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction435].i] = 1;
34256 tracehead = trace.prev;
34257 return;
34258 }
34259 void parser___ReduceAction436___action(val_t self, val_t param0) {
34260 struct trace_t trace = {NULL, NULL, 21189, LOCATE_parser___ReduceAction436___action};
34261 val_t variable[11];
34262 void **closurevariable = NULL;
34263 trace.prev = tracehead; tracehead = &trace;
34264 trace.file = LOCATE_parser;
34265 variable[0] = self;
34266 variable[1] = param0;
34267 variable[3] = NIT_NULL /*null*/;
34268 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34269 variable[4] = variable[5];
34270 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34271 variable[5] = variable[6];
34272 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
34273 variable[6] = variable[7];
34274 variable[7] = variable[5] /*nodearraylist1*/;
34275 variable[8] = TAG_Bool(( variable[7] /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable[7] /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
34276 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction436___action, LOCATE_parser, 21196); nit_exit(1);}
34277 variable[8] = variable[4] /*nodearraylist2*/;
34278 variable[9] = TAG_Bool(( variable[8] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[8] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
34279 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction436___action, LOCATE_parser, 21198); nit_exit(1);}
34280 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[8] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[8] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[8] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[8] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
34281 if (UNTAG_Bool(variable[9])) { /*if*/
34282 variable[9] = ((array___AbstractArray___is_empty_t)CALL( variable[6] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[6] /*listnode5*/) /*AbstractArray::is_empty*/;
34283 if (UNTAG_Bool(variable[9])) { /*if*/
34284 variable[6] = variable[8] /*listnode4*/ /*listnode5=*/;
34285 } else { /*if*/
34286 ((abstract_collection___IndexedCollection___append_t)CALL( variable[6] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[6] /*listnode5*/, variable[8] /*listnode4*/) /*IndexedCollection::append*/;
34287 }
34288 }
34289 variable[10] = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr( NIT_NULL /*null*/, variable[7] /*tkwsupernode3*/, variable[6] /*listnode5*/); /*new ASuperExpr*/
34290 variable[9] = variable[10];
34291 variable[3] = variable[9] /*pexprnode1*/ /*node_list=*/;
34292 variable[10] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(28)) /*Parser::go_to*/;
34293 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
34294 return_label904: while(false);
34295 tracehead = trace.prev;
34296 return;
34297 }
34298 void parser___ReduceAction436___init(val_t self, int* init_table) {
34299 struct trace_t trace = {NULL, NULL, 21214, LOCATE_parser___ReduceAction436___init};
34300 val_t variable[2];
34301 void **closurevariable = NULL;
34302 trace.prev = tracehead; tracehead = &trace;
34303 trace.file = LOCATE_parser;
34304 variable[0] = self;
34305 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction436].i]) return;
34306 return_label905: while(false);
34307 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction436].i] = 1;
34308 tracehead = trace.prev;
34309 return;
34310 }
34311 void parser___ReduceAction437___action(val_t self, val_t param0) {
34312 struct trace_t trace = {NULL, NULL, 21218, LOCATE_parser___ReduceAction437___action};
34313 val_t variable[13];
34314 void **closurevariable = NULL;
34315 trace.prev = tracehead; tracehead = &trace;
34316 trace.file = LOCATE_parser;
34317 variable[0] = self;
34318 variable[1] = param0;
34319 variable[3] = NIT_NULL /*null*/;
34320 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34321 variable[4] = variable[5];
34322 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34323 variable[5] = variable[6];
34324 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34325 variable[6] = variable[7];
34326 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
34327 variable[7] = variable[8];
34328 variable[8] = variable[6] /*nodearraylist1*/;
34329 variable[9] = TAG_Bool(( variable[8] /*pqualifiednode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pqualifiednode2*/, COLOR_PQualified, ID_PQualified)) /*cast PQualified*/;
34330 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction437___action, LOCATE_parser, 21226); nit_exit(1);}
34331 variable[9] = variable[5] /*nodearraylist2*/;
34332 variable[10] = TAG_Bool(( variable[9] /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
34333 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction437___action, LOCATE_parser, 21228); nit_exit(1);}
34334 variable[10] = variable[4] /*nodearraylist3*/;
34335 variable[11] = TAG_Bool(( variable[10] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
34336 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction437___action, LOCATE_parser, 21230); nit_exit(1);}
34337 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[10] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
34338 if (UNTAG_Bool(variable[11])) { /*if*/
34339 variable[11] = ((array___AbstractArray___is_empty_t)CALL( variable[7] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[7] /*listnode5*/) /*AbstractArray::is_empty*/;
34340 if (UNTAG_Bool(variable[11])) { /*if*/
34341 variable[7] = variable[10] /*listnode4*/ /*listnode5=*/;
34342 } else { /*if*/
34343 ((abstract_collection___IndexedCollection___append_t)CALL( variable[7] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[7] /*listnode5*/, variable[10] /*listnode4*/) /*IndexedCollection::append*/;
34344 }
34345 }
34346 variable[12] = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr( variable[8] /*pqualifiednode2*/, variable[9] /*tkwsupernode3*/, variable[7] /*listnode5*/); /*new ASuperExpr*/
34347 variable[11] = variable[12];
34348 variable[3] = variable[11] /*pexprnode1*/ /*node_list=*/;
34349 variable[12] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(28)) /*Parser::go_to*/;
34350 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
34351 return_label906: while(false);
34352 tracehead = trace.prev;
34353 return;
34354 }
34355 void parser___ReduceAction437___init(val_t self, int* init_table) {
34356 struct trace_t trace = {NULL, NULL, 21246, LOCATE_parser___ReduceAction437___init};
34357 val_t variable[2];
34358 void **closurevariable = NULL;
34359 trace.prev = tracehead; tracehead = &trace;
34360 trace.file = LOCATE_parser;
34361 variable[0] = self;
34362 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction437].i]) return;
34363 return_label907: while(false);
34364 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction437].i] = 1;
34365 tracehead = trace.prev;
34366 return;
34367 }
34368 void parser___ReduceAction438___action(val_t self, val_t param0) {
34369 struct trace_t trace = {NULL, NULL, 21250, LOCATE_parser___ReduceAction438___action};
34370 val_t variable[15];
34371 void **closurevariable = NULL;
34372 trace.prev = tracehead; tracehead = &trace;
34373 trace.file = LOCATE_parser;
34374 variable[0] = self;
34375 variable[1] = param0;
34376 variable[3] = NIT_NULL /*null*/;
34377 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34378 variable[4] = variable[5];
34379 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34380 variable[5] = variable[6];
34381 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34382 variable[6] = variable[7];
34383 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34384 variable[7] = variable[8];
34385 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34386 variable[8] = variable[9];
34387 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
34388 variable[9] = variable[10];
34389 variable[10] = variable[8] /*nodearraylist1*/;
34390 variable[11] = TAG_Bool(( variable[10] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
34391 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction438___action, LOCATE_parser, 21260); nit_exit(1);}
34392 variable[11] = variable[5] /*nodearraylist4*/;
34393 variable[12] = TAG_Bool(( variable[11] /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
34394 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction438___action, LOCATE_parser, 21262); nit_exit(1);}
34395 variable[12] = variable[4] /*nodearraylist5*/;
34396 variable[13] = TAG_Bool(( variable[12] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
34397 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction438___action, LOCATE_parser, 21264); nit_exit(1);}
34398 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[12] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
34399 if (UNTAG_Bool(variable[13])) { /*if*/
34400 variable[13] = ((array___AbstractArray___is_empty_t)CALL( variable[9] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[9] /*listnode5*/) /*AbstractArray::is_empty*/;
34401 if (UNTAG_Bool(variable[13])) { /*if*/
34402 variable[9] = variable[12] /*listnode4*/ /*listnode5=*/;
34403 } else { /*if*/
34404 ((abstract_collection___IndexedCollection___append_t)CALL( variable[9] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[9] /*listnode5*/, variable[12] /*listnode4*/) /*IndexedCollection::append*/;
34405 }
34406 }
34407 variable[14] = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr( variable[10] /*pexprnode2*/, variable[11] /*tkwinitnode3*/, variable[9] /*listnode5*/); /*new AInitExpr*/
34408 variable[13] = variable[14];
34409 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
34410 variable[14] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(28)) /*Parser::go_to*/;
34411 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
34412 return_label908: while(false);
34413 tracehead = trace.prev;
34414 return;
34415 }
34416 void parser___ReduceAction438___init(val_t self, int* init_table) {
34417 struct trace_t trace = {NULL, NULL, 21280, LOCATE_parser___ReduceAction438___init};
34418 val_t variable[2];
34419 void **closurevariable = NULL;
34420 trace.prev = tracehead; tracehead = &trace;
34421 trace.file = LOCATE_parser;
34422 variable[0] = self;
34423 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction438].i]) return;
34424 return_label909: while(false);
34425 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction438].i] = 1;
34426 tracehead = trace.prev;
34427 return;
34428 }
34429 void parser___ReduceAction439___action(val_t self, val_t param0) {
34430 struct trace_t trace = {NULL, NULL, 21284, LOCATE_parser___ReduceAction439___action};
34431 val_t variable[12];
34432 void **closurevariable = NULL;
34433 trace.prev = tracehead; tracehead = &trace;
34434 trace.file = LOCATE_parser;
34435 variable[0] = self;
34436 variable[1] = param0;
34437 variable[3] = NIT_NULL /*null*/;
34438 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34439 variable[4] = variable[5];
34440 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34441 variable[5] = variable[6];
34442 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
34443 variable[6] = variable[7];
34444 variable[8] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
34445 variable[7] = variable[8];
34446 variable[8] = variable[5] /*nodearraylist1*/;
34447 variable[9] = TAG_Bool(( variable[8] /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
34448 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction439___action, LOCATE_parser, 21293); nit_exit(1);}
34449 variable[9] = variable[4] /*nodearraylist2*/;
34450 variable[10] = TAG_Bool(( variable[9] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[9] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
34451 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction439___action, LOCATE_parser, 21295); nit_exit(1);}
34452 variable[10] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[9] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[9] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[9] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[9] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[9] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[9] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
34453 if (UNTAG_Bool(variable[10])) { /*if*/
34454 variable[10] = ((array___AbstractArray___is_empty_t)CALL( variable[6] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[6] /*listnode5*/) /*AbstractArray::is_empty*/;
34455 if (UNTAG_Bool(variable[10])) { /*if*/
34456 variable[6] = variable[9] /*listnode4*/ /*listnode5=*/;
34457 } else { /*if*/
34458 ((abstract_collection___IndexedCollection___append_t)CALL( variable[6] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[6] /*listnode5*/, variable[9] /*listnode4*/) /*IndexedCollection::append*/;
34459 }
34460 }
34461 variable[11] = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr( variable[7] /*pexprnode2*/, variable[8] /*tkwinitnode3*/, variable[6] /*listnode5*/); /*new AInitExpr*/
34462 variable[10] = variable[11];
34463 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
34464 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(28)) /*Parser::go_to*/;
34465 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
34466 return_label910: while(false);
34467 tracehead = trace.prev;
34468 return;
34469 }
34470 void parser___ReduceAction439___init(val_t self, int* init_table) {
34471 struct trace_t trace = {NULL, NULL, 21311, LOCATE_parser___ReduceAction439___init};
34472 val_t variable[2];
34473 void **closurevariable = NULL;
34474 trace.prev = tracehead; tracehead = &trace;
34475 trace.file = LOCATE_parser;
34476 variable[0] = self;
34477 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction439].i]) return;
34478 return_label911: while(false);
34479 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction439].i] = 1;
34480 tracehead = trace.prev;
34481 return;
34482 }
34483 void parser___ReduceAction440___action(val_t self, val_t param0) {
34484 struct trace_t trace = {NULL, NULL, 21315, LOCATE_parser___ReduceAction440___action};
34485 val_t variable[8];
34486 void **closurevariable = NULL;
34487 trace.prev = tracehead; tracehead = &trace;
34488 trace.file = LOCATE_parser;
34489 variable[0] = self;
34490 variable[1] = param0;
34491 variable[3] = NIT_NULL /*null*/;
34492 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34493 variable[4] = variable[5];
34494 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
34495 variable[5] = variable[6];
34496 variable[6] = variable[4] /*nodearraylist1*/;
34497 variable[7] = TAG_Bool(( variable[6] /*pclosuredefnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*pclosuredefnode1*/, COLOR_PClosureDef, ID_PClosureDef)) /*cast PClosureDef*/;
34498 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction440___action, LOCATE_parser, 21321); nit_exit(1);}
34499 variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[6] /*pclosuredefnode1*/ == NIT_NULL /*null*/) || (( variable[6] /*pclosuredefnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[6] /*pclosuredefnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*pclosuredefnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[6] /*pclosuredefnode1*/,COLOR_kernel___Object_____eqeq))( variable[6] /*pclosuredefnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
34500 if (UNTAG_Bool(variable[7])) { /*if*/
34501 ((array___AbstractArray___add_t)CALL( variable[5] /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable[5] /*listnode2*/, variable[6] /*pclosuredefnode1*/) /*AbstractArray::add*/;
34502 }
34503 variable[3] = variable[5] /*listnode2*/ /*node_list=*/;
34504 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(29)) /*Parser::go_to*/;
34505 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
34506 return_label912: while(false);
34507 tracehead = trace.prev;
34508 return;
34509 }
34510 void parser___ReduceAction440___init(val_t self, int* init_table) {
34511 struct trace_t trace = {NULL, NULL, 21328, LOCATE_parser___ReduceAction440___init};
34512 val_t variable[2];
34513 void **closurevariable = NULL;
34514 trace.prev = tracehead; tracehead = &trace;
34515 trace.file = LOCATE_parser;
34516 variable[0] = self;
34517 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction440].i]) return;
34518 return_label913: while(false);
34519 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction440].i] = 1;
34520 tracehead = trace.prev;
34521 return;
34522 }
34523 void parser___ReduceAction441___action(val_t self, val_t param0) {
34524 struct trace_t trace = {NULL, NULL, 21332, LOCATE_parser___ReduceAction441___action};
34525 val_t variable[10];
34526 void **closurevariable = NULL;
34527 trace.prev = tracehead; tracehead = &trace;
34528 trace.file = LOCATE_parser;
34529 variable[0] = self;
34530 variable[1] = param0;
34531 variable[3] = NIT_NULL /*null*/;
34532 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34533 variable[4] = variable[5];
34534 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34535 variable[5] = variable[6];
34536 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
34537 variable[6] = variable[7];
34538 variable[7] = variable[5] /*nodearraylist1*/;
34539 variable[8] = TAG_Bool(( variable[7] /*pclosuredefnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*pclosuredefnode1*/, COLOR_PClosureDef, ID_PClosureDef)) /*cast PClosureDef*/;
34540 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction441___action, LOCATE_parser, 21339); nit_exit(1);}
34541 variable[8] = variable[4] /*nodearraylist2*/;
34542 variable[9] = TAG_Bool(( variable[8] /*listnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
34543 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction441___action, LOCATE_parser, 21341); nit_exit(1);}
34544 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[7] /*pclosuredefnode1*/ == NIT_NULL /*null*/) || (( variable[7] /*pclosuredefnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[7] /*pclosuredefnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[7] /*pclosuredefnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[7] /*pclosuredefnode1*/,COLOR_kernel___Object_____eqeq))( variable[7] /*pclosuredefnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
34545 if (UNTAG_Bool(variable[9])) { /*if*/
34546 ((array___AbstractArray___add_t)CALL( variable[6] /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable[6] /*listnode3*/, variable[7] /*pclosuredefnode1*/) /*AbstractArray::add*/;
34547 }
34548 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*listnode2*/ == NIT_NULL /*null*/) || (( variable[8] /*listnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[8] /*listnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*listnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[8] /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable[8] /*listnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
34549 if (UNTAG_Bool(variable[9])) { /*if*/
34550 variable[9] = ((array___AbstractArray___is_empty_t)CALL( variable[6] /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable[6] /*listnode3*/) /*AbstractArray::is_empty*/;
34551 if (UNTAG_Bool(variable[9])) { /*if*/
34552 variable[6] = variable[8] /*listnode2*/ /*listnode3=*/;
34553 } else { /*if*/
34554 ((abstract_collection___IndexedCollection___append_t)CALL( variable[6] /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable[6] /*listnode3*/, variable[8] /*listnode2*/) /*IndexedCollection::append*/;
34555 }
34556 }
34557 variable[3] = variable[6] /*listnode3*/ /*node_list=*/;
34558 variable[9] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(29)) /*Parser::go_to*/;
34559 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
34560 return_label914: while(false);
34561 tracehead = trace.prev;
34562 return;
34563 }
34564 void parser___ReduceAction441___init(val_t self, int* init_table) {
34565 struct trace_t trace = {NULL, NULL, 21355, LOCATE_parser___ReduceAction441___init};
34566 val_t variable[2];
34567 void **closurevariable = NULL;
34568 trace.prev = tracehead; tracehead = &trace;
34569 trace.file = LOCATE_parser;
34570 variable[0] = self;
34571 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction441].i]) return;
34572 return_label915: while(false);
34573 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction441].i] = 1;
34574 tracehead = trace.prev;
34575 return;
34576 }
34577 void parser___ReduceAction442___action(val_t self, val_t param0) {
34578 struct trace_t trace = {NULL, NULL, 21359, LOCATE_parser___ReduceAction442___action};
34579 val_t variable[13];
34580 void **closurevariable = NULL;
34581 trace.prev = tracehead; tracehead = &trace;
34582 trace.file = LOCATE_parser;
34583 variable[0] = self;
34584 variable[1] = param0;
34585 variable[3] = NIT_NULL /*null*/;
34586 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34587 variable[4] = variable[5];
34588 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34589 variable[5] = variable[6];
34590 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34591 variable[6] = variable[7];
34592 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
34593 variable[7] = variable[8];
34594 variable[8] = variable[6] /*nodearraylist1*/;
34595 variable[9] = TAG_Bool(( variable[8] /*tkwwithnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*tkwwithnode2*/, COLOR_TKwwith, ID_TKwwith)) /*cast TKwwith*/;
34596 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction442___action, LOCATE_parser, 21367); nit_exit(1);}
34597 variable[9] = variable[5] /*nodearraylist2*/;
34598 variable[10] = TAG_Bool(( variable[9] /*tkwdonode4*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwdonode4*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
34599 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction442___action, LOCATE_parser, 21369); nit_exit(1);}
34600 variable[10] = variable[4] /*nodearraylist3*/;
34601 variable[11] = TAG_Bool(( variable[10] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
34602 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction442___action, LOCATE_parser, 21371); nit_exit(1);}
34603 variable[12] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef( variable[8] /*tkwwithnode2*/, variable[7] /*listnode3*/, variable[9] /*tkwdonode4*/, variable[10] /*pexprnode5*/); /*new AClosureDef*/
34604 variable[11] = variable[12];
34605 variable[3] = variable[11] /*pclosuredefnode1*/ /*node_list=*/;
34606 variable[12] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(30)) /*Parser::go_to*/;
34607 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
34608 return_label916: while(false);
34609 tracehead = trace.prev;
34610 return;
34611 }
34612 void parser___ReduceAction442___init(val_t self, int* init_table) {
34613 struct trace_t trace = {NULL, NULL, 21381, LOCATE_parser___ReduceAction442___init};
34614 val_t variable[2];
34615 void **closurevariable = NULL;
34616 trace.prev = tracehead; tracehead = &trace;
34617 trace.file = LOCATE_parser;
34618 variable[0] = self;
34619 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction442].i]) return;
34620 return_label917: while(false);
34621 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction442].i] = 1;
34622 tracehead = trace.prev;
34623 return;
34624 }
34625 void parser___ReduceAction443___action(val_t self, val_t param0) {
34626 struct trace_t trace = {NULL, NULL, 21385, LOCATE_parser___ReduceAction443___action};
34627 val_t variable[15];
34628 void **closurevariable = NULL;
34629 trace.prev = tracehead; tracehead = &trace;
34630 trace.file = LOCATE_parser;
34631 variable[0] = self;
34632 variable[1] = param0;
34633 variable[3] = NIT_NULL /*null*/;
34634 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34635 variable[4] = variable[5];
34636 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34637 variable[5] = variable[6];
34638 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34639 variable[6] = variable[7];
34640 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34641 variable[7] = variable[8];
34642 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
34643 variable[8] = variable[9];
34644 variable[9] = variable[7] /*nodearraylist1*/;
34645 variable[10] = TAG_Bool(( variable[9] /*tkwwithnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwwithnode2*/, COLOR_TKwwith, ID_TKwwith)) /*cast TKwwith*/;
34646 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction443___action, LOCATE_parser, 21394); nit_exit(1);}
34647 variable[10] = variable[6] /*nodearraylist2*/;
34648 variable[11] = TAG_Bool(( variable[10] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
34649 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction443___action, LOCATE_parser, 21396); nit_exit(1);}
34650 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable[10] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
34651 if (UNTAG_Bool(variable[11])) { /*if*/
34652 variable[11] = ((array___AbstractArray___is_empty_t)CALL( variable[8] /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable[8] /*listnode4*/) /*AbstractArray::is_empty*/;
34653 if (UNTAG_Bool(variable[11])) { /*if*/
34654 variable[8] = variable[10] /*listnode3*/ /*listnode4=*/;
34655 } else { /*if*/
34656 ((abstract_collection___IndexedCollection___append_t)CALL( variable[8] /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable[8] /*listnode4*/, variable[10] /*listnode3*/) /*IndexedCollection::append*/;
34657 }
34658 }
34659 variable[11] = variable[5] /*nodearraylist3*/;
34660 variable[12] = TAG_Bool(( variable[11] /*tkwdonode5*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwdonode5*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
34661 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction443___action, LOCATE_parser, 21405); nit_exit(1);}
34662 variable[12] = variable[4] /*nodearraylist4*/;
34663 variable[13] = TAG_Bool(( variable[12] /*pexprnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode6*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
34664 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction443___action, LOCATE_parser, 21407); nit_exit(1);}
34665 variable[14] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef( variable[9] /*tkwwithnode2*/, variable[8] /*listnode4*/, variable[11] /*tkwdonode5*/, variable[12] /*pexprnode6*/); /*new AClosureDef*/
34666 variable[13] = variable[14];
34667 variable[3] = variable[13] /*pclosuredefnode1*/ /*node_list=*/;
34668 variable[14] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(30)) /*Parser::go_to*/;
34669 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
34670 return_label918: while(false);
34671 tracehead = trace.prev;
34672 return;
34673 }
34674 void parser___ReduceAction443___init(val_t self, int* init_table) {
34675 struct trace_t trace = {NULL, NULL, 21417, LOCATE_parser___ReduceAction443___init};
34676 val_t variable[2];
34677 void **closurevariable = NULL;
34678 trace.prev = tracehead; tracehead = &trace;
34679 trace.file = LOCATE_parser;
34680 variable[0] = self;
34681 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction443].i]) return;
34682 return_label919: while(false);
34683 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction443].i] = 1;
34684 tracehead = trace.prev;
34685 return;
34686 }
34687 void parser___ReduceAction444___action(val_t self, val_t param0) {
34688 struct trace_t trace = {NULL, NULL, 21421, LOCATE_parser___ReduceAction444___action};
34689 val_t variable[17];
34690 void **closurevariable = NULL;
34691 trace.prev = tracehead; tracehead = &trace;
34692 trace.file = LOCATE_parser;
34693 variable[0] = self;
34694 variable[1] = param0;
34695 variable[3] = NIT_NULL /*null*/;
34696 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34697 variable[4] = variable[5];
34698 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34699 variable[5] = variable[6];
34700 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34701 variable[6] = variable[7];
34702 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34703 variable[7] = variable[8];
34704 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34705 variable[8] = variable[9];
34706 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
34707 variable[9] = variable[10];
34708 variable[10] = variable[8] /*nodearraylist1*/;
34709 variable[11] = TAG_Bool(( variable[10] /*tkwwithnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*tkwwithnode2*/, COLOR_TKwwith, ID_TKwwith)) /*cast TKwwith*/;
34710 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction444___action, LOCATE_parser, 21431); nit_exit(1);}
34711 variable[11] = variable[7] /*nodearraylist2*/;
34712 variable[12] = TAG_Bool(( variable[11] /*tkwdonode4*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwdonode4*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
34713 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction444___action, LOCATE_parser, 21433); nit_exit(1);}
34714 variable[13] = NEW_Array_array___Array___init(); /*new Array[Object]*/
34715 variable[12] = variable[13];
34716 variable[13] = variable[5] /*nodearraylist4*/;
34717 variable[14] = TAG_Bool(( variable[13] /*pexprnode6*/==NIT_NULL) || VAL_ISA( variable[13] /*pexprnode6*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
34718 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction444___action, LOCATE_parser, 21436); nit_exit(1);}
34719 variable[14] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[13] /*pexprnode6*/ == NIT_NULL /*null*/) || (( variable[13] /*pexprnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[13] /*pexprnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[13] /*pexprnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[13] /*pexprnode6*/,COLOR_kernel___Object_____eqeq))( variable[13] /*pexprnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
34720 if (UNTAG_Bool(variable[14])) { /*if*/
34721 ((array___AbstractArray___add_t)CALL( variable[12] /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable[12] /*listnode7*/, variable[13] /*pexprnode6*/) /*AbstractArray::add*/;
34722 }
34723 variable[15] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr( variable[12] /*listnode7*/); /*new ABlockExpr*/
34724 variable[14] = variable[15];
34725 variable[16] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef( variable[10] /*tkwwithnode2*/, variable[9] /*listnode3*/, variable[11] /*tkwdonode4*/, variable[14] /*pexprnode5*/); /*new AClosureDef*/
34726 variable[15] = variable[16];
34727 variable[3] = variable[15] /*pclosuredefnode1*/ /*node_list=*/;
34728 variable[16] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(31)) /*Parser::go_to*/;
34729 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[16], variable[3] /*node_list*/) /*Parser::push*/;
34730 return_label920: while(false);
34731 tracehead = trace.prev;
34732 return;
34733 }
34734 void parser___ReduceAction444___init(val_t self, int* init_table) {
34735 struct trace_t trace = {NULL, NULL, 21452, LOCATE_parser___ReduceAction444___init};
34736 val_t variable[2];
34737 void **closurevariable = NULL;
34738 trace.prev = tracehead; tracehead = &trace;
34739 trace.file = LOCATE_parser;
34740 variable[0] = self;
34741 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction444].i]) return;
34742 return_label921: while(false);
34743 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction444].i] = 1;
34744 tracehead = trace.prev;
34745 return;
34746 }
34747 void parser___ReduceAction445___action(val_t self, val_t param0) {
34748 struct trace_t trace = {NULL, NULL, 21456, LOCATE_parser___ReduceAction445___action};
34749 val_t variable[19];
34750 void **closurevariable = NULL;
34751 trace.prev = tracehead; tracehead = &trace;
34752 trace.file = LOCATE_parser;
34753 variable[0] = self;
34754 variable[1] = param0;
34755 variable[3] = NIT_NULL /*null*/;
34756 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34757 variable[4] = variable[5];
34758 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34759 variable[5] = variable[6];
34760 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34761 variable[6] = variable[7];
34762 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34763 variable[7] = variable[8];
34764 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34765 variable[8] = variable[9];
34766 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34767 variable[9] = variable[10];
34768 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
34769 variable[10] = variable[11];
34770 variable[11] = variable[9] /*nodearraylist1*/;
34771 variable[12] = TAG_Bool(( variable[11] /*tkwwithnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwwithnode2*/, COLOR_TKwwith, ID_TKwwith)) /*cast TKwwith*/;
34772 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction445___action, LOCATE_parser, 21467); nit_exit(1);}
34773 variable[12] = variable[8] /*nodearraylist2*/;
34774 variable[13] = TAG_Bool(( variable[12] /*tkwdonode4*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwdonode4*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
34775 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction445___action, LOCATE_parser, 21469); nit_exit(1);}
34776 variable[14] = NEW_Array_array___Array___init(); /*new Array[Object]*/
34777 variable[13] = variable[14];
34778 variable[14] = variable[6] /*nodearraylist4*/;
34779 variable[15] = TAG_Bool(( variable[14] /*pexprnode6*/==NIT_NULL) || VAL_ISA( variable[14] /*pexprnode6*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
34780 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction445___action, LOCATE_parser, 21472); nit_exit(1);}
34781 variable[15] = variable[5] /*nodearraylist5*/;
34782 variable[16] = TAG_Bool(( variable[15] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[15] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
34783 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction445___action, LOCATE_parser, 21474); nit_exit(1);}
34784 variable[16] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*pexprnode6*/ == NIT_NULL /*null*/) || (( variable[14] /*pexprnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[14] /*pexprnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*pexprnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[14] /*pexprnode6*/,COLOR_kernel___Object_____eqeq))( variable[14] /*pexprnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
34785 if (UNTAG_Bool(variable[16])) { /*if*/
34786 ((array___AbstractArray___add_t)CALL( variable[13] /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable[13] /*listnode8*/, variable[14] /*pexprnode6*/) /*AbstractArray::add*/;
34787 }
34788 variable[16] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*listnode7*/ == NIT_NULL /*null*/) || (( variable[15] /*listnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[15] /*listnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*listnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[15] /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable[15] /*listnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
34789 if (UNTAG_Bool(variable[16])) { /*if*/
34790 variable[16] = ((array___AbstractArray___is_empty_t)CALL( variable[13] /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable[13] /*listnode8*/) /*AbstractArray::is_empty*/;
34791 if (UNTAG_Bool(variable[16])) { /*if*/
34792 variable[13] = variable[15] /*listnode7*/ /*listnode8=*/;
34793 } else { /*if*/
34794 ((abstract_collection___IndexedCollection___append_t)CALL( variable[13] /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable[13] /*listnode8*/, variable[15] /*listnode7*/) /*IndexedCollection::append*/;
34795 }
34796 }
34797 variable[17] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr( variable[13] /*listnode8*/); /*new ABlockExpr*/
34798 variable[16] = variable[17];
34799 variable[18] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef( variable[11] /*tkwwithnode2*/, variable[10] /*listnode3*/, variable[12] /*tkwdonode4*/, variable[16] /*pexprnode5*/); /*new AClosureDef*/
34800 variable[17] = variable[18];
34801 variable[3] = variable[17] /*pclosuredefnode1*/ /*node_list=*/;
34802 variable[18] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(31)) /*Parser::go_to*/;
34803 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
34804 return_label922: while(false);
34805 tracehead = trace.prev;
34806 return;
34807 }
34808 void parser___ReduceAction445___init(val_t self, int* init_table) {
34809 struct trace_t trace = {NULL, NULL, 21497, LOCATE_parser___ReduceAction445___init};
34810 val_t variable[2];
34811 void **closurevariable = NULL;
34812 trace.prev = tracehead; tracehead = &trace;
34813 trace.file = LOCATE_parser;
34814 variable[0] = self;
34815 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction445].i]) return;
34816 return_label923: while(false);
34817 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction445].i] = 1;
34818 tracehead = trace.prev;
34819 return;
34820 }
34821 void parser___ReduceAction446___action(val_t self, val_t param0) {
34822 struct trace_t trace = {NULL, NULL, 21501, LOCATE_parser___ReduceAction446___action};
34823 val_t variable[19];
34824 void **closurevariable = NULL;
34825 trace.prev = tracehead; tracehead = &trace;
34826 trace.file = LOCATE_parser;
34827 variable[0] = self;
34828 variable[1] = param0;
34829 variable[3] = NIT_NULL /*null*/;
34830 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34831 variable[4] = variable[5];
34832 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34833 variable[5] = variable[6];
34834 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34835 variable[6] = variable[7];
34836 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34837 variable[7] = variable[8];
34838 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34839 variable[8] = variable[9];
34840 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34841 variable[9] = variable[10];
34842 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
34843 variable[10] = variable[11];
34844 variable[11] = variable[9] /*nodearraylist1*/;
34845 variable[12] = TAG_Bool(( variable[11] /*tkwwithnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwwithnode2*/, COLOR_TKwwith, ID_TKwwith)) /*cast TKwwith*/;
34846 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction446___action, LOCATE_parser, 21512); nit_exit(1);}
34847 variable[12] = variable[8] /*nodearraylist2*/;
34848 variable[13] = TAG_Bool(( variable[12] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
34849 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction446___action, LOCATE_parser, 21514); nit_exit(1);}
34850 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable[12] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
34851 if (UNTAG_Bool(variable[13])) { /*if*/
34852 variable[13] = ((array___AbstractArray___is_empty_t)CALL( variable[10] /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable[10] /*listnode4*/) /*AbstractArray::is_empty*/;
34853 if (UNTAG_Bool(variable[13])) { /*if*/
34854 variable[10] = variable[12] /*listnode3*/ /*listnode4=*/;
34855 } else { /*if*/
34856 ((abstract_collection___IndexedCollection___append_t)CALL( variable[10] /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable[10] /*listnode4*/, variable[12] /*listnode3*/) /*IndexedCollection::append*/;
34857 }
34858 }
34859 variable[13] = variable[7] /*nodearraylist3*/;
34860 variable[14] = TAG_Bool(( variable[13] /*tkwdonode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwdonode5*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
34861 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction446___action, LOCATE_parser, 21523); nit_exit(1);}
34862 variable[15] = NEW_Array_array___Array___init(); /*new Array[Object]*/
34863 variable[14] = variable[15];
34864 variable[15] = variable[5] /*nodearraylist5*/;
34865 variable[16] = TAG_Bool(( variable[15] /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable[15] /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
34866 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction446___action, LOCATE_parser, 21526); nit_exit(1);}
34867 variable[16] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*pexprnode7*/ == NIT_NULL /*null*/) || (( variable[15] /*pexprnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[15] /*pexprnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*pexprnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[15] /*pexprnode7*/,COLOR_kernel___Object_____eqeq))( variable[15] /*pexprnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
34868 if (UNTAG_Bool(variable[16])) { /*if*/
34869 ((array___AbstractArray___add_t)CALL( variable[14] /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable[14] /*listnode8*/, variable[15] /*pexprnode7*/) /*AbstractArray::add*/;
34870 }
34871 variable[17] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr( variable[14] /*listnode8*/); /*new ABlockExpr*/
34872 variable[16] = variable[17];
34873 variable[18] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef( variable[11] /*tkwwithnode2*/, variable[10] /*listnode4*/, variable[13] /*tkwdonode5*/, variable[16] /*pexprnode6*/); /*new AClosureDef*/
34874 variable[17] = variable[18];
34875 variable[3] = variable[17] /*pclosuredefnode1*/ /*node_list=*/;
34876 variable[18] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(31)) /*Parser::go_to*/;
34877 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
34878 return_label924: while(false);
34879 tracehead = trace.prev;
34880 return;
34881 }
34882 void parser___ReduceAction446___init(val_t self, int* init_table) {
34883 struct trace_t trace = {NULL, NULL, 21542, LOCATE_parser___ReduceAction446___init};
34884 val_t variable[2];
34885 void **closurevariable = NULL;
34886 trace.prev = tracehead; tracehead = &trace;
34887 trace.file = LOCATE_parser;
34888 variable[0] = self;
34889 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction446].i]) return;
34890 return_label925: while(false);
34891 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction446].i] = 1;
34892 tracehead = trace.prev;
34893 return;
34894 }
34895 void parser___ReduceAction447___action(val_t self, val_t param0) {
34896 struct trace_t trace = {NULL, NULL, 21546, LOCATE_parser___ReduceAction447___action};
34897 val_t variable[21];
34898 void **closurevariable = NULL;
34899 trace.prev = tracehead; tracehead = &trace;
34900 trace.file = LOCATE_parser;
34901 variable[0] = self;
34902 variable[1] = param0;
34903 variable[3] = NIT_NULL /*null*/;
34904 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34905 variable[4] = variable[5];
34906 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34907 variable[5] = variable[6];
34908 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34909 variable[6] = variable[7];
34910 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34911 variable[7] = variable[8];
34912 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34913 variable[8] = variable[9];
34914 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34915 variable[9] = variable[10];
34916 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34917 variable[10] = variable[11];
34918 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
34919 variable[11] = variable[12];
34920 variable[12] = variable[10] /*nodearraylist1*/;
34921 variable[13] = TAG_Bool(( variable[12] /*tkwwithnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwwithnode2*/, COLOR_TKwwith, ID_TKwwith)) /*cast TKwwith*/;
34922 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction447___action, LOCATE_parser, 21558); nit_exit(1);}
34923 variable[13] = variable[9] /*nodearraylist2*/;
34924 variable[14] = TAG_Bool(( variable[13] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
34925 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction447___action, LOCATE_parser, 21560); nit_exit(1);}
34926 variable[14] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[13] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[13] /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[13] /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[13] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[13] /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable[13] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
34927 if (UNTAG_Bool(variable[14])) { /*if*/
34928 variable[14] = ((array___AbstractArray___is_empty_t)CALL( variable[11] /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable[11] /*listnode4*/) /*AbstractArray::is_empty*/;
34929 if (UNTAG_Bool(variable[14])) { /*if*/
34930 variable[11] = variable[13] /*listnode3*/ /*listnode4=*/;
34931 } else { /*if*/
34932 ((abstract_collection___IndexedCollection___append_t)CALL( variable[11] /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable[11] /*listnode4*/, variable[13] /*listnode3*/) /*IndexedCollection::append*/;
34933 }
34934 }
34935 variable[14] = variable[8] /*nodearraylist3*/;
34936 variable[15] = TAG_Bool(( variable[14] /*tkwdonode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwdonode5*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
34937 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction447___action, LOCATE_parser, 21569); nit_exit(1);}
34938 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
34939 variable[15] = variable[16];
34940 variable[16] = variable[6] /*nodearraylist5*/;
34941 variable[17] = TAG_Bool(( variable[16] /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable[16] /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
34942 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction447___action, LOCATE_parser, 21572); nit_exit(1);}
34943 variable[17] = variable[5] /*nodearraylist6*/;
34944 variable[18] = TAG_Bool(( variable[17] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[17] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
34945 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction447___action, LOCATE_parser, 21574); nit_exit(1);}
34946 variable[18] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[16] /*pexprnode7*/ == NIT_NULL /*null*/) || (( variable[16] /*pexprnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[16] /*pexprnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[16] /*pexprnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[16] /*pexprnode7*/,COLOR_kernel___Object_____eqeq))( variable[16] /*pexprnode7*/, NIT_NULL /*null*/) /*Object::==*/)))))));
34947 if (UNTAG_Bool(variable[18])) { /*if*/
34948 ((array___AbstractArray___add_t)CALL( variable[15] /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable[15] /*listnode9*/, variable[16] /*pexprnode7*/) /*AbstractArray::add*/;
34949 }
34950 variable[18] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[17] /*listnode8*/ == NIT_NULL /*null*/) || (( variable[17] /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[17] /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[17] /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[17] /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable[17] /*listnode8*/, NIT_NULL /*null*/) /*Object::==*/)))))));
34951 if (UNTAG_Bool(variable[18])) { /*if*/
34952 variable[18] = ((array___AbstractArray___is_empty_t)CALL( variable[15] /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable[15] /*listnode9*/) /*AbstractArray::is_empty*/;
34953 if (UNTAG_Bool(variable[18])) { /*if*/
34954 variable[15] = variable[17] /*listnode8*/ /*listnode9=*/;
34955 } else { /*if*/
34956 ((abstract_collection___IndexedCollection___append_t)CALL( variable[15] /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable[15] /*listnode9*/, variable[17] /*listnode8*/) /*IndexedCollection::append*/;
34957 }
34958 }
34959 variable[19] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr( variable[15] /*listnode9*/); /*new ABlockExpr*/
34960 variable[18] = variable[19];
34961 variable[20] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef( variable[12] /*tkwwithnode2*/, variable[11] /*listnode4*/, variable[14] /*tkwdonode5*/, variable[18] /*pexprnode6*/); /*new AClosureDef*/
34962 variable[19] = variable[20];
34963 variable[3] = variable[19] /*pclosuredefnode1*/ /*node_list=*/;
34964 variable[20] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(31)) /*Parser::go_to*/;
34965 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
34966 return_label926: while(false);
34967 tracehead = trace.prev;
34968 return;
34969 }
34970 void parser___ReduceAction447___init(val_t self, int* init_table) {
34971 struct trace_t trace = {NULL, NULL, 21597, LOCATE_parser___ReduceAction447___init};
34972 val_t variable[2];
34973 void **closurevariable = NULL;
34974 trace.prev = tracehead; tracehead = &trace;
34975 trace.file = LOCATE_parser;
34976 variable[0] = self;
34977 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction447].i]) return;
34978 return_label927: while(false);
34979 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction447].i] = 1;
34980 tracehead = trace.prev;
34981 return;
34982 }
34983 void parser___ReduceAction448___action(val_t self, val_t param0) {
34984 struct trace_t trace = {NULL, NULL, 21601, LOCATE_parser___ReduceAction448___action};
34985 val_t variable[12];
34986 void **closurevariable = NULL;
34987 trace.prev = tracehead; tracehead = &trace;
34988 trace.file = LOCATE_parser;
34989 variable[0] = self;
34990 variable[1] = param0;
34991 variable[3] = NIT_NULL /*null*/;
34992 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34993 variable[4] = variable[5];
34994 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34995 variable[5] = variable[6];
34996 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
34997 variable[6] = variable[7];
34998 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
34999 variable[7] = variable[8];
35000 variable[8] = variable[6] /*nodearraylist1*/;
35001 variable[9] = TAG_Bool(( variable[8] /*tkwwithnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*tkwwithnode2*/, COLOR_TKwwith, ID_TKwwith)) /*cast TKwwith*/;
35002 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction448___action, LOCATE_parser, 21609); nit_exit(1);}
35003 variable[9] = variable[5] /*nodearraylist2*/;
35004 variable[10] = TAG_Bool(( variable[9] /*tkwdonode4*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwdonode4*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
35005 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction448___action, LOCATE_parser, 21611); nit_exit(1);}
35006 variable[11] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef( variable[8] /*tkwwithnode2*/, variable[7] /*listnode3*/, variable[9] /*tkwdonode4*/, NIT_NULL /*null*/); /*new AClosureDef*/
35007 variable[10] = variable[11];
35008 variable[3] = variable[10] /*pclosuredefnode1*/ /*node_list=*/;
35009 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(31)) /*Parser::go_to*/;
35010 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
35011 return_label928: while(false);
35012 tracehead = trace.prev;
35013 return;
35014 }
35015 void parser___ReduceAction448___init(val_t self, int* init_table) {
35016 struct trace_t trace = {NULL, NULL, 21621, LOCATE_parser___ReduceAction448___init};
35017 val_t variable[2];
35018 void **closurevariable = NULL;
35019 trace.prev = tracehead; tracehead = &trace;
35020 trace.file = LOCATE_parser;
35021 variable[0] = self;
35022 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction448].i]) return;
35023 return_label929: while(false);
35024 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction448].i] = 1;
35025 tracehead = trace.prev;
35026 return;
35027 }
35028 void parser___ReduceAction449___action(val_t self, val_t param0) {
35029 struct trace_t trace = {NULL, NULL, 21625, LOCATE_parser___ReduceAction449___action};
35030 val_t variable[14];
35031 void **closurevariable = NULL;
35032 trace.prev = tracehead; tracehead = &trace;
35033 trace.file = LOCATE_parser;
35034 variable[0] = self;
35035 variable[1] = param0;
35036 variable[3] = NIT_NULL /*null*/;
35037 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35038 variable[4] = variable[5];
35039 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35040 variable[5] = variable[6];
35041 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35042 variable[6] = variable[7];
35043 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35044 variable[7] = variable[8];
35045 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
35046 variable[8] = variable[9];
35047 variable[9] = variable[7] /*nodearraylist1*/;
35048 variable[10] = TAG_Bool(( variable[9] /*tkwwithnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwwithnode2*/, COLOR_TKwwith, ID_TKwwith)) /*cast TKwwith*/;
35049 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction449___action, LOCATE_parser, 21634); nit_exit(1);}
35050 variable[10] = variable[6] /*nodearraylist2*/;
35051 variable[11] = TAG_Bool(( variable[10] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
35052 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction449___action, LOCATE_parser, 21636); nit_exit(1);}
35053 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable[10] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
35054 if (UNTAG_Bool(variable[11])) { /*if*/
35055 variable[11] = ((array___AbstractArray___is_empty_t)CALL( variable[8] /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable[8] /*listnode4*/) /*AbstractArray::is_empty*/;
35056 if (UNTAG_Bool(variable[11])) { /*if*/
35057 variable[8] = variable[10] /*listnode3*/ /*listnode4=*/;
35058 } else { /*if*/
35059 ((abstract_collection___IndexedCollection___append_t)CALL( variable[8] /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable[8] /*listnode4*/, variable[10] /*listnode3*/) /*IndexedCollection::append*/;
35060 }
35061 }
35062 variable[11] = variable[5] /*nodearraylist3*/;
35063 variable[12] = TAG_Bool(( variable[11] /*tkwdonode5*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwdonode5*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
35064 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction449___action, LOCATE_parser, 21645); nit_exit(1);}
35065 variable[13] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef( variable[9] /*tkwwithnode2*/, variable[8] /*listnode4*/, variable[11] /*tkwdonode5*/, NIT_NULL /*null*/); /*new AClosureDef*/
35066 variable[12] = variable[13];
35067 variable[3] = variable[12] /*pclosuredefnode1*/ /*node_list=*/;
35068 variable[13] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(31)) /*Parser::go_to*/;
35069 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
35070 return_label930: while(false);
35071 tracehead = trace.prev;
35072 return;
35073 }
35074 void parser___ReduceAction449___init(val_t self, int* init_table) {
35075 struct trace_t trace = {NULL, NULL, 21655, LOCATE_parser___ReduceAction449___init};
35076 val_t variable[2];
35077 void **closurevariable = NULL;
35078 trace.prev = tracehead; tracehead = &trace;
35079 trace.file = LOCATE_parser;
35080 variable[0] = self;
35081 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction449].i]) return;
35082 return_label931: while(false);
35083 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction449].i] = 1;
35084 tracehead = trace.prev;
35085 return;
35086 }
35087 void parser___ReduceAction450___action(val_t self, val_t param0) {
35088 struct trace_t trace = {NULL, NULL, 21659, LOCATE_parser___ReduceAction450___action};
35089 val_t variable[10];
35090 void **closurevariable = NULL;
35091 trace.prev = tracehead; tracehead = &trace;
35092 trace.file = LOCATE_parser;
35093 variable[0] = self;
35094 variable[1] = param0;
35095 variable[3] = NIT_NULL /*null*/;
35096 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35097 variable[4] = variable[5];
35098 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35099 variable[5] = variable[6];
35100 variable[6] = variable[5] /*nodearraylist1*/;
35101 variable[7] = TAG_Bool(( variable[6] /*tkwvarnode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tkwvarnode2*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
35102 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction450___action, LOCATE_parser, 21665); nit_exit(1);}
35103 variable[7] = variable[4] /*nodearraylist2*/;
35104 variable[8] = TAG_Bool(( variable[7] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[7] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
35105 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction450___action, LOCATE_parser, 21667); nit_exit(1);}
35106 variable[9] = NEW_AVardeclExpr_parser_prod___AVardeclExpr___init_avardeclexpr( variable[6] /*tkwvarnode2*/, variable[7] /*tidnode3*/, NIT_NULL /*null*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AVardeclExpr*/
35107 variable[8] = variable[9];
35108 variable[3] = variable[8] /*pexprnode1*/ /*node_list=*/;
35109 variable[9] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(32)) /*Parser::go_to*/;
35110 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
35111 return_label932: while(false);
35112 tracehead = trace.prev;
35113 return;
35114 }
35115 void parser___ReduceAction450___init(val_t self, int* init_table) {
35116 struct trace_t trace = {NULL, NULL, 21678, LOCATE_parser___ReduceAction450___init};
35117 val_t variable[2];
35118 void **closurevariable = NULL;
35119 trace.prev = tracehead; tracehead = &trace;
35120 trace.file = LOCATE_parser;
35121 variable[0] = self;
35122 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction450].i]) return;
35123 return_label933: while(false);
35124 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction450].i] = 1;
35125 tracehead = trace.prev;
35126 return;
35127 }
35128 void parser___ReduceAction451___action(val_t self, val_t param0) {
35129 struct trace_t trace = {NULL, NULL, 21682, LOCATE_parser___ReduceAction451___action};
35130 val_t variable[12];
35131 void **closurevariable = NULL;
35132 trace.prev = tracehead; tracehead = &trace;
35133 trace.file = LOCATE_parser;
35134 variable[0] = self;
35135 variable[1] = param0;
35136 variable[3] = NIT_NULL /*null*/;
35137 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35138 variable[4] = variable[5];
35139 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35140 variable[5] = variable[6];
35141 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35142 variable[6] = variable[7];
35143 variable[7] = variable[6] /*nodearraylist1*/;
35144 variable[8] = TAG_Bool(( variable[7] /*tkwvarnode2*/==NIT_NULL) || VAL_ISA( variable[7] /*tkwvarnode2*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
35145 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction451___action, LOCATE_parser, 21689); nit_exit(1);}
35146 variable[8] = variable[5] /*nodearraylist2*/;
35147 variable[9] = TAG_Bool(( variable[8] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
35148 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction451___action, LOCATE_parser, 21691); nit_exit(1);}
35149 variable[9] = variable[4] /*nodearraylist3*/;
35150 variable[10] = TAG_Bool(( variable[9] /*ptypenode4*/==NIT_NULL) || VAL_ISA( variable[9] /*ptypenode4*/, COLOR_PType, ID_PType)) /*cast PType*/;
35151 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction451___action, LOCATE_parser, 21693); nit_exit(1);}
35152 variable[11] = NEW_AVardeclExpr_parser_prod___AVardeclExpr___init_avardeclexpr( variable[7] /*tkwvarnode2*/, variable[8] /*tidnode3*/, variable[9] /*ptypenode4*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AVardeclExpr*/
35153 variable[10] = variable[11];
35154 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
35155 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(32)) /*Parser::go_to*/;
35156 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
35157 return_label934: while(false);
35158 tracehead = trace.prev;
35159 return;
35160 }
35161 void parser___ReduceAction451___init(val_t self, int* init_table) {
35162 struct trace_t trace = {NULL, NULL, 21704, LOCATE_parser___ReduceAction451___init};
35163 val_t variable[2];
35164 void **closurevariable = NULL;
35165 trace.prev = tracehead; tracehead = &trace;
35166 trace.file = LOCATE_parser;
35167 variable[0] = self;
35168 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction451].i]) return;
35169 return_label935: while(false);
35170 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction451].i] = 1;
35171 tracehead = trace.prev;
35172 return;
35173 }
35174 void parser___ReduceAction452___action(val_t self, val_t param0) {
35175 struct trace_t trace = {NULL, NULL, 21708, LOCATE_parser___ReduceAction452___action};
35176 val_t variable[15];
35177 void **closurevariable = NULL;
35178 trace.prev = tracehead; tracehead = &trace;
35179 trace.file = LOCATE_parser;
35180 variable[0] = self;
35181 variable[1] = param0;
35182 variable[3] = NIT_NULL /*null*/;
35183 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35184 variable[4] = variable[5];
35185 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35186 variable[5] = variable[6];
35187 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35188 variable[6] = variable[7];
35189 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35190 variable[7] = variable[8];
35191 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35192 variable[8] = variable[9];
35193 variable[9] = variable[8] /*nodearraylist1*/;
35194 variable[10] = TAG_Bool(( variable[9] /*tkwvarnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwvarnode2*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
35195 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction452___action, LOCATE_parser, 21717); nit_exit(1);}
35196 variable[10] = variable[7] /*nodearraylist2*/;
35197 variable[11] = TAG_Bool(( variable[10] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
35198 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction452___action, LOCATE_parser, 21719); nit_exit(1);}
35199 variable[11] = variable[6] /*nodearraylist3*/;
35200 variable[12] = TAG_Bool(( variable[11] /*tassignnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*tassignnode5*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
35201 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction452___action, LOCATE_parser, 21721); nit_exit(1);}
35202 variable[12] = variable[4] /*nodearraylist5*/;
35203 variable[13] = TAG_Bool(( variable[12] /*pexprnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode6*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
35204 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction452___action, LOCATE_parser, 21723); nit_exit(1);}
35205 variable[14] = NEW_AVardeclExpr_parser_prod___AVardeclExpr___init_avardeclexpr( variable[9] /*tkwvarnode2*/, variable[10] /*tidnode3*/, NIT_NULL /*null*/, variable[11] /*tassignnode5*/, variable[12] /*pexprnode6*/); /*new AVardeclExpr*/
35206 variable[13] = variable[14];
35207 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
35208 variable[14] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(32)) /*Parser::go_to*/;
35209 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
35210 return_label936: while(false);
35211 tracehead = trace.prev;
35212 return;
35213 }
35214 void parser___ReduceAction452___init(val_t self, int* init_table) {
35215 struct trace_t trace = {NULL, NULL, 21734, LOCATE_parser___ReduceAction452___init};
35216 val_t variable[2];
35217 void **closurevariable = NULL;
35218 trace.prev = tracehead; tracehead = &trace;
35219 trace.file = LOCATE_parser;
35220 variable[0] = self;
35221 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction452].i]) return;
35222 return_label937: while(false);
35223 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction452].i] = 1;
35224 tracehead = trace.prev;
35225 return;
35226 }
35227 void parser___ReduceAction453___action(val_t self, val_t param0) {
35228 struct trace_t trace = {NULL, NULL, 21738, LOCATE_parser___ReduceAction453___action};
35229 val_t variable[17];
35230 void **closurevariable = NULL;
35231 trace.prev = tracehead; tracehead = &trace;
35232 trace.file = LOCATE_parser;
35233 variable[0] = self;
35234 variable[1] = param0;
35235 variable[3] = NIT_NULL /*null*/;
35236 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35237 variable[4] = variable[5];
35238 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35239 variable[5] = variable[6];
35240 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35241 variable[6] = variable[7];
35242 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35243 variable[7] = variable[8];
35244 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35245 variable[8] = variable[9];
35246 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35247 variable[9] = variable[10];
35248 variable[10] = variable[9] /*nodearraylist1*/;
35249 variable[11] = TAG_Bool(( variable[10] /*tkwvarnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*tkwvarnode2*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
35250 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction453___action, LOCATE_parser, 21748); nit_exit(1);}
35251 variable[11] = variable[8] /*nodearraylist2*/;
35252 variable[12] = TAG_Bool(( variable[11] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
35253 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction453___action, LOCATE_parser, 21750); nit_exit(1);}
35254 variable[12] = variable[7] /*nodearraylist3*/;
35255 variable[13] = TAG_Bool(( variable[12] /*ptypenode4*/==NIT_NULL) || VAL_ISA( variable[12] /*ptypenode4*/, COLOR_PType, ID_PType)) /*cast PType*/;
35256 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction453___action, LOCATE_parser, 21752); nit_exit(1);}
35257 variable[13] = variable[6] /*nodearraylist4*/;
35258 variable[14] = TAG_Bool(( variable[13] /*tassignnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tassignnode5*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
35259 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction453___action, LOCATE_parser, 21754); nit_exit(1);}
35260 variable[14] = variable[4] /*nodearraylist6*/;
35261 variable[15] = TAG_Bool(( variable[14] /*pexprnode6*/==NIT_NULL) || VAL_ISA( variable[14] /*pexprnode6*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
35262 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction453___action, LOCATE_parser, 21756); nit_exit(1);}
35263 variable[16] = NEW_AVardeclExpr_parser_prod___AVardeclExpr___init_avardeclexpr( variable[10] /*tkwvarnode2*/, variable[11] /*tidnode3*/, variable[12] /*ptypenode4*/, variable[13] /*tassignnode5*/, variable[14] /*pexprnode6*/); /*new AVardeclExpr*/
35264 variable[15] = variable[16];
35265 variable[3] = variable[15] /*pexprnode1*/ /*node_list=*/;
35266 variable[16] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(32)) /*Parser::go_to*/;
35267 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[16], variable[3] /*node_list*/) /*Parser::push*/;
35268 return_label938: while(false);
35269 tracehead = trace.prev;
35270 return;
35271 }
35272 void parser___ReduceAction453___init(val_t self, int* init_table) {
35273 struct trace_t trace = {NULL, NULL, 21767, LOCATE_parser___ReduceAction453___init};
35274 val_t variable[2];
35275 void **closurevariable = NULL;
35276 trace.prev = tracehead; tracehead = &trace;
35277 trace.file = LOCATE_parser;
35278 variable[0] = self;
35279 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction453].i]) return;
35280 return_label939: while(false);
35281 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction453].i] = 1;
35282 tracehead = trace.prev;
35283 return;
35284 }
35285 void parser___ReduceAction454___action(val_t self, val_t param0) {
35286 struct trace_t trace = {NULL, NULL, 21771, LOCATE_parser___ReduceAction454___action};
35287 val_t variable[16];
35288 void **closurevariable = NULL;
35289 trace.prev = tracehead; tracehead = &trace;
35290 trace.file = LOCATE_parser;
35291 variable[0] = self;
35292 variable[1] = param0;
35293 variable[3] = NIT_NULL /*null*/;
35294 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35295 variable[4] = variable[5];
35296 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35297 variable[5] = variable[6];
35298 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35299 variable[6] = variable[7];
35300 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35301 variable[7] = variable[8];
35302 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35303 variable[8] = variable[9];
35304 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35305 variable[9] = variable[10];
35306 variable[10] = variable[9] /*nodearraylist1*/;
35307 variable[11] = TAG_Bool(( variable[10] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
35308 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction454___action, LOCATE_parser, 21781); nit_exit(1);}
35309 variable[11] = variable[6] /*nodearraylist4*/;
35310 variable[12] = TAG_Bool(( variable[11] /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
35311 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction454___action, LOCATE_parser, 21783); nit_exit(1);}
35312 variable[12] = variable[5] /*nodearraylist5*/;
35313 variable[13] = TAG_Bool(( variable[12] /*tassignnode4*/==NIT_NULL) || VAL_ISA( variable[12] /*tassignnode4*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
35314 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction454___action, LOCATE_parser, 21785); nit_exit(1);}
35315 variable[13] = variable[4] /*nodearraylist6*/;
35316 variable[14] = TAG_Bool(( variable[13] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
35317 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction454___action, LOCATE_parser, 21787); nit_exit(1);}
35318 variable[15] = NEW_AAttrAssignExpr_parser_prod___AAttrAssignExpr___init_aattrassignexpr( variable[10] /*pexprnode2*/, variable[11] /*tattridnode3*/, variable[12] /*tassignnode4*/, variable[13] /*pexprnode5*/); /*new AAttrAssignExpr*/
35319 variable[14] = variable[15];
35320 variable[3] = variable[14] /*pexprnode1*/ /*node_list=*/;
35321 variable[15] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(33)) /*Parser::go_to*/;
35322 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
35323 return_label940: while(false);
35324 tracehead = trace.prev;
35325 return;
35326 }
35327 void parser___ReduceAction454___init(val_t self, int* init_table) {
35328 struct trace_t trace = {NULL, NULL, 21797, LOCATE_parser___ReduceAction454___init};
35329 val_t variable[2];
35330 void **closurevariable = NULL;
35331 trace.prev = tracehead; tracehead = &trace;
35332 trace.file = LOCATE_parser;
35333 variable[0] = self;
35334 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction454].i]) return;
35335 return_label941: while(false);
35336 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction454].i] = 1;
35337 tracehead = trace.prev;
35338 return;
35339 }
35340 void parser___ReduceAction455___action(val_t self, val_t param0) {
35341 struct trace_t trace = {NULL, NULL, 21801, LOCATE_parser___ReduceAction455___action};
35342 val_t variable[13];
35343 void **closurevariable = NULL;
35344 trace.prev = tracehead; tracehead = &trace;
35345 trace.file = LOCATE_parser;
35346 variable[0] = self;
35347 variable[1] = param0;
35348 variable[3] = NIT_NULL /*null*/;
35349 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35350 variable[4] = variable[5];
35351 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35352 variable[5] = variable[6];
35353 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35354 variable[6] = variable[7];
35355 variable[8] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
35356 variable[7] = variable[8];
35357 variable[8] = variable[6] /*nodearraylist1*/;
35358 variable[9] = TAG_Bool(( variable[8] /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
35359 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction455___action, LOCATE_parser, 21810); nit_exit(1);}
35360 variable[9] = variable[5] /*nodearraylist2*/;
35361 variable[10] = TAG_Bool(( variable[9] /*tassignnode4*/==NIT_NULL) || VAL_ISA( variable[9] /*tassignnode4*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
35362 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction455___action, LOCATE_parser, 21812); nit_exit(1);}
35363 variable[10] = variable[4] /*nodearraylist3*/;
35364 variable[11] = TAG_Bool(( variable[10] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
35365 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction455___action, LOCATE_parser, 21814); nit_exit(1);}
35366 variable[12] = NEW_AAttrAssignExpr_parser_prod___AAttrAssignExpr___init_aattrassignexpr( variable[7] /*pexprnode2*/, variable[8] /*tattridnode3*/, variable[9] /*tassignnode4*/, variable[10] /*pexprnode5*/); /*new AAttrAssignExpr*/
35367 variable[11] = variable[12];
35368 variable[3] = variable[11] /*pexprnode1*/ /*node_list=*/;
35369 variable[12] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(33)) /*Parser::go_to*/;
35370 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
35371 return_label942: while(false);
35372 tracehead = trace.prev;
35373 return;
35374 }
35375 void parser___ReduceAction455___init(val_t self, int* init_table) {
35376 struct trace_t trace = {NULL, NULL, 21824, LOCATE_parser___ReduceAction455___init};
35377 val_t variable[2];
35378 void **closurevariable = NULL;
35379 trace.prev = tracehead; tracehead = &trace;
35380 trace.file = LOCATE_parser;
35381 variable[0] = self;
35382 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction455].i]) return;
35383 return_label943: while(false);
35384 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction455].i] = 1;
35385 tracehead = trace.prev;
35386 return;
35387 }
35388 void parser___ReduceAction456___action(val_t self, val_t param0) {
35389 struct trace_t trace = {NULL, NULL, 21828, LOCATE_parser___ReduceAction456___action};
35390 val_t variable[19];
35391 void **closurevariable = NULL;
35392 trace.prev = tracehead; tracehead = &trace;
35393 trace.file = LOCATE_parser;
35394 variable[0] = self;
35395 variable[1] = param0;
35396 variable[3] = NIT_NULL /*null*/;
35397 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35398 variable[4] = variable[5];
35399 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35400 variable[5] = variable[6];
35401 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35402 variable[6] = variable[7];
35403 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35404 variable[7] = variable[8];
35405 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35406 variable[8] = variable[9];
35407 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35408 variable[9] = variable[10];
35409 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35410 variable[10] = variable[11];
35411 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
35412 variable[11] = variable[12];
35413 variable[12] = variable[10] /*nodearraylist1*/;
35414 variable[13] = TAG_Bool(( variable[12] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
35415 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction456___action, LOCATE_parser, 21840); nit_exit(1);}
35416 variable[13] = variable[7] /*nodearraylist4*/;
35417 variable[14] = TAG_Bool(( variable[13] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
35418 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction456___action, LOCATE_parser, 21842); nit_exit(1);}
35419 variable[14] = variable[6] /*nodearraylist5*/;
35420 variable[15] = TAG_Bool(( variable[14] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
35421 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction456___action, LOCATE_parser, 21844); nit_exit(1);}
35422 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[14] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[14] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[14] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[14] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
35423 if (UNTAG_Bool(variable[15])) { /*if*/
35424 variable[15] = ((array___AbstractArray___is_empty_t)CALL( variable[11] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[11] /*listnode5*/) /*AbstractArray::is_empty*/;
35425 if (UNTAG_Bool(variable[15])) { /*if*/
35426 variable[11] = variable[14] /*listnode4*/ /*listnode5=*/;
35427 } else { /*if*/
35428 ((abstract_collection___IndexedCollection___append_t)CALL( variable[11] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[11] /*listnode5*/, variable[14] /*listnode4*/) /*IndexedCollection::append*/;
35429 }
35430 }
35431 variable[15] = variable[5] /*nodearraylist6*/;
35432 variable[16] = TAG_Bool(( variable[15] /*tassignnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*tassignnode6*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
35433 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction456___action, LOCATE_parser, 21853); nit_exit(1);}
35434 variable[16] = variable[4] /*nodearraylist7*/;
35435 variable[17] = TAG_Bool(( variable[16] /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable[16] /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
35436 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction456___action, LOCATE_parser, 21855); nit_exit(1);}
35437 variable[18] = NEW_ACallAssignExpr_parser_prod___ACallAssignExpr___init_acallassignexpr( variable[12] /*pexprnode2*/, variable[13] /*tidnode3*/, variable[11] /*listnode5*/, variable[15] /*tassignnode6*/, variable[16] /*pexprnode7*/); /*new ACallAssignExpr*/
35438 variable[17] = variable[18];
35439 variable[3] = variable[17] /*pexprnode1*/ /*node_list=*/;
35440 variable[18] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(33)) /*Parser::go_to*/;
35441 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
35442 return_label944: while(false);
35443 tracehead = trace.prev;
35444 return;
35445 }
35446 void parser___ReduceAction456___init(val_t self, int* init_table) {
35447 struct trace_t trace = {NULL, NULL, 21866, LOCATE_parser___ReduceAction456___init};
35448 val_t variable[2];
35449 void **closurevariable = NULL;
35450 trace.prev = tracehead; tracehead = &trace;
35451 trace.file = LOCATE_parser;
35452 variable[0] = self;
35453 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction456].i]) return;
35454 return_label945: while(false);
35455 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction456].i] = 1;
35456 tracehead = trace.prev;
35457 return;
35458 }
35459 void parser___ReduceAction457___action(val_t self, val_t param0) {
35460 struct trace_t trace = {NULL, NULL, 21870, LOCATE_parser___ReduceAction457___action};
35461 val_t variable[16];
35462 void **closurevariable = NULL;
35463 trace.prev = tracehead; tracehead = &trace;
35464 trace.file = LOCATE_parser;
35465 variable[0] = self;
35466 variable[1] = param0;
35467 variable[3] = NIT_NULL /*null*/;
35468 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35469 variable[4] = variable[5];
35470 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35471 variable[5] = variable[6];
35472 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35473 variable[6] = variable[7];
35474 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35475 variable[7] = variable[8];
35476 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
35477 variable[8] = variable[9];
35478 variable[10] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
35479 variable[9] = variable[10];
35480 variable[10] = variable[7] /*nodearraylist1*/;
35481 variable[11] = TAG_Bool(( variable[10] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
35482 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction457___action, LOCATE_parser, 21881); nit_exit(1);}
35483 variable[11] = variable[6] /*nodearraylist2*/;
35484 variable[12] = TAG_Bool(( variable[11] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
35485 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction457___action, LOCATE_parser, 21883); nit_exit(1);}
35486 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[11] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
35487 if (UNTAG_Bool(variable[12])) { /*if*/
35488 variable[12] = ((array___AbstractArray___is_empty_t)CALL( variable[8] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[8] /*listnode5*/) /*AbstractArray::is_empty*/;
35489 if (UNTAG_Bool(variable[12])) { /*if*/
35490 variable[8] = variable[11] /*listnode4*/ /*listnode5=*/;
35491 } else { /*if*/
35492 ((abstract_collection___IndexedCollection___append_t)CALL( variable[8] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[8] /*listnode5*/, variable[11] /*listnode4*/) /*IndexedCollection::append*/;
35493 }
35494 }
35495 variable[12] = variable[5] /*nodearraylist3*/;
35496 variable[13] = TAG_Bool(( variable[12] /*tassignnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*tassignnode6*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
35497 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction457___action, LOCATE_parser, 21892); nit_exit(1);}
35498 variable[13] = variable[4] /*nodearraylist4*/;
35499 variable[14] = TAG_Bool(( variable[13] /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable[13] /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
35500 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction457___action, LOCATE_parser, 21894); nit_exit(1);}
35501 variable[15] = NEW_ACallAssignExpr_parser_prod___ACallAssignExpr___init_acallassignexpr( variable[9] /*pexprnode2*/, variable[10] /*tidnode3*/, variable[8] /*listnode5*/, variable[12] /*tassignnode6*/, variable[13] /*pexprnode7*/); /*new ACallAssignExpr*/
35502 variable[14] = variable[15];
35503 variable[3] = variable[14] /*pexprnode1*/ /*node_list=*/;
35504 variable[15] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(33)) /*Parser::go_to*/;
35505 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
35506 return_label946: while(false);
35507 tracehead = trace.prev;
35508 return;
35509 }
35510 void parser___ReduceAction457___init(val_t self, int* init_table) {
35511 struct trace_t trace = {NULL, NULL, 21905, LOCATE_parser___ReduceAction457___init};
35512 val_t variable[2];
35513 void **closurevariable = NULL;
35514 trace.prev = tracehead; tracehead = &trace;
35515 trace.file = LOCATE_parser;
35516 variable[0] = self;
35517 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction457].i]) return;
35518 return_label947: while(false);
35519 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction457].i] = 1;
35520 tracehead = trace.prev;
35521 return;
35522 }
35523 void parser___ReduceAction458___action(val_t self, val_t param0) {
35524 struct trace_t trace = {NULL, NULL, 21909, LOCATE_parser___ReduceAction458___action};
35525 val_t variable[15];
35526 void **closurevariable = NULL;
35527 trace.prev = tracehead; tracehead = &trace;
35528 trace.file = LOCATE_parser;
35529 variable[0] = self;
35530 variable[1] = param0;
35531 variable[3] = NIT_NULL /*null*/;
35532 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35533 variable[4] = variable[5];
35534 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35535 variable[5] = variable[6];
35536 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35537 variable[6] = variable[7];
35538 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35539 variable[7] = variable[8];
35540 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
35541 variable[8] = variable[9];
35542 variable[9] = variable[7] /*nodearraylist1*/;
35543 variable[10] = TAG_Bool(( variable[9] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
35544 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction458___action, LOCATE_parser, 21918); nit_exit(1);}
35545 variable[10] = variable[6] /*nodearraylist2*/;
35546 variable[11] = TAG_Bool(( variable[10] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
35547 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction458___action, LOCATE_parser, 21920); nit_exit(1);}
35548 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable[10] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
35549 if (UNTAG_Bool(variable[11])) { /*if*/
35550 variable[11] = ((array___AbstractArray___is_empty_t)CALL( variable[8] /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable[8] /*listnode4*/) /*AbstractArray::is_empty*/;
35551 if (UNTAG_Bool(variable[11])) { /*if*/
35552 variable[8] = variable[10] /*listnode3*/ /*listnode4=*/;
35553 } else { /*if*/
35554 ((abstract_collection___IndexedCollection___append_t)CALL( variable[8] /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable[8] /*listnode4*/, variable[10] /*listnode3*/) /*IndexedCollection::append*/;
35555 }
35556 }
35557 variable[11] = variable[5] /*nodearraylist3*/;
35558 variable[12] = TAG_Bool(( variable[11] /*tassignnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*tassignnode5*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
35559 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction458___action, LOCATE_parser, 21929); nit_exit(1);}
35560 variable[12] = variable[4] /*nodearraylist4*/;
35561 variable[13] = TAG_Bool(( variable[12] /*pexprnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode6*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
35562 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction458___action, LOCATE_parser, 21931); nit_exit(1);}
35563 variable[14] = NEW_ABraAssignExpr_parser_prod___ABraAssignExpr___init_abraassignexpr( variable[9] /*pexprnode2*/, variable[8] /*listnode4*/, variable[11] /*tassignnode5*/, variable[12] /*pexprnode6*/); /*new ABraAssignExpr*/
35564 variable[13] = variable[14];
35565 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
35566 variable[14] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(33)) /*Parser::go_to*/;
35567 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
35568 return_label948: while(false);
35569 tracehead = trace.prev;
35570 return;
35571 }
35572 void parser___ReduceAction458___init(val_t self, int* init_table) {
35573 struct trace_t trace = {NULL, NULL, 21941, LOCATE_parser___ReduceAction458___init};
35574 val_t variable[2];
35575 void **closurevariable = NULL;
35576 trace.prev = tracehead; tracehead = &trace;
35577 trace.file = LOCATE_parser;
35578 variable[0] = self;
35579 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction458].i]) return;
35580 return_label949: while(false);
35581 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction458].i] = 1;
35582 tracehead = trace.prev;
35583 return;
35584 }
35585 void parser___ReduceAction459___action(val_t self, val_t param0) {
35586 struct trace_t trace = {NULL, NULL, 21945, LOCATE_parser___ReduceAction459___action};
35587 val_t variable[16];
35588 void **closurevariable = NULL;
35589 trace.prev = tracehead; tracehead = &trace;
35590 trace.file = LOCATE_parser;
35591 variable[0] = self;
35592 variable[1] = param0;
35593 variable[3] = NIT_NULL /*null*/;
35594 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35595 variable[4] = variable[5];
35596 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35597 variable[5] = variable[6];
35598 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35599 variable[6] = variable[7];
35600 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35601 variable[7] = variable[8];
35602 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35603 variable[8] = variable[9];
35604 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35605 variable[9] = variable[10];
35606 variable[10] = variable[9] /*nodearraylist1*/;
35607 variable[11] = TAG_Bool(( variable[10] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
35608 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction459___action, LOCATE_parser, 21955); nit_exit(1);}
35609 variable[11] = variable[6] /*nodearraylist4*/;
35610 variable[12] = TAG_Bool(( variable[11] /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
35611 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction459___action, LOCATE_parser, 21957); nit_exit(1);}
35612 variable[12] = variable[5] /*nodearraylist5*/;
35613 variable[13] = TAG_Bool(( variable[12] /*passignopnode4*/==NIT_NULL) || VAL_ISA( variable[12] /*passignopnode4*/, COLOR_PAssignOp, ID_PAssignOp)) /*cast PAssignOp*/;
35614 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction459___action, LOCATE_parser, 21959); nit_exit(1);}
35615 variable[13] = variable[4] /*nodearraylist6*/;
35616 variable[14] = TAG_Bool(( variable[13] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
35617 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction459___action, LOCATE_parser, 21961); nit_exit(1);}
35618 variable[15] = NEW_AAttrReassignExpr_parser_prod___AAttrReassignExpr___init_aattrreassignexpr( variable[10] /*pexprnode2*/, variable[11] /*tattridnode3*/, variable[12] /*passignopnode4*/, variable[13] /*pexprnode5*/); /*new AAttrReassignExpr*/
35619 variable[14] = variable[15];
35620 variable[3] = variable[14] /*pexprnode1*/ /*node_list=*/;
35621 variable[15] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(33)) /*Parser::go_to*/;
35622 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
35623 return_label950: while(false);
35624 tracehead = trace.prev;
35625 return;
35626 }
35627 void parser___ReduceAction459___init(val_t self, int* init_table) {
35628 struct trace_t trace = {NULL, NULL, 21971, LOCATE_parser___ReduceAction459___init};
35629 val_t variable[2];
35630 void **closurevariable = NULL;
35631 trace.prev = tracehead; tracehead = &trace;
35632 trace.file = LOCATE_parser;
35633 variable[0] = self;
35634 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction459].i]) return;
35635 return_label951: while(false);
35636 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction459].i] = 1;
35637 tracehead = trace.prev;
35638 return;
35639 }
35640 void parser___ReduceAction460___action(val_t self, val_t param0) {
35641 struct trace_t trace = {NULL, NULL, 21975, LOCATE_parser___ReduceAction460___action};
35642 val_t variable[13];
35643 void **closurevariable = NULL;
35644 trace.prev = tracehead; tracehead = &trace;
35645 trace.file = LOCATE_parser;
35646 variable[0] = self;
35647 variable[1] = param0;
35648 variable[3] = NIT_NULL /*null*/;
35649 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35650 variable[4] = variable[5];
35651 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35652 variable[5] = variable[6];
35653 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35654 variable[6] = variable[7];
35655 variable[8] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
35656 variable[7] = variable[8];
35657 variable[8] = variable[6] /*nodearraylist1*/;
35658 variable[9] = TAG_Bool(( variable[8] /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
35659 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction460___action, LOCATE_parser, 21984); nit_exit(1);}
35660 variable[9] = variable[5] /*nodearraylist2*/;
35661 variable[10] = TAG_Bool(( variable[9] /*passignopnode4*/==NIT_NULL) || VAL_ISA( variable[9] /*passignopnode4*/, COLOR_PAssignOp, ID_PAssignOp)) /*cast PAssignOp*/;
35662 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction460___action, LOCATE_parser, 21986); nit_exit(1);}
35663 variable[10] = variable[4] /*nodearraylist3*/;
35664 variable[11] = TAG_Bool(( variable[10] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
35665 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction460___action, LOCATE_parser, 21988); nit_exit(1);}
35666 variable[12] = NEW_AAttrReassignExpr_parser_prod___AAttrReassignExpr___init_aattrreassignexpr( variable[7] /*pexprnode2*/, variable[8] /*tattridnode3*/, variable[9] /*passignopnode4*/, variable[10] /*pexprnode5*/); /*new AAttrReassignExpr*/
35667 variable[11] = variable[12];
35668 variable[3] = variable[11] /*pexprnode1*/ /*node_list=*/;
35669 variable[12] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(33)) /*Parser::go_to*/;
35670 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
35671 return_label952: while(false);
35672 tracehead = trace.prev;
35673 return;
35674 }
35675 void parser___ReduceAction460___init(val_t self, int* init_table) {
35676 struct trace_t trace = {NULL, NULL, 21998, LOCATE_parser___ReduceAction460___init};
35677 val_t variable[2];
35678 void **closurevariable = NULL;
35679 trace.prev = tracehead; tracehead = &trace;
35680 trace.file = LOCATE_parser;
35681 variable[0] = self;
35682 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction460].i]) return;
35683 return_label953: while(false);
35684 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction460].i] = 1;
35685 tracehead = trace.prev;
35686 return;
35687 }
35688 void parser___ReduceAction461___action(val_t self, val_t param0) {
35689 struct trace_t trace = {NULL, NULL, 22002, LOCATE_parser___ReduceAction461___action};
35690 val_t variable[19];
35691 void **closurevariable = NULL;
35692 trace.prev = tracehead; tracehead = &trace;
35693 trace.file = LOCATE_parser;
35694 variable[0] = self;
35695 variable[1] = param0;
35696 variable[3] = NIT_NULL /*null*/;
35697 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35698 variable[4] = variable[5];
35699 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35700 variable[5] = variable[6];
35701 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35702 variable[6] = variable[7];
35703 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35704 variable[7] = variable[8];
35705 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35706 variable[8] = variable[9];
35707 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35708 variable[9] = variable[10];
35709 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35710 variable[10] = variable[11];
35711 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
35712 variable[11] = variable[12];
35713 variable[12] = variable[10] /*nodearraylist1*/;
35714 variable[13] = TAG_Bool(( variable[12] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
35715 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction461___action, LOCATE_parser, 22014); nit_exit(1);}
35716 variable[13] = variable[7] /*nodearraylist4*/;
35717 variable[14] = TAG_Bool(( variable[13] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
35718 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction461___action, LOCATE_parser, 22016); nit_exit(1);}
35719 variable[14] = variable[6] /*nodearraylist5*/;
35720 variable[15] = TAG_Bool(( variable[14] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
35721 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction461___action, LOCATE_parser, 22018); nit_exit(1);}
35722 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[14] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[14] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[14] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[14] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
35723 if (UNTAG_Bool(variable[15])) { /*if*/
35724 variable[15] = ((array___AbstractArray___is_empty_t)CALL( variable[11] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[11] /*listnode5*/) /*AbstractArray::is_empty*/;
35725 if (UNTAG_Bool(variable[15])) { /*if*/
35726 variable[11] = variable[14] /*listnode4*/ /*listnode5=*/;
35727 } else { /*if*/
35728 ((abstract_collection___IndexedCollection___append_t)CALL( variable[11] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[11] /*listnode5*/, variable[14] /*listnode4*/) /*IndexedCollection::append*/;
35729 }
35730 }
35731 variable[15] = variable[5] /*nodearraylist6*/;
35732 variable[16] = TAG_Bool(( variable[15] /*passignopnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*passignopnode6*/, COLOR_PAssignOp, ID_PAssignOp)) /*cast PAssignOp*/;
35733 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction461___action, LOCATE_parser, 22027); nit_exit(1);}
35734 variable[16] = variable[4] /*nodearraylist7*/;
35735 variable[17] = TAG_Bool(( variable[16] /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable[16] /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
35736 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction461___action, LOCATE_parser, 22029); nit_exit(1);}
35737 variable[18] = NEW_ACallReassignExpr_parser_prod___ACallReassignExpr___init_acallreassignexpr( variable[12] /*pexprnode2*/, variable[13] /*tidnode3*/, variable[11] /*listnode5*/, variable[15] /*passignopnode6*/, variable[16] /*pexprnode7*/); /*new ACallReassignExpr*/
35738 variable[17] = variable[18];
35739 variable[3] = variable[17] /*pexprnode1*/ /*node_list=*/;
35740 variable[18] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(33)) /*Parser::go_to*/;
35741 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
35742 return_label954: while(false);
35743 tracehead = trace.prev;
35744 return;
35745 }
35746 void parser___ReduceAction461___init(val_t self, int* init_table) {
35747 struct trace_t trace = {NULL, NULL, 22040, LOCATE_parser___ReduceAction461___init};
35748 val_t variable[2];
35749 void **closurevariable = NULL;
35750 trace.prev = tracehead; tracehead = &trace;
35751 trace.file = LOCATE_parser;
35752 variable[0] = self;
35753 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction461].i]) return;
35754 return_label955: while(false);
35755 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction461].i] = 1;
35756 tracehead = trace.prev;
35757 return;
35758 }
35759 void parser___ReduceAction462___action(val_t self, val_t param0) {
35760 struct trace_t trace = {NULL, NULL, 22044, LOCATE_parser___ReduceAction462___action};
35761 val_t variable[16];
35762 void **closurevariable = NULL;
35763 trace.prev = tracehead; tracehead = &trace;
35764 trace.file = LOCATE_parser;
35765 variable[0] = self;
35766 variable[1] = param0;
35767 variable[3] = NIT_NULL /*null*/;
35768 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35769 variable[4] = variable[5];
35770 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35771 variable[5] = variable[6];
35772 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35773 variable[6] = variable[7];
35774 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35775 variable[7] = variable[8];
35776 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
35777 variable[8] = variable[9];
35778 variable[10] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
35779 variable[9] = variable[10];
35780 variable[10] = variable[7] /*nodearraylist1*/;
35781 variable[11] = TAG_Bool(( variable[10] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
35782 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction462___action, LOCATE_parser, 22055); nit_exit(1);}
35783 variable[11] = variable[6] /*nodearraylist2*/;
35784 variable[12] = TAG_Bool(( variable[11] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
35785 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction462___action, LOCATE_parser, 22057); nit_exit(1);}
35786 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[11] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
35787 if (UNTAG_Bool(variable[12])) { /*if*/
35788 variable[12] = ((array___AbstractArray___is_empty_t)CALL( variable[8] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[8] /*listnode5*/) /*AbstractArray::is_empty*/;
35789 if (UNTAG_Bool(variable[12])) { /*if*/
35790 variable[8] = variable[11] /*listnode4*/ /*listnode5=*/;
35791 } else { /*if*/
35792 ((abstract_collection___IndexedCollection___append_t)CALL( variable[8] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[8] /*listnode5*/, variable[11] /*listnode4*/) /*IndexedCollection::append*/;
35793 }
35794 }
35795 variable[12] = variable[5] /*nodearraylist3*/;
35796 variable[13] = TAG_Bool(( variable[12] /*passignopnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*passignopnode6*/, COLOR_PAssignOp, ID_PAssignOp)) /*cast PAssignOp*/;
35797 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction462___action, LOCATE_parser, 22066); nit_exit(1);}
35798 variable[13] = variable[4] /*nodearraylist4*/;
35799 variable[14] = TAG_Bool(( variable[13] /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable[13] /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
35800 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction462___action, LOCATE_parser, 22068); nit_exit(1);}
35801 variable[15] = NEW_ACallReassignExpr_parser_prod___ACallReassignExpr___init_acallreassignexpr( variable[9] /*pexprnode2*/, variable[10] /*tidnode3*/, variable[8] /*listnode5*/, variable[12] /*passignopnode6*/, variable[13] /*pexprnode7*/); /*new ACallReassignExpr*/
35802 variable[14] = variable[15];
35803 variable[3] = variable[14] /*pexprnode1*/ /*node_list=*/;
35804 variable[15] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(33)) /*Parser::go_to*/;
35805 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
35806 return_label956: while(false);
35807 tracehead = trace.prev;
35808 return;
35809 }
35810 void parser___ReduceAction462___init(val_t self, int* init_table) {
35811 struct trace_t trace = {NULL, NULL, 22079, LOCATE_parser___ReduceAction462___init};
35812 val_t variable[2];
35813 void **closurevariable = NULL;
35814 trace.prev = tracehead; tracehead = &trace;
35815 trace.file = LOCATE_parser;
35816 variable[0] = self;
35817 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction462].i]) return;
35818 return_label957: while(false);
35819 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction462].i] = 1;
35820 tracehead = trace.prev;
35821 return;
35822 }
35823 void parser___ReduceAction463___action(val_t self, val_t param0) {
35824 struct trace_t trace = {NULL, NULL, 22083, LOCATE_parser___ReduceAction463___action};
35825 val_t variable[15];
35826 void **closurevariable = NULL;
35827 trace.prev = tracehead; tracehead = &trace;
35828 trace.file = LOCATE_parser;
35829 variable[0] = self;
35830 variable[1] = param0;
35831 variable[3] = NIT_NULL /*null*/;
35832 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35833 variable[4] = variable[5];
35834 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35835 variable[5] = variable[6];
35836 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35837 variable[6] = variable[7];
35838 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35839 variable[7] = variable[8];
35840 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
35841 variable[8] = variable[9];
35842 variable[9] = variable[7] /*nodearraylist1*/;
35843 variable[10] = TAG_Bool(( variable[9] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
35844 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction463___action, LOCATE_parser, 22092); nit_exit(1);}
35845 variable[10] = variable[6] /*nodearraylist2*/;
35846 variable[11] = TAG_Bool(( variable[10] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
35847 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction463___action, LOCATE_parser, 22094); nit_exit(1);}
35848 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable[10] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
35849 if (UNTAG_Bool(variable[11])) { /*if*/
35850 variable[11] = ((array___AbstractArray___is_empty_t)CALL( variable[8] /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable[8] /*listnode4*/) /*AbstractArray::is_empty*/;
35851 if (UNTAG_Bool(variable[11])) { /*if*/
35852 variable[8] = variable[10] /*listnode3*/ /*listnode4=*/;
35853 } else { /*if*/
35854 ((abstract_collection___IndexedCollection___append_t)CALL( variable[8] /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable[8] /*listnode4*/, variable[10] /*listnode3*/) /*IndexedCollection::append*/;
35855 }
35856 }
35857 variable[11] = variable[5] /*nodearraylist3*/;
35858 variable[12] = TAG_Bool(( variable[11] /*passignopnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*passignopnode5*/, COLOR_PAssignOp, ID_PAssignOp)) /*cast PAssignOp*/;
35859 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction463___action, LOCATE_parser, 22103); nit_exit(1);}
35860 variable[12] = variable[4] /*nodearraylist4*/;
35861 variable[13] = TAG_Bool(( variable[12] /*pexprnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode6*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
35862 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction463___action, LOCATE_parser, 22105); nit_exit(1);}
35863 variable[14] = NEW_ABraReassignExpr_parser_prod___ABraReassignExpr___init_abrareassignexpr( variable[9] /*pexprnode2*/, variable[8] /*listnode4*/, variable[11] /*passignopnode5*/, variable[12] /*pexprnode6*/); /*new ABraReassignExpr*/
35864 variable[13] = variable[14];
35865 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
35866 variable[14] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(33)) /*Parser::go_to*/;
35867 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
35868 return_label958: while(false);
35869 tracehead = trace.prev;
35870 return;
35871 }
35872 void parser___ReduceAction463___init(val_t self, int* init_table) {
35873 struct trace_t trace = {NULL, NULL, 22115, LOCATE_parser___ReduceAction463___init};
35874 val_t variable[2];
35875 void **closurevariable = NULL;
35876 trace.prev = tracehead; tracehead = &trace;
35877 trace.file = LOCATE_parser;
35878 variable[0] = self;
35879 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction463].i]) return;
35880 return_label959: while(false);
35881 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction463].i] = 1;
35882 tracehead = trace.prev;
35883 return;
35884 }
35885 void parser___ReduceAction464___action(val_t self, val_t param0) {
35886 struct trace_t trace = {NULL, NULL, 22119, LOCATE_parser___ReduceAction464___action};
35887 val_t variable[8];
35888 void **closurevariable = NULL;
35889 trace.prev = tracehead; tracehead = &trace;
35890 trace.file = LOCATE_parser;
35891 variable[0] = self;
35892 variable[1] = param0;
35893 variable[3] = NIT_NULL /*null*/;
35894 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35895 variable[4] = variable[5];
35896 variable[5] = variable[4] /*nodearraylist1*/;
35897 variable[6] = TAG_Bool(( variable[5] /*tpluseqnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tpluseqnode2*/, COLOR_TPluseq, ID_TPluseq)) /*cast TPluseq*/;
35898 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction464___action, LOCATE_parser, 22124); nit_exit(1);}
35899 variable[7] = NEW_APlusAssignOp_parser_prod___APlusAssignOp___init_aplusassignop( variable[5] /*tpluseqnode2*/); /*new APlusAssignOp*/
35900 variable[6] = variable[7];
35901 variable[3] = variable[6] /*passignopnode1*/ /*node_list=*/;
35902 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(34)) /*Parser::go_to*/;
35903 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
35904 return_label960: while(false);
35905 tracehead = trace.prev;
35906 return;
35907 }
35908 void parser___ReduceAction464___init(val_t self, int* init_table) {
35909 struct trace_t trace = {NULL, NULL, 22131, LOCATE_parser___ReduceAction464___init};
35910 val_t variable[2];
35911 void **closurevariable = NULL;
35912 trace.prev = tracehead; tracehead = &trace;
35913 trace.file = LOCATE_parser;
35914 variable[0] = self;
35915 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction464].i]) return;
35916 return_label961: while(false);
35917 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction464].i] = 1;
35918 tracehead = trace.prev;
35919 return;
35920 }
35921 void parser___ReduceAction465___action(val_t self, val_t param0) {
35922 struct trace_t trace = {NULL, NULL, 22135, LOCATE_parser___ReduceAction465___action};
35923 val_t variable[8];
35924 void **closurevariable = NULL;
35925 trace.prev = tracehead; tracehead = &trace;
35926 trace.file = LOCATE_parser;
35927 variable[0] = self;
35928 variable[1] = param0;
35929 variable[3] = NIT_NULL /*null*/;
35930 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35931 variable[4] = variable[5];
35932 variable[5] = variable[4] /*nodearraylist1*/;
35933 variable[6] = TAG_Bool(( variable[5] /*tminuseqnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tminuseqnode2*/, COLOR_TMinuseq, ID_TMinuseq)) /*cast TMinuseq*/;
35934 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction465___action, LOCATE_parser, 22140); nit_exit(1);}
35935 variable[7] = NEW_AMinusAssignOp_parser_prod___AMinusAssignOp___init_aminusassignop( variable[5] /*tminuseqnode2*/); /*new AMinusAssignOp*/
35936 variable[6] = variable[7];
35937 variable[3] = variable[6] /*passignopnode1*/ /*node_list=*/;
35938 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(34)) /*Parser::go_to*/;
35939 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
35940 return_label962: while(false);
35941 tracehead = trace.prev;
35942 return;
35943 }
35944 void parser___ReduceAction465___init(val_t self, int* init_table) {
35945 struct trace_t trace = {NULL, NULL, 22147, LOCATE_parser___ReduceAction465___init};
35946 val_t variable[2];
35947 void **closurevariable = NULL;
35948 trace.prev = tracehead; tracehead = &trace;
35949 trace.file = LOCATE_parser;
35950 variable[0] = self;
35951 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction465].i]) return;
35952 return_label963: while(false);
35953 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction465].i] = 1;
35954 tracehead = trace.prev;
35955 return;
35956 }
35957 void parser___ReduceAction466___action(val_t self, val_t param0) {
35958 struct trace_t trace = {NULL, NULL, 22151, LOCATE_parser___ReduceAction466___action};
35959 val_t variable[10];
35960 void **closurevariable = NULL;
35961 trace.prev = tracehead; tracehead = &trace;
35962 trace.file = LOCATE_parser;
35963 variable[0] = self;
35964 variable[1] = param0;
35965 variable[3] = NIT_NULL /*null*/;
35966 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35967 variable[4] = variable[5];
35968 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
35969 variable[5] = variable[6];
35970 variable[6] = variable[5] /*nodearraylist1*/;
35971 variable[7] = TAG_Bool(( variable[6] /*tkwdonode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tkwdonode2*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
35972 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction466___action, LOCATE_parser, 22157); nit_exit(1);}
35973 variable[7] = variable[4] /*nodearraylist2*/;
35974 variable[8] = TAG_Bool(( variable[7] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[7] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
35975 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction466___action, LOCATE_parser, 22159); nit_exit(1);}
35976 variable[9] = NEW_ADoExpr_parser_prod___ADoExpr___init_adoexpr( variable[6] /*tkwdonode2*/, variable[7] /*pexprnode3*/); /*new ADoExpr*/
35977 variable[8] = variable[9];
35978 variable[3] = variable[8] /*pexprnode1*/ /*node_list=*/;
35979 variable[9] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(35)) /*Parser::go_to*/;
35980 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
35981 return_label964: while(false);
35982 tracehead = trace.prev;
35983 return;
35984 }
35985 void parser___ReduceAction466___init(val_t self, int* init_table) {
35986 struct trace_t trace = {NULL, NULL, 22167, LOCATE_parser___ReduceAction466___init};
35987 val_t variable[2];
35988 void **closurevariable = NULL;
35989 trace.prev = tracehead; tracehead = &trace;
35990 trace.file = LOCATE_parser;
35991 variable[0] = self;
35992 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction466].i]) return;
35993 return_label965: while(false);
35994 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction466].i] = 1;
35995 tracehead = trace.prev;
35996 return;
35997 }
35998 void parser___ReduceAction467___action(val_t self, val_t param0) {
35999 struct trace_t trace = {NULL, NULL, 22171, LOCATE_parser___ReduceAction467___action};
36000 val_t variable[18];
36001 void **closurevariable = NULL;
36002 trace.prev = tracehead; tracehead = &trace;
36003 trace.file = LOCATE_parser;
36004 variable[0] = self;
36005 variable[1] = param0;
36006 variable[3] = NIT_NULL /*null*/;
36007 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36008 variable[4] = variable[5];
36009 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36010 variable[5] = variable[6];
36011 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36012 variable[6] = variable[7];
36013 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36014 variable[7] = variable[8];
36015 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36016 variable[8] = variable[9];
36017 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36018 variable[9] = variable[10];
36019 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36020 variable[10] = variable[11];
36021 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36022 variable[11] = variable[12];
36023 variable[12] = variable[11] /*nodearraylist1*/;
36024 variable[13] = TAG_Bool(( variable[12] /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
36025 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction467___action, LOCATE_parser, 22183); nit_exit(1);}
36026 variable[13] = variable[9] /*nodearraylist3*/;
36027 variable[14] = TAG_Bool(( variable[13] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
36028 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction467___action, LOCATE_parser, 22185); nit_exit(1);}
36029 variable[14] = variable[6] /*nodearraylist6*/;
36030 variable[15] = TAG_Bool(( variable[14] /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
36031 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction467___action, LOCATE_parser, 22187); nit_exit(1);}
36032 variable[15] = variable[4] /*nodearraylist8*/;
36033 variable[16] = TAG_Bool(( variable[15] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
36034 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction467___action, LOCATE_parser, 22189); nit_exit(1);}
36035 variable[17] = NEW_AIfExpr_parser_prod___AIfExpr___init_aifexpr( variable[12] /*tkwifnode2*/, variable[13] /*pexprnode3*/, variable[14] /*pexprnode4*/, variable[15] /*pexprnode5*/); /*new AIfExpr*/
36036 variable[16] = variable[17];
36037 variable[3] = variable[16] /*pexprnode1*/ /*node_list=*/;
36038 variable[17] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(36)) /*Parser::go_to*/;
36039 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
36040 return_label966: while(false);
36041 tracehead = trace.prev;
36042 return;
36043 }
36044 void parser___ReduceAction467___init(val_t self, int* init_table) {
36045 struct trace_t trace = {NULL, NULL, 22199, LOCATE_parser___ReduceAction467___init};
36046 val_t variable[2];
36047 void **closurevariable = NULL;
36048 trace.prev = tracehead; tracehead = &trace;
36049 trace.file = LOCATE_parser;
36050 variable[0] = self;
36051 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction467].i]) return;
36052 return_label967: while(false);
36053 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction467].i] = 1;
36054 tracehead = trace.prev;
36055 return;
36056 }
36057 void parser___ReduceAction468___action(val_t self, val_t param0) {
36058 struct trace_t trace = {NULL, NULL, 22203, LOCATE_parser___ReduceAction468___action};
36059 val_t variable[15];
36060 void **closurevariable = NULL;
36061 trace.prev = tracehead; tracehead = &trace;
36062 trace.file = LOCATE_parser;
36063 variable[0] = self;
36064 variable[1] = param0;
36065 variable[3] = NIT_NULL /*null*/;
36066 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36067 variable[4] = variable[5];
36068 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36069 variable[5] = variable[6];
36070 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36071 variable[6] = variable[7];
36072 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36073 variable[7] = variable[8];
36074 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36075 variable[8] = variable[9];
36076 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36077 variable[9] = variable[10];
36078 variable[10] = variable[9] /*nodearraylist1*/;
36079 variable[11] = TAG_Bool(( variable[10] /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
36080 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction468___action, LOCATE_parser, 22213); nit_exit(1);}
36081 variable[11] = variable[7] /*nodearraylist3*/;
36082 variable[12] = TAG_Bool(( variable[11] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
36083 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction468___action, LOCATE_parser, 22215); nit_exit(1);}
36084 variable[12] = variable[4] /*nodearraylist6*/;
36085 variable[13] = TAG_Bool(( variable[12] /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
36086 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction468___action, LOCATE_parser, 22217); nit_exit(1);}
36087 variable[14] = NEW_AIfExpr_parser_prod___AIfExpr___init_aifexpr( variable[10] /*tkwifnode2*/, variable[11] /*pexprnode3*/, variable[12] /*pexprnode4*/, NIT_NULL /*null*/); /*new AIfExpr*/
36088 variable[13] = variable[14];
36089 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
36090 variable[14] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(36)) /*Parser::go_to*/;
36091 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
36092 return_label968: while(false);
36093 tracehead = trace.prev;
36094 return;
36095 }
36096 void parser___ReduceAction468___init(val_t self, int* init_table) {
36097 struct trace_t trace = {NULL, NULL, 22227, LOCATE_parser___ReduceAction468___init};
36098 val_t variable[2];
36099 void **closurevariable = NULL;
36100 trace.prev = tracehead; tracehead = &trace;
36101 trace.file = LOCATE_parser;
36102 variable[0] = self;
36103 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction468].i]) return;
36104 return_label969: while(false);
36105 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction468].i] = 1;
36106 tracehead = trace.prev;
36107 return;
36108 }
36109 void parser___ReduceAction469___action(val_t self, val_t param0) {
36110 struct trace_t trace = {NULL, NULL, 22231, LOCATE_parser___ReduceAction469___action};
36111 val_t variable[21];
36112 void **closurevariable = NULL;
36113 trace.prev = tracehead; tracehead = &trace;
36114 trace.file = LOCATE_parser;
36115 variable[0] = self;
36116 variable[1] = param0;
36117 variable[3] = NIT_NULL /*null*/;
36118 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36119 variable[4] = variable[5];
36120 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36121 variable[5] = variable[6];
36122 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36123 variable[6] = variable[7];
36124 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36125 variable[7] = variable[8];
36126 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36127 variable[8] = variable[9];
36128 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36129 variable[9] = variable[10];
36130 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36131 variable[10] = variable[11];
36132 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36133 variable[11] = variable[12];
36134 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36135 variable[12] = variable[13];
36136 variable[13] = variable[12] /*nodearraylist1*/;
36137 variable[14] = TAG_Bool(( variable[13] /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
36138 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction469___action, LOCATE_parser, 22244); nit_exit(1);}
36139 variable[14] = variable[10] /*nodearraylist3*/;
36140 variable[15] = TAG_Bool(( variable[14] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[14] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
36141 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction469___action, LOCATE_parser, 22246); nit_exit(1);}
36142 variable[16] = NEW_Array_array___Array___init(); /*new Array[Object]*/
36143 variable[15] = variable[16];
36144 variable[16] = variable[6] /*nodearraylist7*/;
36145 variable[17] = TAG_Bool(( variable[16] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
36146 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction469___action, LOCATE_parser, 22249); nit_exit(1);}
36147 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[16] /*pexprnode5*/ == NIT_NULL /*null*/) || (( variable[16] /*pexprnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[16] /*pexprnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[16] /*pexprnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[16] /*pexprnode5*/,COLOR_kernel___Object_____eqeq))( variable[16] /*pexprnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
36148 if (UNTAG_Bool(variable[17])) { /*if*/
36149 ((array___AbstractArray___add_t)CALL( variable[15] /*listnode6*/,COLOR_abstract_collection___SimpleCollection___add))( variable[15] /*listnode6*/, variable[16] /*pexprnode5*/) /*AbstractArray::add*/;
36150 }
36151 variable[18] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr( variable[15] /*listnode6*/); /*new ABlockExpr*/
36152 variable[17] = variable[18];
36153 variable[18] = variable[4] /*nodearraylist9*/;
36154 variable[19] = TAG_Bool(( variable[18] /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable[18] /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
36155 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction469___action, LOCATE_parser, 22257); nit_exit(1);}
36156 variable[20] = NEW_AIfExpr_parser_prod___AIfExpr___init_aifexpr( variable[13] /*tkwifnode2*/, variable[14] /*pexprnode3*/, variable[17] /*pexprnode4*/, variable[18] /*pexprnode7*/); /*new AIfExpr*/
36157 variable[19] = variable[20];
36158 variable[3] = variable[19] /*pexprnode1*/ /*node_list=*/;
36159 variable[20] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(36)) /*Parser::go_to*/;
36160 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
36161 return_label970: while(false);
36162 tracehead = trace.prev;
36163 return;
36164 }
36165 void parser___ReduceAction469___init(val_t self, int* init_table) {
36166 struct trace_t trace = {NULL, NULL, 22267, LOCATE_parser___ReduceAction469___init};
36167 val_t variable[2];
36168 void **closurevariable = NULL;
36169 trace.prev = tracehead; tracehead = &trace;
36170 trace.file = LOCATE_parser;
36171 variable[0] = self;
36172 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction469].i]) return;
36173 return_label971: while(false);
36174 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction469].i] = 1;
36175 tracehead = trace.prev;
36176 return;
36177 }
36178 void parser___ReduceAction470___action(val_t self, val_t param0) {
36179 struct trace_t trace = {NULL, NULL, 22271, LOCATE_parser___ReduceAction470___action};
36180 val_t variable[23];
36181 void **closurevariable = NULL;
36182 trace.prev = tracehead; tracehead = &trace;
36183 trace.file = LOCATE_parser;
36184 variable[0] = self;
36185 variable[1] = param0;
36186 variable[3] = NIT_NULL /*null*/;
36187 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36188 variable[4] = variable[5];
36189 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36190 variable[5] = variable[6];
36191 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36192 variable[6] = variable[7];
36193 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36194 variable[7] = variable[8];
36195 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36196 variable[8] = variable[9];
36197 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36198 variable[9] = variable[10];
36199 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36200 variable[10] = variable[11];
36201 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36202 variable[11] = variable[12];
36203 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36204 variable[12] = variable[13];
36205 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36206 variable[13] = variable[14];
36207 variable[14] = variable[13] /*nodearraylist1*/;
36208 variable[15] = TAG_Bool(( variable[14] /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
36209 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction470___action, LOCATE_parser, 22285); nit_exit(1);}
36210 variable[15] = variable[11] /*nodearraylist3*/;
36211 variable[16] = TAG_Bool(( variable[15] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[15] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
36212 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction470___action, LOCATE_parser, 22287); nit_exit(1);}
36213 variable[17] = NEW_Array_array___Array___init(); /*new Array[Object]*/
36214 variable[16] = variable[17];
36215 variable[17] = variable[7] /*nodearraylist7*/;
36216 variable[18] = TAG_Bool(( variable[17] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[17] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
36217 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction470___action, LOCATE_parser, 22290); nit_exit(1);}
36218 variable[18] = variable[6] /*nodearraylist8*/;
36219 variable[19] = TAG_Bool(( variable[18] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[18] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
36220 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction470___action, LOCATE_parser, 22292); nit_exit(1);}
36221 variable[19] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[17] /*pexprnode5*/ == NIT_NULL /*null*/) || (( variable[17] /*pexprnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[17] /*pexprnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[17] /*pexprnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[17] /*pexprnode5*/,COLOR_kernel___Object_____eqeq))( variable[17] /*pexprnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
36222 if (UNTAG_Bool(variable[19])) { /*if*/
36223 ((array___AbstractArray___add_t)CALL( variable[16] /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable[16] /*listnode7*/, variable[17] /*pexprnode5*/) /*AbstractArray::add*/;
36224 }
36225 variable[19] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[18] /*listnode6*/ == NIT_NULL /*null*/) || (( variable[18] /*listnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[18] /*listnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[18] /*listnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[18] /*listnode6*/,COLOR_kernel___Object_____eqeq))( variable[18] /*listnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
36226 if (UNTAG_Bool(variable[19])) { /*if*/
36227 variable[19] = ((array___AbstractArray___is_empty_t)CALL( variable[16] /*listnode7*/,COLOR_abstract_collection___Collection___is_empty))( variable[16] /*listnode7*/) /*AbstractArray::is_empty*/;
36228 if (UNTAG_Bool(variable[19])) { /*if*/
36229 variable[16] = variable[18] /*listnode6*/ /*listnode7=*/;
36230 } else { /*if*/
36231 ((abstract_collection___IndexedCollection___append_t)CALL( variable[16] /*listnode7*/,COLOR_abstract_collection___IndexedCollection___append))( variable[16] /*listnode7*/, variable[18] /*listnode6*/) /*IndexedCollection::append*/;
36232 }
36233 }
36234 variable[20] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr( variable[16] /*listnode7*/); /*new ABlockExpr*/
36235 variable[19] = variable[20];
36236 variable[20] = variable[4] /*nodearraylist10*/;
36237 variable[21] = TAG_Bool(( variable[20] /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable[20] /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
36238 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction470___action, LOCATE_parser, 22307); nit_exit(1);}
36239 variable[22] = NEW_AIfExpr_parser_prod___AIfExpr___init_aifexpr( variable[14] /*tkwifnode2*/, variable[15] /*pexprnode3*/, variable[19] /*pexprnode4*/, variable[20] /*pexprnode8*/); /*new AIfExpr*/
36240 variable[21] = variable[22];
36241 variable[3] = variable[21] /*pexprnode1*/ /*node_list=*/;
36242 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(36)) /*Parser::go_to*/;
36243 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
36244 return_label972: while(false);
36245 tracehead = trace.prev;
36246 return;
36247 }
36248 void parser___ReduceAction470___init(val_t self, int* init_table) {
36249 struct trace_t trace = {NULL, NULL, 22317, LOCATE_parser___ReduceAction470___init};
36250 val_t variable[2];
36251 void **closurevariable = NULL;
36252 trace.prev = tracehead; tracehead = &trace;
36253 trace.file = LOCATE_parser;
36254 variable[0] = self;
36255 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction470].i]) return;
36256 return_label973: while(false);
36257 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction470].i] = 1;
36258 tracehead = trace.prev;
36259 return;
36260 }
36261 void parser___ReduceAction471___action(val_t self, val_t param0) {
36262 struct trace_t trace = {NULL, NULL, 22321, LOCATE_parser___ReduceAction471___action};
36263 val_t variable[15];
36264 void **closurevariable = NULL;
36265 trace.prev = tracehead; tracehead = &trace;
36266 trace.file = LOCATE_parser;
36267 variable[0] = self;
36268 variable[1] = param0;
36269 variable[3] = NIT_NULL /*null*/;
36270 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36271 variable[4] = variable[5];
36272 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36273 variable[5] = variable[6];
36274 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36275 variable[6] = variable[7];
36276 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36277 variable[7] = variable[8];
36278 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36279 variable[8] = variable[9];
36280 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36281 variable[9] = variable[10];
36282 variable[10] = variable[9] /*nodearraylist1*/;
36283 variable[11] = TAG_Bool(( variable[10] /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
36284 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction471___action, LOCATE_parser, 22331); nit_exit(1);}
36285 variable[11] = variable[7] /*nodearraylist3*/;
36286 variable[12] = TAG_Bool(( variable[11] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
36287 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction471___action, LOCATE_parser, 22333); nit_exit(1);}
36288 variable[12] = variable[4] /*nodearraylist6*/;
36289 variable[13] = TAG_Bool(( variable[12] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
36290 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction471___action, LOCATE_parser, 22335); nit_exit(1);}
36291 variable[14] = NEW_AIfExpr_parser_prod___AIfExpr___init_aifexpr( variable[10] /*tkwifnode2*/, variable[11] /*pexprnode3*/, NIT_NULL /*null*/, variable[12] /*pexprnode5*/); /*new AIfExpr*/
36292 variable[13] = variable[14];
36293 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
36294 variable[14] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(36)) /*Parser::go_to*/;
36295 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
36296 return_label974: while(false);
36297 tracehead = trace.prev;
36298 return;
36299 }
36300 void parser___ReduceAction471___init(val_t self, int* init_table) {
36301 struct trace_t trace = {NULL, NULL, 22345, LOCATE_parser___ReduceAction471___init};
36302 val_t variable[2];
36303 void **closurevariable = NULL;
36304 trace.prev = tracehead; tracehead = &trace;
36305 trace.file = LOCATE_parser;
36306 variable[0] = self;
36307 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction471].i]) return;
36308 return_label975: while(false);
36309 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction471].i] = 1;
36310 tracehead = trace.prev;
36311 return;
36312 }
36313 void parser___ReduceAction472___action(val_t self, val_t param0) {
36314 struct trace_t trace = {NULL, NULL, 22349, LOCATE_parser___ReduceAction472___action};
36315 val_t variable[16];
36316 void **closurevariable = NULL;
36317 trace.prev = tracehead; tracehead = &trace;
36318 trace.file = LOCATE_parser;
36319 variable[0] = self;
36320 variable[1] = param0;
36321 variable[3] = NIT_NULL /*null*/;
36322 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36323 variable[4] = variable[5];
36324 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36325 variable[5] = variable[6];
36326 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36327 variable[6] = variable[7];
36328 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36329 variable[7] = variable[8];
36330 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36331 variable[8] = variable[9];
36332 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36333 variable[9] = variable[10];
36334 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36335 variable[10] = variable[11];
36336 variable[11] = variable[10] /*nodearraylist1*/;
36337 variable[12] = TAG_Bool(( variable[11] /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
36338 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction472___action, LOCATE_parser, 22360); nit_exit(1);}
36339 variable[12] = variable[8] /*nodearraylist3*/;
36340 variable[13] = TAG_Bool(( variable[12] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
36341 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction472___action, LOCATE_parser, 22362); nit_exit(1);}
36342 variable[13] = variable[4] /*nodearraylist7*/;
36343 variable[14] = TAG_Bool(( variable[13] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
36344 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction472___action, LOCATE_parser, 22364); nit_exit(1);}
36345 variable[15] = NEW_AIfExpr_parser_prod___AIfExpr___init_aifexpr( variable[11] /*tkwifnode2*/, variable[12] /*pexprnode3*/, NIT_NULL /*null*/, variable[13] /*pexprnode5*/); /*new AIfExpr*/
36346 variable[14] = variable[15];
36347 variable[3] = variable[14] /*pexprnode1*/ /*node_list=*/;
36348 variable[15] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(36)) /*Parser::go_to*/;
36349 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
36350 return_label976: while(false);
36351 tracehead = trace.prev;
36352 return;
36353 }
36354 void parser___ReduceAction472___init(val_t self, int* init_table) {
36355 struct trace_t trace = {NULL, NULL, 22374, LOCATE_parser___ReduceAction472___init};
36356 val_t variable[2];
36357 void **closurevariable = NULL;
36358 trace.prev = tracehead; tracehead = &trace;
36359 trace.file = LOCATE_parser;
36360 variable[0] = self;
36361 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction472].i]) return;
36362 return_label977: while(false);
36363 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction472].i] = 1;
36364 tracehead = trace.prev;
36365 return;
36366 }
36367 void parser___ReduceAction473___action(val_t self, val_t param0) {
36368 struct trace_t trace = {NULL, NULL, 22378, LOCATE_parser___ReduceAction473___action};
36369 val_t variable[8];
36370 void **closurevariable = NULL;
36371 trace.prev = tracehead; tracehead = &trace;
36372 trace.file = LOCATE_parser;
36373 variable[0] = self;
36374 variable[1] = param0;
36375 variable[3] = NIT_NULL /*null*/;
36376 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36377 variable[4] = variable[5];
36378 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36379 variable[5] = variable[6];
36380 variable[6] = variable[4] /*nodearraylist2*/;
36381 variable[7] = TAG_Bool(( variable[6] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
36382 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction473___action, LOCATE_parser, 22384); nit_exit(1);}
36383 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
36384 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(37)) /*Parser::go_to*/;
36385 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
36386 return_label978: while(false);
36387 tracehead = trace.prev;
36388 return;
36389 }
36390 void parser___ReduceAction473___init(val_t self, int* init_table) {
36391 struct trace_t trace = {NULL, NULL, 22388, LOCATE_parser___ReduceAction473___init};
36392 val_t variable[2];
36393 void **closurevariable = NULL;
36394 trace.prev = tracehead; tracehead = &trace;
36395 trace.file = LOCATE_parser;
36396 variable[0] = self;
36397 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction473].i]) return;
36398 return_label979: while(false);
36399 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction473].i] = 1;
36400 tracehead = trace.prev;
36401 return;
36402 }
36403 void parser___ReduceAction474___action(val_t self, val_t param0) {
36404 struct trace_t trace = {NULL, NULL, 22392, LOCATE_parser___ReduceAction474___action};
36405 val_t variable[6];
36406 void **closurevariable = NULL;
36407 trace.prev = tracehead; tracehead = &trace;
36408 trace.file = LOCATE_parser;
36409 variable[0] = self;
36410 variable[1] = param0;
36411 variable[3] = NIT_NULL /*null*/;
36412 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36413 variable[4] = variable[5];
36414 variable[3] = NIT_NULL /*null*/ /*node_list=*/;
36415 variable[5] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(37)) /*Parser::go_to*/;
36416 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[5], variable[3] /*node_list*/) /*Parser::push*/;
36417 return_label980: while(false);
36418 tracehead = trace.prev;
36419 return;
36420 }
36421 void parser___ReduceAction474___init(val_t self, int* init_table) {
36422 struct trace_t trace = {NULL, NULL, 22399, LOCATE_parser___ReduceAction474___init};
36423 val_t variable[2];
36424 void **closurevariable = NULL;
36425 trace.prev = tracehead; tracehead = &trace;
36426 trace.file = LOCATE_parser;
36427 variable[0] = self;
36428 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction474].i]) return;
36429 return_label981: while(false);
36430 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction474].i] = 1;
36431 tracehead = trace.prev;
36432 return;
36433 }
36434 void parser___ReduceAction475___action(val_t self, val_t param0) {
36435 struct trace_t trace = {NULL, NULL, 22403, LOCATE_parser___ReduceAction475___action};
36436 val_t variable[16];
36437 void **closurevariable = NULL;
36438 trace.prev = tracehead; tracehead = &trace;
36439 trace.file = LOCATE_parser;
36440 variable[0] = self;
36441 variable[1] = param0;
36442 variable[3] = NIT_NULL /*null*/;
36443 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36444 variable[4] = variable[5];
36445 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36446 variable[5] = variable[6];
36447 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36448 variable[6] = variable[7];
36449 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36450 variable[7] = variable[8];
36451 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36452 variable[8] = variable[9];
36453 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36454 variable[9] = variable[10];
36455 variable[10] = variable[9] /*nodearraylist1*/;
36456 variable[11] = TAG_Bool(( variable[10] /*tkwwhilenode2*/==NIT_NULL) || VAL_ISA( variable[10] /*tkwwhilenode2*/, COLOR_TKwwhile, ID_TKwwhile)) /*cast TKwwhile*/;
36457 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction475___action, LOCATE_parser, 22413); nit_exit(1);}
36458 variable[11] = variable[7] /*nodearraylist3*/;
36459 variable[12] = TAG_Bool(( variable[11] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
36460 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction475___action, LOCATE_parser, 22415); nit_exit(1);}
36461 variable[12] = variable[5] /*nodearraylist5*/;
36462 variable[13] = TAG_Bool(( variable[12] /*tkwdonode4*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwdonode4*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
36463 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction475___action, LOCATE_parser, 22417); nit_exit(1);}
36464 variable[13] = variable[4] /*nodearraylist6*/;
36465 variable[14] = TAG_Bool(( variable[13] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
36466 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction475___action, LOCATE_parser, 22419); nit_exit(1);}
36467 variable[15] = NEW_AWhileExpr_parser_prod___AWhileExpr___init_awhileexpr( variable[10] /*tkwwhilenode2*/, variable[11] /*pexprnode3*/, variable[12] /*tkwdonode4*/, variable[13] /*pexprnode5*/); /*new AWhileExpr*/
36468 variable[14] = variable[15];
36469 variable[3] = variable[14] /*pexprnode1*/ /*node_list=*/;
36470 variable[15] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(38)) /*Parser::go_to*/;
36471 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
36472 return_label982: while(false);
36473 tracehead = trace.prev;
36474 return;
36475 }
36476 void parser___ReduceAction475___init(val_t self, int* init_table) {
36477 struct trace_t trace = {NULL, NULL, 22429, LOCATE_parser___ReduceAction475___init};
36478 val_t variable[2];
36479 void **closurevariable = NULL;
36480 trace.prev = tracehead; tracehead = &trace;
36481 trace.file = LOCATE_parser;
36482 variable[0] = self;
36483 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction475].i]) return;
36484 return_label983: while(false);
36485 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction475].i] = 1;
36486 tracehead = trace.prev;
36487 return;
36488 }
36489 void parser___ReduceAction476___action(val_t self, val_t param0) {
36490 struct trace_t trace = {NULL, NULL, 22433, LOCATE_parser___ReduceAction476___action};
36491 val_t variable[13];
36492 void **closurevariable = NULL;
36493 trace.prev = tracehead; tracehead = &trace;
36494 trace.file = LOCATE_parser;
36495 variable[0] = self;
36496 variable[1] = param0;
36497 variable[3] = NIT_NULL /*null*/;
36498 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36499 variable[4] = variable[5];
36500 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36501 variable[5] = variable[6];
36502 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36503 variable[6] = variable[7];
36504 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36505 variable[7] = variable[8];
36506 variable[8] = variable[7] /*nodearraylist1*/;
36507 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
36508 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction476___action, LOCATE_parser, 22441); nit_exit(1);}
36509 variable[9] = variable[5] /*nodearraylist3*/;
36510 variable[10] = TAG_Bool(( variable[9] /*tkwdonode3*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwdonode3*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
36511 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction476___action, LOCATE_parser, 22443); nit_exit(1);}
36512 variable[10] = variable[4] /*nodearraylist4*/;
36513 variable[11] = TAG_Bool(( variable[10] /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
36514 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction476___action, LOCATE_parser, 22445); nit_exit(1);}
36515 variable[12] = NEW_AForExpr_parser_prod___AForExpr___init_aforexpr( variable[8] /*pexprnode2*/, variable[9] /*tkwdonode3*/, variable[10] /*pexprnode4*/); /*new AForExpr*/
36516 variable[11] = variable[12];
36517 variable[3] = variable[11] /*pexprnode1*/ /*node_list=*/;
36518 variable[12] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(39)) /*Parser::go_to*/;
36519 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
36520 return_label984: while(false);
36521 tracehead = trace.prev;
36522 return;
36523 }
36524 void parser___ReduceAction476___init(val_t self, int* init_table) {
36525 struct trace_t trace = {NULL, NULL, 22454, LOCATE_parser___ReduceAction476___init};
36526 val_t variable[2];
36527 void **closurevariable = NULL;
36528 trace.prev = tracehead; tracehead = &trace;
36529 trace.file = LOCATE_parser;
36530 variable[0] = self;
36531 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction476].i]) return;
36532 return_label985: while(false);
36533 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction476].i] = 1;
36534 tracehead = trace.prev;
36535 return;
36536 }
36537 void parser___ReduceAction477___action(val_t self, val_t param0) {
36538 struct trace_t trace = {NULL, NULL, 22458, LOCATE_parser___ReduceAction477___action};
36539 val_t variable[16];
36540 void **closurevariable = NULL;
36541 trace.prev = tracehead; tracehead = &trace;
36542 trace.file = LOCATE_parser;
36543 variable[0] = self;
36544 variable[1] = param0;
36545 variable[3] = NIT_NULL /*null*/;
36546 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36547 variable[4] = variable[5];
36548 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36549 variable[5] = variable[6];
36550 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36551 variable[6] = variable[7];
36552 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36553 variable[7] = variable[8];
36554 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36555 variable[8] = variable[9];
36556 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36557 variable[9] = variable[10];
36558 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36559 variable[10] = variable[11];
36560 variable[11] = variable[10] /*nodearraylist1*/;
36561 variable[12] = TAG_Bool(( variable[11] /*tkwfornode2*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwfornode2*/, COLOR_TKwfor, ID_TKwfor)) /*cast TKwfor*/;
36562 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction477___action, LOCATE_parser, 22469); nit_exit(1);}
36563 variable[12] = variable[8] /*nodearraylist3*/;
36564 variable[13] = TAG_Bool(( variable[12] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[12] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
36565 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction477___action, LOCATE_parser, 22471); nit_exit(1);}
36566 variable[13] = variable[4] /*nodearraylist7*/;
36567 variable[14] = TAG_Bool(( variable[13] /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable[13] /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
36568 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction477___action, LOCATE_parser, 22473); nit_exit(1);}
36569 variable[15] = NEW_AForVardeclExpr_parser_prod___AForVardeclExpr___init_aforvardeclexpr( variable[11] /*tkwfornode2*/, variable[12] /*tidnode3*/, variable[13] /*pexprnode4*/); /*new AForVardeclExpr*/
36570 variable[14] = variable[15];
36571 variable[3] = variable[14] /*pexprnode1*/ /*node_list=*/;
36572 variable[15] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(40)) /*Parser::go_to*/;
36573 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
36574 return_label986: while(false);
36575 tracehead = trace.prev;
36576 return;
36577 }
36578 void parser___ReduceAction477___init(val_t self, int* init_table) {
36579 struct trace_t trace = {NULL, NULL, 22482, LOCATE_parser___ReduceAction477___init};
36580 val_t variable[2];
36581 void **closurevariable = NULL;
36582 trace.prev = tracehead; tracehead = &trace;
36583 trace.file = LOCATE_parser;
36584 variable[0] = self;
36585 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction477].i]) return;
36586 return_label987: while(false);
36587 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction477].i] = 1;
36588 tracehead = trace.prev;
36589 return;
36590 }
36591 void parser___ReduceAction478___action(val_t self, val_t param0) {
36592 struct trace_t trace = {NULL, NULL, 22486, LOCATE_parser___ReduceAction478___action};
36593 val_t variable[10];
36594 void **closurevariable = NULL;
36595 trace.prev = tracehead; tracehead = &trace;
36596 trace.file = LOCATE_parser;
36597 variable[0] = self;
36598 variable[1] = param0;
36599 variable[3] = NIT_NULL /*null*/;
36600 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36601 variable[4] = variable[5];
36602 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36603 variable[5] = variable[6];
36604 variable[6] = variable[5] /*nodearraylist1*/;
36605 variable[7] = TAG_Bool(( variable[6] /*tkwassertnode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tkwassertnode2*/, COLOR_TKwassert, ID_TKwassert)) /*cast TKwassert*/;
36606 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction478___action, LOCATE_parser, 22492); nit_exit(1);}
36607 variable[7] = variable[4] /*nodearraylist2*/;
36608 variable[8] = TAG_Bool(( variable[7] /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable[7] /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
36609 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction478___action, LOCATE_parser, 22494); nit_exit(1);}
36610 variable[9] = NEW_AAssertExpr_parser_prod___AAssertExpr___init_aassertexpr( variable[6] /*tkwassertnode2*/, NIT_NULL /*null*/, variable[7] /*pexprnode4*/); /*new AAssertExpr*/
36611 variable[8] = variable[9];
36612 variable[3] = variable[8] /*pexprnode1*/ /*node_list=*/;
36613 variable[9] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(41)) /*Parser::go_to*/;
36614 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
36615 return_label988: while(false);
36616 tracehead = trace.prev;
36617 return;
36618 }
36619 void parser___ReduceAction478___init(val_t self, int* init_table) {
36620 struct trace_t trace = {NULL, NULL, 22503, LOCATE_parser___ReduceAction478___init};
36621 val_t variable[2];
36622 void **closurevariable = NULL;
36623 trace.prev = tracehead; tracehead = &trace;
36624 trace.file = LOCATE_parser;
36625 variable[0] = self;
36626 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction478].i]) return;
36627 return_label989: while(false);
36628 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction478].i] = 1;
36629 tracehead = trace.prev;
36630 return;
36631 }
36632 void parser___ReduceAction479___action(val_t self, val_t param0) {
36633 struct trace_t trace = {NULL, NULL, 22507, LOCATE_parser___ReduceAction479___action};
36634 val_t variable[12];
36635 void **closurevariable = NULL;
36636 trace.prev = tracehead; tracehead = &trace;
36637 trace.file = LOCATE_parser;
36638 variable[0] = self;
36639 variable[1] = param0;
36640 variable[3] = NIT_NULL /*null*/;
36641 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36642 variable[4] = variable[5];
36643 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36644 variable[5] = variable[6];
36645 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36646 variable[6] = variable[7];
36647 variable[7] = variable[6] /*nodearraylist1*/;
36648 variable[8] = TAG_Bool(( variable[7] /*tkwassertnode2*/==NIT_NULL) || VAL_ISA( variable[7] /*tkwassertnode2*/, COLOR_TKwassert, ID_TKwassert)) /*cast TKwassert*/;
36649 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction479___action, LOCATE_parser, 22514); nit_exit(1);}
36650 variable[8] = variable[5] /*nodearraylist2*/;
36651 variable[9] = TAG_Bool(( variable[8] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
36652 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction479___action, LOCATE_parser, 22516); nit_exit(1);}
36653 variable[9] = variable[4] /*nodearraylist3*/;
36654 variable[10] = TAG_Bool(( variable[9] /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
36655 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction479___action, LOCATE_parser, 22518); nit_exit(1);}
36656 variable[11] = NEW_AAssertExpr_parser_prod___AAssertExpr___init_aassertexpr( variable[7] /*tkwassertnode2*/, variable[8] /*tidnode3*/, variable[9] /*pexprnode4*/); /*new AAssertExpr*/
36657 variable[10] = variable[11];
36658 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
36659 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(41)) /*Parser::go_to*/;
36660 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
36661 return_label990: while(false);
36662 tracehead = trace.prev;
36663 return;
36664 }
36665 void parser___ReduceAction479___init(val_t self, int* init_table) {
36666 struct trace_t trace = {NULL, NULL, 22527, LOCATE_parser___ReduceAction479___init};
36667 val_t variable[2];
36668 void **closurevariable = NULL;
36669 trace.prev = tracehead; tracehead = &trace;
36670 trace.file = LOCATE_parser;
36671 variable[0] = self;
36672 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction479].i]) return;
36673 return_label991: while(false);
36674 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction479].i] = 1;
36675 tracehead = trace.prev;
36676 return;
36677 }
36678 void parser___ReduceAction480___action(val_t self, val_t param0) {
36679 struct trace_t trace = {NULL, NULL, 22531, LOCATE_parser___ReduceAction480___action};
36680 val_t variable[8];
36681 void **closurevariable = NULL;
36682 trace.prev = tracehead; tracehead = &trace;
36683 trace.file = LOCATE_parser;
36684 variable[0] = self;
36685 variable[1] = param0;
36686 variable[3] = NIT_NULL /*null*/;
36687 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36688 variable[4] = variable[5];
36689 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36690 variable[5] = variable[6];
36691 variable[6] = variable[5] /*nodearraylist1*/;
36692 variable[7] = TAG_Bool(( variable[6] /*tidnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*tidnode1*/, COLOR_TId, ID_TId)) /*cast TId*/;
36693 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction480___action, LOCATE_parser, 22537); nit_exit(1);}
36694 variable[3] = variable[6] /*tidnode1*/ /*node_list=*/;
36695 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(42)) /*Parser::go_to*/;
36696 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
36697 return_label992: while(false);
36698 tracehead = trace.prev;
36699 return;
36700 }
36701 void parser___ReduceAction480___init(val_t self, int* init_table) {
36702 struct trace_t trace = {NULL, NULL, 22541, LOCATE_parser___ReduceAction480___init};
36703 val_t variable[2];
36704 void **closurevariable = NULL;
36705 trace.prev = tracehead; tracehead = &trace;
36706 trace.file = LOCATE_parser;
36707 variable[0] = self;
36708 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction480].i]) return;
36709 return_label993: while(false);
36710 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction480].i] = 1;
36711 tracehead = trace.prev;
36712 return;
36713 }
36714 void parser___ReduceAction481___action(val_t self, val_t param0) {
36715 struct trace_t trace = {NULL, NULL, 22545, LOCATE_parser___ReduceAction481___action};
36716 val_t variable[7];
36717 void **closurevariable = NULL;
36718 trace.prev = tracehead; tracehead = &trace;
36719 trace.file = LOCATE_parser;
36720 variable[0] = self;
36721 variable[1] = param0;
36722 variable[3] = NIT_NULL /*null*/;
36723 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36724 variable[4] = variable[5];
36725 variable[5] = variable[4] /*nodearraylist1*/;
36726 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
36727 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction481___action, LOCATE_parser, 22550); nit_exit(1);}
36728 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
36729 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(43)) /*Parser::go_to*/;
36730 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
36731 return_label994: while(false);
36732 tracehead = trace.prev;
36733 return;
36734 }
36735 void parser___ReduceAction481___init(val_t self, int* init_table) {
36736 struct trace_t trace = {NULL, NULL, 22554, LOCATE_parser___ReduceAction481___init};
36737 val_t variable[2];
36738 void **closurevariable = NULL;
36739 trace.prev = tracehead; tracehead = &trace;
36740 trace.file = LOCATE_parser;
36741 variable[0] = self;
36742 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction481].i]) return;
36743 return_label995: while(false);
36744 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction481].i] = 1;
36745 tracehead = trace.prev;
36746 return;
36747 }
36748 void parser___ReduceAction482___action(val_t self, val_t param0) {
36749 struct trace_t trace = {NULL, NULL, 22558, LOCATE_parser___ReduceAction482___action};
36750 val_t variable[18];
36751 void **closurevariable = NULL;
36752 trace.prev = tracehead; tracehead = &trace;
36753 trace.file = LOCATE_parser;
36754 variable[0] = self;
36755 variable[1] = param0;
36756 variable[3] = NIT_NULL /*null*/;
36757 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36758 variable[4] = variable[5];
36759 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36760 variable[5] = variable[6];
36761 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36762 variable[6] = variable[7];
36763 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36764 variable[7] = variable[8];
36765 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36766 variable[8] = variable[9];
36767 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36768 variable[9] = variable[10];
36769 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
36770 variable[10] = variable[11];
36771 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
36772 variable[11] = variable[12];
36773 variable[12] = variable[9] /*nodearraylist1*/;
36774 variable[13] = TAG_Bool(( variable[12] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
36775 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction482___action, LOCATE_parser, 22570); nit_exit(1);}
36776 variable[13] = variable[6] /*nodearraylist4*/;
36777 variable[14] = TAG_Bool(( variable[13] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
36778 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction482___action, LOCATE_parser, 22572); nit_exit(1);}
36779 variable[14] = variable[5] /*nodearraylist5*/;
36780 variable[15] = TAG_Bool(( variable[14] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
36781 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction482___action, LOCATE_parser, 22574); nit_exit(1);}
36782 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[14] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[14] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[14] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[14] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
36783 if (UNTAG_Bool(variable[15])) { /*if*/
36784 variable[15] = ((array___AbstractArray___is_empty_t)CALL( variable[10] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[10] /*listnode5*/) /*AbstractArray::is_empty*/;
36785 if (UNTAG_Bool(variable[15])) { /*if*/
36786 variable[10] = variable[14] /*listnode4*/ /*listnode5=*/;
36787 } else { /*if*/
36788 ((abstract_collection___IndexedCollection___append_t)CALL( variable[10] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[10] /*listnode5*/, variable[14] /*listnode4*/) /*IndexedCollection::append*/;
36789 }
36790 }
36791 variable[15] = variable[4] /*nodearraylist6*/;
36792 variable[16] = TAG_Bool(( variable[15] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
36793 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction482___action, LOCATE_parser, 22583); nit_exit(1);}
36794 variable[16] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*listnode6*/ == NIT_NULL /*null*/) || (( variable[15] /*listnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[15] /*listnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*listnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[15] /*listnode6*/,COLOR_kernel___Object_____eqeq))( variable[15] /*listnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
36795 if (UNTAG_Bool(variable[16])) { /*if*/
36796 variable[16] = ((array___AbstractArray___is_empty_t)CALL( variable[11] /*listnode7*/,COLOR_abstract_collection___Collection___is_empty))( variable[11] /*listnode7*/) /*AbstractArray::is_empty*/;
36797 if (UNTAG_Bool(variable[16])) { /*if*/
36798 variable[11] = variable[15] /*listnode6*/ /*listnode7=*/;
36799 } else { /*if*/
36800 ((abstract_collection___IndexedCollection___append_t)CALL( variable[11] /*listnode7*/,COLOR_abstract_collection___IndexedCollection___append))( variable[11] /*listnode7*/, variable[15] /*listnode6*/) /*IndexedCollection::append*/;
36801 }
36802 }
36803 variable[17] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[12] /*pexprnode2*/, variable[13] /*tidnode3*/, variable[10] /*listnode5*/, variable[11] /*listnode7*/); /*new ACallExpr*/
36804 variable[16] = variable[17];
36805 variable[3] = variable[16] /*pexprnode1*/ /*node_list=*/;
36806 variable[17] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(43)) /*Parser::go_to*/;
36807 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
36808 return_label996: while(false);
36809 tracehead = trace.prev;
36810 return;
36811 }
36812 void parser___ReduceAction482___init(val_t self, int* init_table) {
36813 struct trace_t trace = {NULL, NULL, 22600, LOCATE_parser___ReduceAction482___init};
36814 val_t variable[2];
36815 void **closurevariable = NULL;
36816 trace.prev = tracehead; tracehead = &trace;
36817 trace.file = LOCATE_parser;
36818 variable[0] = self;
36819 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction482].i]) return;
36820 return_label997: while(false);
36821 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction482].i] = 1;
36822 tracehead = trace.prev;
36823 return;
36824 }
36825 void parser___ReduceAction483___action(val_t self, val_t param0) {
36826 struct trace_t trace = {NULL, NULL, 22604, LOCATE_parser___ReduceAction483___action};
36827 val_t variable[15];
36828 void **closurevariable = NULL;
36829 trace.prev = tracehead; tracehead = &trace;
36830 trace.file = LOCATE_parser;
36831 variable[0] = self;
36832 variable[1] = param0;
36833 variable[3] = NIT_NULL /*null*/;
36834 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36835 variable[4] = variable[5];
36836 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36837 variable[5] = variable[6];
36838 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36839 variable[6] = variable[7];
36840 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
36841 variable[7] = variable[8];
36842 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
36843 variable[8] = variable[9];
36844 variable[10] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
36845 variable[9] = variable[10];
36846 variable[10] = variable[6] /*nodearraylist1*/;
36847 variable[11] = TAG_Bool(( variable[10] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
36848 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction483___action, LOCATE_parser, 22615); nit_exit(1);}
36849 variable[11] = variable[5] /*nodearraylist2*/;
36850 variable[12] = TAG_Bool(( variable[11] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
36851 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction483___action, LOCATE_parser, 22617); nit_exit(1);}
36852 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[11] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
36853 if (UNTAG_Bool(variable[12])) { /*if*/
36854 variable[12] = ((array___AbstractArray___is_empty_t)CALL( variable[7] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[7] /*listnode5*/) /*AbstractArray::is_empty*/;
36855 if (UNTAG_Bool(variable[12])) { /*if*/
36856 variable[7] = variable[11] /*listnode4*/ /*listnode5=*/;
36857 } else { /*if*/
36858 ((abstract_collection___IndexedCollection___append_t)CALL( variable[7] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[7] /*listnode5*/, variable[11] /*listnode4*/) /*IndexedCollection::append*/;
36859 }
36860 }
36861 variable[12] = variable[4] /*nodearraylist3*/;
36862 variable[13] = TAG_Bool(( variable[12] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
36863 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction483___action, LOCATE_parser, 22626); nit_exit(1);}
36864 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode6*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode6*/,COLOR_kernel___Object_____eqeq))( variable[12] /*listnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
36865 if (UNTAG_Bool(variable[13])) { /*if*/
36866 variable[13] = ((array___AbstractArray___is_empty_t)CALL( variable[8] /*listnode7*/,COLOR_abstract_collection___Collection___is_empty))( variable[8] /*listnode7*/) /*AbstractArray::is_empty*/;
36867 if (UNTAG_Bool(variable[13])) { /*if*/
36868 variable[8] = variable[12] /*listnode6*/ /*listnode7=*/;
36869 } else { /*if*/
36870 ((abstract_collection___IndexedCollection___append_t)CALL( variable[8] /*listnode7*/,COLOR_abstract_collection___IndexedCollection___append))( variable[8] /*listnode7*/, variable[12] /*listnode6*/) /*IndexedCollection::append*/;
36871 }
36872 }
36873 variable[14] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[9] /*pexprnode2*/, variable[10] /*tidnode3*/, variable[7] /*listnode5*/, variable[8] /*listnode7*/); /*new ACallExpr*/
36874 variable[13] = variable[14];
36875 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
36876 variable[14] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(43)) /*Parser::go_to*/;
36877 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
36878 return_label998: while(false);
36879 tracehead = trace.prev;
36880 return;
36881 }
36882 void parser___ReduceAction483___init(val_t self, int* init_table) {
36883 struct trace_t trace = {NULL, NULL, 22643, LOCATE_parser___ReduceAction483___init};
36884 val_t variable[2];
36885 void **closurevariable = NULL;
36886 trace.prev = tracehead; tracehead = &trace;
36887 trace.file = LOCATE_parser;
36888 variable[0] = self;
36889 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction483].i]) return;
36890 return_label999: while(false);
36891 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction483].i] = 1;
36892 tracehead = trace.prev;
36893 return;
36894 }
36895 void parser___ReduceAction484___action(val_t self, val_t param0) {
36896 struct trace_t trace = {NULL, NULL, 22647, LOCATE_parser___ReduceAction484___action};
36897 val_t variable[14];
36898 void **closurevariable = NULL;
36899 trace.prev = tracehead; tracehead = &trace;
36900 trace.file = LOCATE_parser;
36901 variable[0] = self;
36902 variable[1] = param0;
36903 variable[3] = NIT_NULL /*null*/;
36904 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36905 variable[4] = variable[5];
36906 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36907 variable[5] = variable[6];
36908 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36909 variable[6] = variable[7];
36910 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
36911 variable[7] = variable[8];
36912 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
36913 variable[8] = variable[9];
36914 variable[9] = variable[6] /*nodearraylist1*/;
36915 variable[10] = TAG_Bool(( variable[9] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
36916 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction484___action, LOCATE_parser, 22656); nit_exit(1);}
36917 variable[10] = variable[5] /*nodearraylist2*/;
36918 variable[11] = TAG_Bool(( variable[10] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
36919 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction484___action, LOCATE_parser, 22658); nit_exit(1);}
36920 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable[10] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
36921 if (UNTAG_Bool(variable[11])) { /*if*/
36922 variable[11] = ((array___AbstractArray___is_empty_t)CALL( variable[7] /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable[7] /*listnode4*/) /*AbstractArray::is_empty*/;
36923 if (UNTAG_Bool(variable[11])) { /*if*/
36924 variable[7] = variable[10] /*listnode3*/ /*listnode4=*/;
36925 } else { /*if*/
36926 ((abstract_collection___IndexedCollection___append_t)CALL( variable[7] /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable[7] /*listnode4*/, variable[10] /*listnode3*/) /*IndexedCollection::append*/;
36927 }
36928 }
36929 variable[11] = variable[4] /*nodearraylist3*/;
36930 variable[12] = TAG_Bool(( variable[11] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
36931 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction484___action, LOCATE_parser, 22667); nit_exit(1);}
36932 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode5*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable[11] /*listnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
36933 if (UNTAG_Bool(variable[12])) { /*if*/
36934 variable[12] = ((array___AbstractArray___is_empty_t)CALL( variable[8] /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable[8] /*listnode6*/) /*AbstractArray::is_empty*/;
36935 if (UNTAG_Bool(variable[12])) { /*if*/
36936 variable[8] = variable[11] /*listnode5*/ /*listnode6=*/;
36937 } else { /*if*/
36938 ((abstract_collection___IndexedCollection___append_t)CALL( variable[8] /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable[8] /*listnode6*/, variable[11] /*listnode5*/) /*IndexedCollection::append*/;
36939 }
36940 }
36941 variable[13] = NEW_ABraExpr_parser_prod___ABraExpr___init_abraexpr( variable[9] /*pexprnode2*/, variable[7] /*listnode4*/, variable[8] /*listnode6*/); /*new ABraExpr*/
36942 variable[12] = variable[13];
36943 variable[3] = variable[12] /*pexprnode1*/ /*node_list=*/;
36944 variable[13] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(43)) /*Parser::go_to*/;
36945 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
36946 return_label1000: while(false);
36947 tracehead = trace.prev;
36948 return;
36949 }
36950 void parser___ReduceAction484___init(val_t self, int* init_table) {
36951 struct trace_t trace = {NULL, NULL, 22683, LOCATE_parser___ReduceAction484___init};
36952 val_t variable[2];
36953 void **closurevariable = NULL;
36954 trace.prev = tracehead; tracehead = &trace;
36955 trace.file = LOCATE_parser;
36956 variable[0] = self;
36957 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction484].i]) return;
36958 return_label1001: while(false);
36959 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction484].i] = 1;
36960 tracehead = trace.prev;
36961 return;
36962 }
36963 void parser___ReduceAction485___action(val_t self, val_t param0) {
36964 struct trace_t trace = {NULL, NULL, 22687, LOCATE_parser___ReduceAction485___action};
36965 val_t variable[7];
36966 void **closurevariable = NULL;
36967 trace.prev = tracehead; tracehead = &trace;
36968 trace.file = LOCATE_parser;
36969 variable[0] = self;
36970 variable[1] = param0;
36971 variable[3] = NIT_NULL /*null*/;
36972 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
36973 variable[4] = variable[5];
36974 variable[5] = variable[4] /*nodearraylist1*/;
36975 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
36976 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction485___action, LOCATE_parser, 22692); nit_exit(1);}
36977 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
36978 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(44)) /*Parser::go_to*/;
36979 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
36980 return_label1002: while(false);
36981 tracehead = trace.prev;
36982 return;
36983 }
36984 void parser___ReduceAction485___init(val_t self, int* init_table) {
36985 struct trace_t trace = {NULL, NULL, 22696, LOCATE_parser___ReduceAction485___init};
36986 val_t variable[2];
36987 void **closurevariable = NULL;
36988 trace.prev = tracehead; tracehead = &trace;
36989 trace.file = LOCATE_parser;
36990 variable[0] = self;
36991 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction485].i]) return;
36992 return_label1003: while(false);
36993 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction485].i] = 1;
36994 tracehead = trace.prev;
36995 return;
36996 }
36997 void parser___ReduceAction486___action(val_t self, val_t param0) {
36998 struct trace_t trace = {NULL, NULL, 22700, LOCATE_parser___ReduceAction486___action};
36999 val_t variable[23];
37000 void **closurevariable = NULL;
37001 trace.prev = tracehead; tracehead = &trace;
37002 trace.file = LOCATE_parser;
37003 variable[0] = self;
37004 variable[1] = param0;
37005 variable[3] = NIT_NULL /*null*/;
37006 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37007 variable[4] = variable[5];
37008 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37009 variable[5] = variable[6];
37010 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37011 variable[6] = variable[7];
37012 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37013 variable[7] = variable[8];
37014 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37015 variable[8] = variable[9];
37016 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37017 variable[9] = variable[10];
37018 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37019 variable[10] = variable[11];
37020 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37021 variable[11] = variable[12];
37022 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37023 variable[12] = variable[13];
37024 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37025 variable[13] = variable[14];
37026 variable[15] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37027 variable[14] = variable[15];
37028 variable[15] = variable[14] /*nodearraylist1*/;
37029 variable[16] = TAG_Bool(( variable[15] /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
37030 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction486___action, LOCATE_parser, 22715); nit_exit(1);}
37031 variable[16] = variable[12] /*nodearraylist3*/;
37032 variable[17] = TAG_Bool(( variable[16] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[16] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
37033 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction486___action, LOCATE_parser, 22717); nit_exit(1);}
37034 variable[17] = variable[10] /*nodearraylist5*/;
37035 variable[18] = TAG_Bool(( variable[17] /*tkwthennode4*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwthennode4*/, COLOR_TKwthen, ID_TKwthen)) /*cast TKwthen*/;
37036 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction486___action, LOCATE_parser, 22719); nit_exit(1);}
37037 variable[18] = variable[8] /*nodearraylist7*/;
37038 variable[19] = TAG_Bool(( variable[18] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[18] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
37039 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction486___action, LOCATE_parser, 22721); nit_exit(1);}
37040 variable[19] = variable[6] /*nodearraylist9*/;
37041 variable[20] = TAG_Bool(( variable[19] /*tkwelsenode6*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwelsenode6*/, COLOR_TKwelse, ID_TKwelse)) /*cast TKwelse*/;
37042 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction486___action, LOCATE_parser, 22723); nit_exit(1);}
37043 variable[20] = variable[4] /*nodearraylist11*/;
37044 variable[21] = TAG_Bool(( variable[20] /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable[20] /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
37045 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction486___action, LOCATE_parser, 22725); nit_exit(1);}
37046 variable[22] = NEW_AIfexprExpr_parser_prod___AIfexprExpr___init_aifexprexpr( variable[15] /*tkwifnode2*/, variable[16] /*pexprnode3*/, variable[17] /*tkwthennode4*/, variable[18] /*pexprnode5*/, variable[19] /*tkwelsenode6*/, variable[20] /*pexprnode7*/); /*new AIfexprExpr*/
37047 variable[21] = variable[22];
37048 variable[3] = variable[21] /*pexprnode1*/ /*node_list=*/;
37049 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(44)) /*Parser::go_to*/;
37050 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
37051 return_label1004: while(false);
37052 tracehead = trace.prev;
37053 return;
37054 }
37055 void parser___ReduceAction486___init(val_t self, int* init_table) {
37056 struct trace_t trace = {NULL, NULL, 22737, LOCATE_parser___ReduceAction486___init};
37057 val_t variable[2];
37058 void **closurevariable = NULL;
37059 trace.prev = tracehead; tracehead = &trace;
37060 trace.file = LOCATE_parser;
37061 variable[0] = self;
37062 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction486].i]) return;
37063 return_label1005: while(false);
37064 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction486].i] = 1;
37065 tracehead = trace.prev;
37066 return;
37067 }
37068 void parser___ReduceAction487___action(val_t self, val_t param0) {
37069 struct trace_t trace = {NULL, NULL, 22741, LOCATE_parser___ReduceAction487___action};
37070 val_t variable[7];
37071 void **closurevariable = NULL;
37072 trace.prev = tracehead; tracehead = &trace;
37073 trace.file = LOCATE_parser;
37074 variable[0] = self;
37075 variable[1] = param0;
37076 variable[3] = NIT_NULL /*null*/;
37077 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37078 variable[4] = variable[5];
37079 variable[5] = variable[4] /*nodearraylist1*/;
37080 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
37081 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction487___action, LOCATE_parser, 22746); nit_exit(1);}
37082 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
37083 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(45)) /*Parser::go_to*/;
37084 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
37085 return_label1006: while(false);
37086 tracehead = trace.prev;
37087 return;
37088 }
37089 void parser___ReduceAction487___init(val_t self, int* init_table) {
37090 struct trace_t trace = {NULL, NULL, 22750, LOCATE_parser___ReduceAction487___init};
37091 val_t variable[2];
37092 void **closurevariable = NULL;
37093 trace.prev = tracehead; tracehead = &trace;
37094 trace.file = LOCATE_parser;
37095 variable[0] = self;
37096 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction487].i]) return;
37097 return_label1007: while(false);
37098 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction487].i] = 1;
37099 tracehead = trace.prev;
37100 return;
37101 }
37102 void parser___ReduceAction488___action(val_t self, val_t param0) {
37103 struct trace_t trace = {NULL, NULL, 22754, LOCATE_parser___ReduceAction488___action};
37104 val_t variable[12];
37105 void **closurevariable = NULL;
37106 trace.prev = tracehead; tracehead = &trace;
37107 trace.file = LOCATE_parser;
37108 variable[0] = self;
37109 variable[1] = param0;
37110 variable[3] = NIT_NULL /*null*/;
37111 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37112 variable[4] = variable[5];
37113 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37114 variable[5] = variable[6];
37115 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37116 variable[6] = variable[7];
37117 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37118 variable[7] = variable[8];
37119 variable[8] = variable[7] /*nodearraylist1*/;
37120 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
37121 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction488___action, LOCATE_parser, 22762); nit_exit(1);}
37122 variable[9] = variable[4] /*nodearraylist4*/;
37123 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
37124 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction488___action, LOCATE_parser, 22764); nit_exit(1);}
37125 variable[11] = NEW_AOrExpr_parser_prod___AOrExpr___init_aorexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AOrExpr*/
37126 variable[10] = variable[11];
37127 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
37128 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(45)) /*Parser::go_to*/;
37129 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
37130 return_label1008: while(false);
37131 tracehead = trace.prev;
37132 return;
37133 }
37134 void parser___ReduceAction488___init(val_t self, int* init_table) {
37135 struct trace_t trace = {NULL, NULL, 22772, LOCATE_parser___ReduceAction488___init};
37136 val_t variable[2];
37137 void **closurevariable = NULL;
37138 trace.prev = tracehead; tracehead = &trace;
37139 trace.file = LOCATE_parser;
37140 variable[0] = self;
37141 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction488].i]) return;
37142 return_label1009: while(false);
37143 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction488].i] = 1;
37144 tracehead = trace.prev;
37145 return;
37146 }
37147 void parser___ReduceAction489___action(val_t self, val_t param0) {
37148 struct trace_t trace = {NULL, NULL, 22776, LOCATE_parser___ReduceAction489___action};
37149 val_t variable[12];
37150 void **closurevariable = NULL;
37151 trace.prev = tracehead; tracehead = &trace;
37152 trace.file = LOCATE_parser;
37153 variable[0] = self;
37154 variable[1] = param0;
37155 variable[3] = NIT_NULL /*null*/;
37156 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37157 variable[4] = variable[5];
37158 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37159 variable[5] = variable[6];
37160 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37161 variable[6] = variable[7];
37162 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37163 variable[7] = variable[8];
37164 variable[8] = variable[7] /*nodearraylist1*/;
37165 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
37166 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction489___action, LOCATE_parser, 22784); nit_exit(1);}
37167 variable[9] = variable[4] /*nodearraylist4*/;
37168 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
37169 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction489___action, LOCATE_parser, 22786); nit_exit(1);}
37170 variable[11] = NEW_AAndExpr_parser_prod___AAndExpr___init_aandexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AAndExpr*/
37171 variable[10] = variable[11];
37172 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
37173 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(45)) /*Parser::go_to*/;
37174 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
37175 return_label1010: while(false);
37176 tracehead = trace.prev;
37177 return;
37178 }
37179 void parser___ReduceAction489___init(val_t self, int* init_table) {
37180 struct trace_t trace = {NULL, NULL, 22794, LOCATE_parser___ReduceAction489___init};
37181 val_t variable[2];
37182 void **closurevariable = NULL;
37183 trace.prev = tracehead; tracehead = &trace;
37184 trace.file = LOCATE_parser;
37185 variable[0] = self;
37186 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction489].i]) return;
37187 return_label1011: while(false);
37188 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction489].i] = 1;
37189 tracehead = trace.prev;
37190 return;
37191 }
37192 void parser___ReduceAction490___action(val_t self, val_t param0) {
37193 struct trace_t trace = {NULL, NULL, 22798, LOCATE_parser___ReduceAction490___action};
37194 val_t variable[7];
37195 void **closurevariable = NULL;
37196 trace.prev = tracehead; tracehead = &trace;
37197 trace.file = LOCATE_parser;
37198 variable[0] = self;
37199 variable[1] = param0;
37200 variable[3] = NIT_NULL /*null*/;
37201 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37202 variable[4] = variable[5];
37203 variable[5] = variable[4] /*nodearraylist1*/;
37204 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
37205 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction490___action, LOCATE_parser, 22803); nit_exit(1);}
37206 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
37207 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(46)) /*Parser::go_to*/;
37208 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
37209 return_label1012: while(false);
37210 tracehead = trace.prev;
37211 return;
37212 }
37213 void parser___ReduceAction490___init(val_t self, int* init_table) {
37214 struct trace_t trace = {NULL, NULL, 22807, LOCATE_parser___ReduceAction490___init};
37215 val_t variable[2];
37216 void **closurevariable = NULL;
37217 trace.prev = tracehead; tracehead = &trace;
37218 trace.file = LOCATE_parser;
37219 variable[0] = self;
37220 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction490].i]) return;
37221 return_label1013: while(false);
37222 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction490].i] = 1;
37223 tracehead = trace.prev;
37224 return;
37225 }
37226 void parser___ReduceAction491___action(val_t self, val_t param0) {
37227 struct trace_t trace = {NULL, NULL, 22811, LOCATE_parser___ReduceAction491___action};
37228 val_t variable[11];
37229 void **closurevariable = NULL;
37230 trace.prev = tracehead; tracehead = &trace;
37231 trace.file = LOCATE_parser;
37232 variable[0] = self;
37233 variable[1] = param0;
37234 variable[3] = NIT_NULL /*null*/;
37235 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37236 variable[4] = variable[5];
37237 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37238 variable[5] = variable[6];
37239 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37240 variable[6] = variable[7];
37241 variable[7] = variable[6] /*nodearraylist1*/;
37242 variable[8] = TAG_Bool(( variable[7] /*tkwnotnode2*/==NIT_NULL) || VAL_ISA( variable[7] /*tkwnotnode2*/, COLOR_TKwnot, ID_TKwnot)) /*cast TKwnot*/;
37243 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction491___action, LOCATE_parser, 22818); nit_exit(1);}
37244 variable[8] = variable[4] /*nodearraylist3*/;
37245 variable[9] = TAG_Bool(( variable[8] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
37246 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction491___action, LOCATE_parser, 22820); nit_exit(1);}
37247 variable[10] = NEW_ANotExpr_parser_prod___ANotExpr___init_anotexpr( variable[7] /*tkwnotnode2*/, variable[8] /*pexprnode3*/); /*new ANotExpr*/
37248 variable[9] = variable[10];
37249 variable[3] = variable[9] /*pexprnode1*/ /*node_list=*/;
37250 variable[10] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(46)) /*Parser::go_to*/;
37251 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
37252 return_label1014: while(false);
37253 tracehead = trace.prev;
37254 return;
37255 }
37256 void parser___ReduceAction491___init(val_t self, int* init_table) {
37257 struct trace_t trace = {NULL, NULL, 22828, LOCATE_parser___ReduceAction491___init};
37258 val_t variable[2];
37259 void **closurevariable = NULL;
37260 trace.prev = tracehead; tracehead = &trace;
37261 trace.file = LOCATE_parser;
37262 variable[0] = self;
37263 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction491].i]) return;
37264 return_label1015: while(false);
37265 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction491].i] = 1;
37266 tracehead = trace.prev;
37267 return;
37268 }
37269 void parser___ReduceAction492___action(val_t self, val_t param0) {
37270 struct trace_t trace = {NULL, NULL, 22832, LOCATE_parser___ReduceAction492___action};
37271 val_t variable[7];
37272 void **closurevariable = NULL;
37273 trace.prev = tracehead; tracehead = &trace;
37274 trace.file = LOCATE_parser;
37275 variable[0] = self;
37276 variable[1] = param0;
37277 variable[3] = NIT_NULL /*null*/;
37278 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37279 variable[4] = variable[5];
37280 variable[5] = variable[4] /*nodearraylist1*/;
37281 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
37282 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction492___action, LOCATE_parser, 22837); nit_exit(1);}
37283 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
37284 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(47)) /*Parser::go_to*/;
37285 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
37286 return_label1016: while(false);
37287 tracehead = trace.prev;
37288 return;
37289 }
37290 void parser___ReduceAction492___init(val_t self, int* init_table) {
37291 struct trace_t trace = {NULL, NULL, 22841, LOCATE_parser___ReduceAction492___init};
37292 val_t variable[2];
37293 void **closurevariable = NULL;
37294 trace.prev = tracehead; tracehead = &trace;
37295 trace.file = LOCATE_parser;
37296 variable[0] = self;
37297 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction492].i]) return;
37298 return_label1017: while(false);
37299 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction492].i] = 1;
37300 tracehead = trace.prev;
37301 return;
37302 }
37303 void parser___ReduceAction493___action(val_t self, val_t param0) {
37304 struct trace_t trace = {NULL, NULL, 22845, LOCATE_parser___ReduceAction493___action};
37305 val_t variable[12];
37306 void **closurevariable = NULL;
37307 trace.prev = tracehead; tracehead = &trace;
37308 trace.file = LOCATE_parser;
37309 variable[0] = self;
37310 variable[1] = param0;
37311 variable[3] = NIT_NULL /*null*/;
37312 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37313 variable[4] = variable[5];
37314 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37315 variable[5] = variable[6];
37316 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37317 variable[6] = variable[7];
37318 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37319 variable[7] = variable[8];
37320 variable[8] = variable[7] /*nodearraylist1*/;
37321 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
37322 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction493___action, LOCATE_parser, 22853); nit_exit(1);}
37323 variable[9] = variable[4] /*nodearraylist4*/;
37324 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
37325 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction493___action, LOCATE_parser, 22855); nit_exit(1);}
37326 variable[11] = NEW_AEqExpr_parser_prod___AEqExpr___init_aeqexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AEqExpr*/
37327 variable[10] = variable[11];
37328 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
37329 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(47)) /*Parser::go_to*/;
37330 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
37331 return_label1018: while(false);
37332 tracehead = trace.prev;
37333 return;
37334 }
37335 void parser___ReduceAction493___init(val_t self, int* init_table) {
37336 struct trace_t trace = {NULL, NULL, 22863, LOCATE_parser___ReduceAction493___init};
37337 val_t variable[2];
37338 void **closurevariable = NULL;
37339 trace.prev = tracehead; tracehead = &trace;
37340 trace.file = LOCATE_parser;
37341 variable[0] = self;
37342 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction493].i]) return;
37343 return_label1019: while(false);
37344 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction493].i] = 1;
37345 tracehead = trace.prev;
37346 return;
37347 }
37348 void parser___ReduceAction494___action(val_t self, val_t param0) {
37349 struct trace_t trace = {NULL, NULL, 22867, LOCATE_parser___ReduceAction494___action};
37350 val_t variable[12];
37351 void **closurevariable = NULL;
37352 trace.prev = tracehead; tracehead = &trace;
37353 trace.file = LOCATE_parser;
37354 variable[0] = self;
37355 variable[1] = param0;
37356 variable[3] = NIT_NULL /*null*/;
37357 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37358 variable[4] = variable[5];
37359 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37360 variable[5] = variable[6];
37361 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37362 variable[6] = variable[7];
37363 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37364 variable[7] = variable[8];
37365 variable[8] = variable[7] /*nodearraylist1*/;
37366 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
37367 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction494___action, LOCATE_parser, 22875); nit_exit(1);}
37368 variable[9] = variable[4] /*nodearraylist4*/;
37369 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
37370 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction494___action, LOCATE_parser, 22877); nit_exit(1);}
37371 variable[11] = NEW_AEeExpr_parser_prod___AEeExpr___init_aeeexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AEeExpr*/
37372 variable[10] = variable[11];
37373 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
37374 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(47)) /*Parser::go_to*/;
37375 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
37376 return_label1020: while(false);
37377 tracehead = trace.prev;
37378 return;
37379 }
37380 void parser___ReduceAction494___init(val_t self, int* init_table) {
37381 struct trace_t trace = {NULL, NULL, 22885, LOCATE_parser___ReduceAction494___init};
37382 val_t variable[2];
37383 void **closurevariable = NULL;
37384 trace.prev = tracehead; tracehead = &trace;
37385 trace.file = LOCATE_parser;
37386 variable[0] = self;
37387 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction494].i]) return;
37388 return_label1021: while(false);
37389 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction494].i] = 1;
37390 tracehead = trace.prev;
37391 return;
37392 }
37393 void parser___ReduceAction495___action(val_t self, val_t param0) {
37394 struct trace_t trace = {NULL, NULL, 22889, LOCATE_parser___ReduceAction495___action};
37395 val_t variable[12];
37396 void **closurevariable = NULL;
37397 trace.prev = tracehead; tracehead = &trace;
37398 trace.file = LOCATE_parser;
37399 variable[0] = self;
37400 variable[1] = param0;
37401 variable[3] = NIT_NULL /*null*/;
37402 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37403 variable[4] = variable[5];
37404 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37405 variable[5] = variable[6];
37406 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37407 variable[6] = variable[7];
37408 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37409 variable[7] = variable[8];
37410 variable[8] = variable[7] /*nodearraylist1*/;
37411 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
37412 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction495___action, LOCATE_parser, 22897); nit_exit(1);}
37413 variable[9] = variable[4] /*nodearraylist4*/;
37414 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
37415 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction495___action, LOCATE_parser, 22899); nit_exit(1);}
37416 variable[11] = NEW_ANeExpr_parser_prod___ANeExpr___init_aneexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new ANeExpr*/
37417 variable[10] = variable[11];
37418 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
37419 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(47)) /*Parser::go_to*/;
37420 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
37421 return_label1022: while(false);
37422 tracehead = trace.prev;
37423 return;
37424 }
37425 void parser___ReduceAction495___init(val_t self, int* init_table) {
37426 struct trace_t trace = {NULL, NULL, 22907, LOCATE_parser___ReduceAction495___init};
37427 val_t variable[2];
37428 void **closurevariable = NULL;
37429 trace.prev = tracehead; tracehead = &trace;
37430 trace.file = LOCATE_parser;
37431 variable[0] = self;
37432 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction495].i]) return;
37433 return_label1023: while(false);
37434 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction495].i] = 1;
37435 tracehead = trace.prev;
37436 return;
37437 }
37438 void parser___ReduceAction496___action(val_t self, val_t param0) {
37439 struct trace_t trace = {NULL, NULL, 22911, LOCATE_parser___ReduceAction496___action};
37440 val_t variable[12];
37441 void **closurevariable = NULL;
37442 trace.prev = tracehead; tracehead = &trace;
37443 trace.file = LOCATE_parser;
37444 variable[0] = self;
37445 variable[1] = param0;
37446 variable[3] = NIT_NULL /*null*/;
37447 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37448 variable[4] = variable[5];
37449 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37450 variable[5] = variable[6];
37451 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37452 variable[6] = variable[7];
37453 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37454 variable[7] = variable[8];
37455 variable[8] = variable[7] /*nodearraylist1*/;
37456 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
37457 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction496___action, LOCATE_parser, 22919); nit_exit(1);}
37458 variable[9] = variable[4] /*nodearraylist4*/;
37459 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
37460 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction496___action, LOCATE_parser, 22921); nit_exit(1);}
37461 variable[11] = NEW_ALtExpr_parser_prod___ALtExpr___init_altexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new ALtExpr*/
37462 variable[10] = variable[11];
37463 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
37464 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(47)) /*Parser::go_to*/;
37465 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
37466 return_label1024: while(false);
37467 tracehead = trace.prev;
37468 return;
37469 }
37470 void parser___ReduceAction496___init(val_t self, int* init_table) {
37471 struct trace_t trace = {NULL, NULL, 22929, LOCATE_parser___ReduceAction496___init};
37472 val_t variable[2];
37473 void **closurevariable = NULL;
37474 trace.prev = tracehead; tracehead = &trace;
37475 trace.file = LOCATE_parser;
37476 variable[0] = self;
37477 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction496].i]) return;
37478 return_label1025: while(false);
37479 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction496].i] = 1;
37480 tracehead = trace.prev;
37481 return;
37482 }
37483 void parser___ReduceAction497___action(val_t self, val_t param0) {
37484 struct trace_t trace = {NULL, NULL, 22933, LOCATE_parser___ReduceAction497___action};
37485 val_t variable[12];
37486 void **closurevariable = NULL;
37487 trace.prev = tracehead; tracehead = &trace;
37488 trace.file = LOCATE_parser;
37489 variable[0] = self;
37490 variable[1] = param0;
37491 variable[3] = NIT_NULL /*null*/;
37492 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37493 variable[4] = variable[5];
37494 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37495 variable[5] = variable[6];
37496 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37497 variable[6] = variable[7];
37498 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37499 variable[7] = variable[8];
37500 variable[8] = variable[7] /*nodearraylist1*/;
37501 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
37502 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction497___action, LOCATE_parser, 22941); nit_exit(1);}
37503 variable[9] = variable[4] /*nodearraylist4*/;
37504 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
37505 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction497___action, LOCATE_parser, 22943); nit_exit(1);}
37506 variable[11] = NEW_ALeExpr_parser_prod___ALeExpr___init_aleexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new ALeExpr*/
37507 variable[10] = variable[11];
37508 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
37509 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(47)) /*Parser::go_to*/;
37510 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
37511 return_label1026: while(false);
37512 tracehead = trace.prev;
37513 return;
37514 }
37515 void parser___ReduceAction497___init(val_t self, int* init_table) {
37516 struct trace_t trace = {NULL, NULL, 22951, LOCATE_parser___ReduceAction497___init};
37517 val_t variable[2];
37518 void **closurevariable = NULL;
37519 trace.prev = tracehead; tracehead = &trace;
37520 trace.file = LOCATE_parser;
37521 variable[0] = self;
37522 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction497].i]) return;
37523 return_label1027: while(false);
37524 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction497].i] = 1;
37525 tracehead = trace.prev;
37526 return;
37527 }
37528 void parser___ReduceAction498___action(val_t self, val_t param0) {
37529 struct trace_t trace = {NULL, NULL, 22955, LOCATE_parser___ReduceAction498___action};
37530 val_t variable[12];
37531 void **closurevariable = NULL;
37532 trace.prev = tracehead; tracehead = &trace;
37533 trace.file = LOCATE_parser;
37534 variable[0] = self;
37535 variable[1] = param0;
37536 variable[3] = NIT_NULL /*null*/;
37537 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37538 variable[4] = variable[5];
37539 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37540 variable[5] = variable[6];
37541 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37542 variable[6] = variable[7];
37543 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37544 variable[7] = variable[8];
37545 variable[8] = variable[7] /*nodearraylist1*/;
37546 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
37547 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction498___action, LOCATE_parser, 22963); nit_exit(1);}
37548 variable[9] = variable[4] /*nodearraylist4*/;
37549 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
37550 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction498___action, LOCATE_parser, 22965); nit_exit(1);}
37551 variable[11] = NEW_AGtExpr_parser_prod___AGtExpr___init_agtexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AGtExpr*/
37552 variable[10] = variable[11];
37553 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
37554 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(47)) /*Parser::go_to*/;
37555 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
37556 return_label1028: while(false);
37557 tracehead = trace.prev;
37558 return;
37559 }
37560 void parser___ReduceAction498___init(val_t self, int* init_table) {
37561 struct trace_t trace = {NULL, NULL, 22973, LOCATE_parser___ReduceAction498___init};
37562 val_t variable[2];
37563 void **closurevariable = NULL;
37564 trace.prev = tracehead; tracehead = &trace;
37565 trace.file = LOCATE_parser;
37566 variable[0] = self;
37567 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction498].i]) return;
37568 return_label1029: while(false);
37569 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction498].i] = 1;
37570 tracehead = trace.prev;
37571 return;
37572 }
37573 void parser___ReduceAction499___action(val_t self, val_t param0) {
37574 struct trace_t trace = {NULL, NULL, 22977, LOCATE_parser___ReduceAction499___action};
37575 val_t variable[12];
37576 void **closurevariable = NULL;
37577 trace.prev = tracehead; tracehead = &trace;
37578 trace.file = LOCATE_parser;
37579 variable[0] = self;
37580 variable[1] = param0;
37581 variable[3] = NIT_NULL /*null*/;
37582 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37583 variable[4] = variable[5];
37584 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37585 variable[5] = variable[6];
37586 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37587 variable[6] = variable[7];
37588 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37589 variable[7] = variable[8];
37590 variable[8] = variable[7] /*nodearraylist1*/;
37591 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
37592 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction499___action, LOCATE_parser, 22985); nit_exit(1);}
37593 variable[9] = variable[4] /*nodearraylist4*/;
37594 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
37595 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction499___action, LOCATE_parser, 22987); nit_exit(1);}
37596 variable[11] = NEW_AGeExpr_parser_prod___AGeExpr___init_ageexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AGeExpr*/
37597 variable[10] = variable[11];
37598 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
37599 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(47)) /*Parser::go_to*/;
37600 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
37601 return_label1030: while(false);
37602 tracehead = trace.prev;
37603 return;
37604 }
37605 void parser___ReduceAction499___init(val_t self, int* init_table) {
37606 struct trace_t trace = {NULL, NULL, 22995, LOCATE_parser___ReduceAction499___init};
37607 val_t variable[2];
37608 void **closurevariable = NULL;
37609 trace.prev = tracehead; tracehead = &trace;
37610 trace.file = LOCATE_parser;
37611 variable[0] = self;
37612 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction499].i]) return;
37613 return_label1031: while(false);
37614 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction499].i] = 1;
37615 tracehead = trace.prev;
37616 return;
37617 }
37618 void parser___ReduceAction500___action(val_t self, val_t param0) {
37619 struct trace_t trace = {NULL, NULL, 22999, LOCATE_parser___ReduceAction500___action};
37620 val_t variable[12];
37621 void **closurevariable = NULL;
37622 trace.prev = tracehead; tracehead = &trace;
37623 trace.file = LOCATE_parser;
37624 variable[0] = self;
37625 variable[1] = param0;
37626 variable[3] = NIT_NULL /*null*/;
37627 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37628 variable[4] = variable[5];
37629 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37630 variable[5] = variable[6];
37631 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37632 variable[6] = variable[7];
37633 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37634 variable[7] = variable[8];
37635 variable[8] = variable[7] /*nodearraylist1*/;
37636 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
37637 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction500___action, LOCATE_parser, 23007); nit_exit(1);}
37638 variable[9] = variable[4] /*nodearraylist4*/;
37639 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
37640 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction500___action, LOCATE_parser, 23009); nit_exit(1);}
37641 variable[11] = NEW_AStarshipExpr_parser_prod___AStarshipExpr___init_astarshipexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AStarshipExpr*/
37642 variable[10] = variable[11];
37643 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
37644 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(47)) /*Parser::go_to*/;
37645 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
37646 return_label1032: while(false);
37647 tracehead = trace.prev;
37648 return;
37649 }
37650 void parser___ReduceAction500___init(val_t self, int* init_table) {
37651 struct trace_t trace = {NULL, NULL, 23017, LOCATE_parser___ReduceAction500___init};
37652 val_t variable[2];
37653 void **closurevariable = NULL;
37654 trace.prev = tracehead; tracehead = &trace;
37655 trace.file = LOCATE_parser;
37656 variable[0] = self;
37657 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction500].i]) return;
37658 return_label1033: while(false);
37659 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction500].i] = 1;
37660 tracehead = trace.prev;
37661 return;
37662 }
37663 void parser___ReduceAction501___action(val_t self, val_t param0) {
37664 struct trace_t trace = {NULL, NULL, 23021, LOCATE_parser___ReduceAction501___action};
37665 val_t variable[12];
37666 void **closurevariable = NULL;
37667 trace.prev = tracehead; tracehead = &trace;
37668 trace.file = LOCATE_parser;
37669 variable[0] = self;
37670 variable[1] = param0;
37671 variable[3] = NIT_NULL /*null*/;
37672 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37673 variable[4] = variable[5];
37674 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37675 variable[5] = variable[6];
37676 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37677 variable[6] = variable[7];
37678 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37679 variable[7] = variable[8];
37680 variable[8] = variable[7] /*nodearraylist1*/;
37681 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
37682 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction501___action, LOCATE_parser, 23029); nit_exit(1);}
37683 variable[9] = variable[4] /*nodearraylist4*/;
37684 variable[10] = TAG_Bool(( variable[9] /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable[9] /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
37685 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction501___action, LOCATE_parser, 23031); nit_exit(1);}
37686 variable[11] = NEW_AIsaExpr_parser_prod___AIsaExpr___init_aisaexpr( variable[8] /*pexprnode2*/, variable[9] /*ptypenode3*/); /*new AIsaExpr*/
37687 variable[10] = variable[11];
37688 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
37689 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(47)) /*Parser::go_to*/;
37690 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
37691 return_label1034: while(false);
37692 tracehead = trace.prev;
37693 return;
37694 }
37695 void parser___ReduceAction501___init(val_t self, int* init_table) {
37696 struct trace_t trace = {NULL, NULL, 23039, LOCATE_parser___ReduceAction501___init};
37697 val_t variable[2];
37698 void **closurevariable = NULL;
37699 trace.prev = tracehead; tracehead = &trace;
37700 trace.file = LOCATE_parser;
37701 variable[0] = self;
37702 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction501].i]) return;
37703 return_label1035: while(false);
37704 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction501].i] = 1;
37705 tracehead = trace.prev;
37706 return;
37707 }
37708 void parser___ReduceAction502___action(val_t self, val_t param0) {
37709 struct trace_t trace = {NULL, NULL, 23043, LOCATE_parser___ReduceAction502___action};
37710 val_t variable[7];
37711 void **closurevariable = NULL;
37712 trace.prev = tracehead; tracehead = &trace;
37713 trace.file = LOCATE_parser;
37714 variable[0] = self;
37715 variable[1] = param0;
37716 variable[3] = NIT_NULL /*null*/;
37717 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37718 variable[4] = variable[5];
37719 variable[5] = variable[4] /*nodearraylist1*/;
37720 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
37721 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction502___action, LOCATE_parser, 23048); nit_exit(1);}
37722 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
37723 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(48)) /*Parser::go_to*/;
37724 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
37725 return_label1036: while(false);
37726 tracehead = trace.prev;
37727 return;
37728 }
37729 void parser___ReduceAction502___init(val_t self, int* init_table) {
37730 struct trace_t trace = {NULL, NULL, 23052, LOCATE_parser___ReduceAction502___init};
37731 val_t variable[2];
37732 void **closurevariable = NULL;
37733 trace.prev = tracehead; tracehead = &trace;
37734 trace.file = LOCATE_parser;
37735 variable[0] = self;
37736 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction502].i]) return;
37737 return_label1037: while(false);
37738 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction502].i] = 1;
37739 tracehead = trace.prev;
37740 return;
37741 }
37742 void parser___ReduceAction503___action(val_t self, val_t param0) {
37743 struct trace_t trace = {NULL, NULL, 23056, LOCATE_parser___ReduceAction503___action};
37744 val_t variable[12];
37745 void **closurevariable = NULL;
37746 trace.prev = tracehead; tracehead = &trace;
37747 trace.file = LOCATE_parser;
37748 variable[0] = self;
37749 variable[1] = param0;
37750 variable[3] = NIT_NULL /*null*/;
37751 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37752 variable[4] = variable[5];
37753 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37754 variable[5] = variable[6];
37755 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37756 variable[6] = variable[7];
37757 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37758 variable[7] = variable[8];
37759 variable[8] = variable[7] /*nodearraylist1*/;
37760 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
37761 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction503___action, LOCATE_parser, 23064); nit_exit(1);}
37762 variable[9] = variable[4] /*nodearraylist4*/;
37763 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
37764 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction503___action, LOCATE_parser, 23066); nit_exit(1);}
37765 variable[11] = NEW_APlusExpr_parser_prod___APlusExpr___init_aplusexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new APlusExpr*/
37766 variable[10] = variable[11];
37767 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
37768 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(48)) /*Parser::go_to*/;
37769 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
37770 return_label1038: while(false);
37771 tracehead = trace.prev;
37772 return;
37773 }
37774 void parser___ReduceAction503___init(val_t self, int* init_table) {
37775 struct trace_t trace = {NULL, NULL, 23074, LOCATE_parser___ReduceAction503___init};
37776 val_t variable[2];
37777 void **closurevariable = NULL;
37778 trace.prev = tracehead; tracehead = &trace;
37779 trace.file = LOCATE_parser;
37780 variable[0] = self;
37781 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction503].i]) return;
37782 return_label1039: while(false);
37783 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction503].i] = 1;
37784 tracehead = trace.prev;
37785 return;
37786 }
37787 void parser___ReduceAction504___action(val_t self, val_t param0) {
37788 struct trace_t trace = {NULL, NULL, 23078, LOCATE_parser___ReduceAction504___action};
37789 val_t variable[12];
37790 void **closurevariable = NULL;
37791 trace.prev = tracehead; tracehead = &trace;
37792 trace.file = LOCATE_parser;
37793 variable[0] = self;
37794 variable[1] = param0;
37795 variable[3] = NIT_NULL /*null*/;
37796 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37797 variable[4] = variable[5];
37798 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37799 variable[5] = variable[6];
37800 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37801 variable[6] = variable[7];
37802 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37803 variable[7] = variable[8];
37804 variable[8] = variable[7] /*nodearraylist1*/;
37805 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
37806 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction504___action, LOCATE_parser, 23086); nit_exit(1);}
37807 variable[9] = variable[4] /*nodearraylist4*/;
37808 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
37809 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction504___action, LOCATE_parser, 23088); nit_exit(1);}
37810 variable[11] = NEW_AMinusExpr_parser_prod___AMinusExpr___init_aminusexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AMinusExpr*/
37811 variable[10] = variable[11];
37812 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
37813 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(48)) /*Parser::go_to*/;
37814 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
37815 return_label1040: while(false);
37816 tracehead = trace.prev;
37817 return;
37818 }
37819 void parser___ReduceAction504___init(val_t self, int* init_table) {
37820 struct trace_t trace = {NULL, NULL, 23096, LOCATE_parser___ReduceAction504___init};
37821 val_t variable[2];
37822 void **closurevariable = NULL;
37823 trace.prev = tracehead; tracehead = &trace;
37824 trace.file = LOCATE_parser;
37825 variable[0] = self;
37826 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction504].i]) return;
37827 return_label1041: while(false);
37828 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction504].i] = 1;
37829 tracehead = trace.prev;
37830 return;
37831 }
37832 void parser___ReduceAction505___action(val_t self, val_t param0) {
37833 struct trace_t trace = {NULL, NULL, 23100, LOCATE_parser___ReduceAction505___action};
37834 val_t variable[7];
37835 void **closurevariable = NULL;
37836 trace.prev = tracehead; tracehead = &trace;
37837 trace.file = LOCATE_parser;
37838 variable[0] = self;
37839 variable[1] = param0;
37840 variable[3] = NIT_NULL /*null*/;
37841 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37842 variable[4] = variable[5];
37843 variable[5] = variable[4] /*nodearraylist1*/;
37844 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
37845 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction505___action, LOCATE_parser, 23105); nit_exit(1);}
37846 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
37847 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(49)) /*Parser::go_to*/;
37848 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
37849 return_label1042: while(false);
37850 tracehead = trace.prev;
37851 return;
37852 }
37853 void parser___ReduceAction505___init(val_t self, int* init_table) {
37854 struct trace_t trace = {NULL, NULL, 23109, LOCATE_parser___ReduceAction505___init};
37855 val_t variable[2];
37856 void **closurevariable = NULL;
37857 trace.prev = tracehead; tracehead = &trace;
37858 trace.file = LOCATE_parser;
37859 variable[0] = self;
37860 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction505].i]) return;
37861 return_label1043: while(false);
37862 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction505].i] = 1;
37863 tracehead = trace.prev;
37864 return;
37865 }
37866 void parser___ReduceAction506___action(val_t self, val_t param0) {
37867 struct trace_t trace = {NULL, NULL, 23113, LOCATE_parser___ReduceAction506___action};
37868 val_t variable[12];
37869 void **closurevariable = NULL;
37870 trace.prev = tracehead; tracehead = &trace;
37871 trace.file = LOCATE_parser;
37872 variable[0] = self;
37873 variable[1] = param0;
37874 variable[3] = NIT_NULL /*null*/;
37875 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37876 variable[4] = variable[5];
37877 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37878 variable[5] = variable[6];
37879 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37880 variable[6] = variable[7];
37881 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37882 variable[7] = variable[8];
37883 variable[8] = variable[7] /*nodearraylist1*/;
37884 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
37885 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction506___action, LOCATE_parser, 23121); nit_exit(1);}
37886 variable[9] = variable[4] /*nodearraylist4*/;
37887 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
37888 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction506___action, LOCATE_parser, 23123); nit_exit(1);}
37889 variable[11] = NEW_AStarExpr_parser_prod___AStarExpr___init_astarexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AStarExpr*/
37890 variable[10] = variable[11];
37891 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
37892 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(49)) /*Parser::go_to*/;
37893 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
37894 return_label1044: while(false);
37895 tracehead = trace.prev;
37896 return;
37897 }
37898 void parser___ReduceAction506___init(val_t self, int* init_table) {
37899 struct trace_t trace = {NULL, NULL, 23131, LOCATE_parser___ReduceAction506___init};
37900 val_t variable[2];
37901 void **closurevariable = NULL;
37902 trace.prev = tracehead; tracehead = &trace;
37903 trace.file = LOCATE_parser;
37904 variable[0] = self;
37905 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction506].i]) return;
37906 return_label1045: while(false);
37907 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction506].i] = 1;
37908 tracehead = trace.prev;
37909 return;
37910 }
37911 void parser___ReduceAction507___action(val_t self, val_t param0) {
37912 struct trace_t trace = {NULL, NULL, 23135, LOCATE_parser___ReduceAction507___action};
37913 val_t variable[12];
37914 void **closurevariable = NULL;
37915 trace.prev = tracehead; tracehead = &trace;
37916 trace.file = LOCATE_parser;
37917 variable[0] = self;
37918 variable[1] = param0;
37919 variable[3] = NIT_NULL /*null*/;
37920 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37921 variable[4] = variable[5];
37922 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37923 variable[5] = variable[6];
37924 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37925 variable[6] = variable[7];
37926 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37927 variable[7] = variable[8];
37928 variable[8] = variable[7] /*nodearraylist1*/;
37929 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
37930 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction507___action, LOCATE_parser, 23143); nit_exit(1);}
37931 variable[9] = variable[4] /*nodearraylist4*/;
37932 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
37933 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction507___action, LOCATE_parser, 23145); nit_exit(1);}
37934 variable[11] = NEW_ASlashExpr_parser_prod___ASlashExpr___init_aslashexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new ASlashExpr*/
37935 variable[10] = variable[11];
37936 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
37937 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(49)) /*Parser::go_to*/;
37938 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
37939 return_label1046: while(false);
37940 tracehead = trace.prev;
37941 return;
37942 }
37943 void parser___ReduceAction507___init(val_t self, int* init_table) {
37944 struct trace_t trace = {NULL, NULL, 23153, LOCATE_parser___ReduceAction507___init};
37945 val_t variable[2];
37946 void **closurevariable = NULL;
37947 trace.prev = tracehead; tracehead = &trace;
37948 trace.file = LOCATE_parser;
37949 variable[0] = self;
37950 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction507].i]) return;
37951 return_label1047: while(false);
37952 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction507].i] = 1;
37953 tracehead = trace.prev;
37954 return;
37955 }
37956 void parser___ReduceAction508___action(val_t self, val_t param0) {
37957 struct trace_t trace = {NULL, NULL, 23157, LOCATE_parser___ReduceAction508___action};
37958 val_t variable[12];
37959 void **closurevariable = NULL;
37960 trace.prev = tracehead; tracehead = &trace;
37961 trace.file = LOCATE_parser;
37962 variable[0] = self;
37963 variable[1] = param0;
37964 variable[3] = NIT_NULL /*null*/;
37965 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37966 variable[4] = variable[5];
37967 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37968 variable[5] = variable[6];
37969 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37970 variable[6] = variable[7];
37971 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
37972 variable[7] = variable[8];
37973 variable[8] = variable[7] /*nodearraylist1*/;
37974 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
37975 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction508___action, LOCATE_parser, 23165); nit_exit(1);}
37976 variable[9] = variable[4] /*nodearraylist4*/;
37977 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
37978 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction508___action, LOCATE_parser, 23167); nit_exit(1);}
37979 variable[11] = NEW_APercentExpr_parser_prod___APercentExpr___init_apercentexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new APercentExpr*/
37980 variable[10] = variable[11];
37981 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
37982 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(49)) /*Parser::go_to*/;
37983 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
37984 return_label1048: while(false);
37985 tracehead = trace.prev;
37986 return;
37987 }
37988 void parser___ReduceAction508___init(val_t self, int* init_table) {
37989 struct trace_t trace = {NULL, NULL, 23175, LOCATE_parser___ReduceAction508___init};
37990 val_t variable[2];
37991 void **closurevariable = NULL;
37992 trace.prev = tracehead; tracehead = &trace;
37993 trace.file = LOCATE_parser;
37994 variable[0] = self;
37995 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction508].i]) return;
37996 return_label1049: while(false);
37997 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction508].i] = 1;
37998 tracehead = trace.prev;
37999 return;
38000 }
38001 void parser___ReduceAction509___action(val_t self, val_t param0) {
38002 struct trace_t trace = {NULL, NULL, 23179, LOCATE_parser___ReduceAction509___action};
38003 val_t variable[7];
38004 void **closurevariable = NULL;
38005 trace.prev = tracehead; tracehead = &trace;
38006 trace.file = LOCATE_parser;
38007 variable[0] = self;
38008 variable[1] = param0;
38009 variable[3] = NIT_NULL /*null*/;
38010 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38011 variable[4] = variable[5];
38012 variable[5] = variable[4] /*nodearraylist1*/;
38013 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
38014 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction509___action, LOCATE_parser, 23184); nit_exit(1);}
38015 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
38016 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(50)) /*Parser::go_to*/;
38017 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
38018 return_label1050: while(false);
38019 tracehead = trace.prev;
38020 return;
38021 }
38022 void parser___ReduceAction509___init(val_t self, int* init_table) {
38023 struct trace_t trace = {NULL, NULL, 23188, LOCATE_parser___ReduceAction509___init};
38024 val_t variable[2];
38025 void **closurevariable = NULL;
38026 trace.prev = tracehead; tracehead = &trace;
38027 trace.file = LOCATE_parser;
38028 variable[0] = self;
38029 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction509].i]) return;
38030 return_label1051: while(false);
38031 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction509].i] = 1;
38032 tracehead = trace.prev;
38033 return;
38034 }
38035 void parser___ReduceAction510___action(val_t self, val_t param0) {
38036 struct trace_t trace = {NULL, NULL, 23192, LOCATE_parser___ReduceAction510___action};
38037 val_t variable[11];
38038 void **closurevariable = NULL;
38039 trace.prev = tracehead; tracehead = &trace;
38040 trace.file = LOCATE_parser;
38041 variable[0] = self;
38042 variable[1] = param0;
38043 variable[3] = NIT_NULL /*null*/;
38044 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38045 variable[4] = variable[5];
38046 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38047 variable[5] = variable[6];
38048 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38049 variable[6] = variable[7];
38050 variable[7] = variable[6] /*nodearraylist1*/;
38051 variable[8] = TAG_Bool(( variable[7] /*tminusnode2*/==NIT_NULL) || VAL_ISA( variable[7] /*tminusnode2*/, COLOR_TMinus, ID_TMinus)) /*cast TMinus*/;
38052 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction510___action, LOCATE_parser, 23199); nit_exit(1);}
38053 variable[8] = variable[4] /*nodearraylist3*/;
38054 variable[9] = TAG_Bool(( variable[8] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
38055 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction510___action, LOCATE_parser, 23201); nit_exit(1);}
38056 variable[10] = NEW_AUminusExpr_parser_prod___AUminusExpr___init_auminusexpr( variable[7] /*tminusnode2*/, variable[8] /*pexprnode3*/); /*new AUminusExpr*/
38057 variable[9] = variable[10];
38058 variable[3] = variable[9] /*pexprnode1*/ /*node_list=*/;
38059 variable[10] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(50)) /*Parser::go_to*/;
38060 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
38061 return_label1052: while(false);
38062 tracehead = trace.prev;
38063 return;
38064 }
38065 void parser___ReduceAction510___init(val_t self, int* init_table) {
38066 struct trace_t trace = {NULL, NULL, 23209, LOCATE_parser___ReduceAction510___init};
38067 val_t variable[2];
38068 void **closurevariable = NULL;
38069 trace.prev = tracehead; tracehead = &trace;
38070 trace.file = LOCATE_parser;
38071 variable[0] = self;
38072 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction510].i]) return;
38073 return_label1053: while(false);
38074 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction510].i] = 1;
38075 tracehead = trace.prev;
38076 return;
38077 }
38078 void parser___ReduceAction511___action(val_t self, val_t param0) {
38079 struct trace_t trace = {NULL, NULL, 23213, LOCATE_parser___ReduceAction511___action};
38080 val_t variable[11];
38081 void **closurevariable = NULL;
38082 trace.prev = tracehead; tracehead = &trace;
38083 trace.file = LOCATE_parser;
38084 variable[0] = self;
38085 variable[1] = param0;
38086 variable[3] = NIT_NULL /*null*/;
38087 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38088 variable[4] = variable[5];
38089 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38090 variable[5] = variable[6];
38091 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38092 variable[6] = variable[7];
38093 variable[7] = variable[6] /*nodearraylist1*/;
38094 variable[8] = TAG_Bool(( variable[7] /*tkwoncenode2*/==NIT_NULL) || VAL_ISA( variable[7] /*tkwoncenode2*/, COLOR_TKwonce, ID_TKwonce)) /*cast TKwonce*/;
38095 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction511___action, LOCATE_parser, 23220); nit_exit(1);}
38096 variable[8] = variable[4] /*nodearraylist3*/;
38097 variable[9] = TAG_Bool(( variable[8] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
38098 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction511___action, LOCATE_parser, 23222); nit_exit(1);}
38099 variable[10] = NEW_AOnceExpr_parser_prod___AOnceExpr___init_aonceexpr( variable[7] /*tkwoncenode2*/, variable[8] /*pexprnode3*/); /*new AOnceExpr*/
38100 variable[9] = variable[10];
38101 variable[3] = variable[9] /*pexprnode1*/ /*node_list=*/;
38102 variable[10] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(50)) /*Parser::go_to*/;
38103 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
38104 return_label1054: while(false);
38105 tracehead = trace.prev;
38106 return;
38107 }
38108 void parser___ReduceAction511___init(val_t self, int* init_table) {
38109 struct trace_t trace = {NULL, NULL, 23230, LOCATE_parser___ReduceAction511___init};
38110 val_t variable[2];
38111 void **closurevariable = NULL;
38112 trace.prev = tracehead; tracehead = &trace;
38113 trace.file = LOCATE_parser;
38114 variable[0] = self;
38115 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction511].i]) return;
38116 return_label1055: while(false);
38117 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction511].i] = 1;
38118 tracehead = trace.prev;
38119 return;
38120 }
38121 void parser___ReduceAction512___action(val_t self, val_t param0) {
38122 struct trace_t trace = {NULL, NULL, 23234, LOCATE_parser___ReduceAction512___action};
38123 val_t variable[7];
38124 void **closurevariable = NULL;
38125 trace.prev = tracehead; tracehead = &trace;
38126 trace.file = LOCATE_parser;
38127 variable[0] = self;
38128 variable[1] = param0;
38129 variable[3] = NIT_NULL /*null*/;
38130 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38131 variable[4] = variable[5];
38132 variable[5] = variable[4] /*nodearraylist1*/;
38133 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
38134 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction512___action, LOCATE_parser, 23239); nit_exit(1);}
38135 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
38136 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(51)) /*Parser::go_to*/;
38137 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
38138 return_label1056: while(false);
38139 tracehead = trace.prev;
38140 return;
38141 }
38142 void parser___ReduceAction512___init(val_t self, int* init_table) {
38143 struct trace_t trace = {NULL, NULL, 23243, LOCATE_parser___ReduceAction512___init};
38144 val_t variable[2];
38145 void **closurevariable = NULL;
38146 trace.prev = tracehead; tracehead = &trace;
38147 trace.file = LOCATE_parser;
38148 variable[0] = self;
38149 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction512].i]) return;
38150 return_label1057: while(false);
38151 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction512].i] = 1;
38152 tracehead = trace.prev;
38153 return;
38154 }
38155 void parser___ReduceAction513___action(val_t self, val_t param0) {
38156 struct trace_t trace = {NULL, NULL, 23247, LOCATE_parser___ReduceAction513___action};
38157 val_t variable[14];
38158 void **closurevariable = NULL;
38159 trace.prev = tracehead; tracehead = &trace;
38160 trace.file = LOCATE_parser;
38161 variable[0] = self;
38162 variable[1] = param0;
38163 variable[3] = NIT_NULL /*null*/;
38164 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38165 variable[4] = variable[5];
38166 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38167 variable[5] = variable[6];
38168 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38169 variable[6] = variable[7];
38170 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38171 variable[7] = variable[8];
38172 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
38173 variable[8] = variable[9];
38174 variable[9] = variable[7] /*nodearraylist1*/;
38175 variable[10] = TAG_Bool(( variable[9] /*tkwnewnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwnewnode2*/, COLOR_TKwnew, ID_TKwnew)) /*cast TKwnew*/;
38176 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction513___action, LOCATE_parser, 23256); nit_exit(1);}
38177 variable[10] = variable[5] /*nodearraylist3*/;
38178 variable[11] = TAG_Bool(( variable[10] /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable[10] /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
38179 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction513___action, LOCATE_parser, 23258); nit_exit(1);}
38180 variable[11] = variable[4] /*nodearraylist4*/;
38181 variable[12] = TAG_Bool(( variable[11] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
38182 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction513___action, LOCATE_parser, 23260); nit_exit(1);}
38183 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode5*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable[11] /*listnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
38184 if (UNTAG_Bool(variable[12])) { /*if*/
38185 variable[12] = ((array___AbstractArray___is_empty_t)CALL( variable[8] /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable[8] /*listnode6*/) /*AbstractArray::is_empty*/;
38186 if (UNTAG_Bool(variable[12])) { /*if*/
38187 variable[8] = variable[11] /*listnode5*/ /*listnode6=*/;
38188 } else { /*if*/
38189 ((abstract_collection___IndexedCollection___append_t)CALL( variable[8] /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable[8] /*listnode6*/, variable[11] /*listnode5*/) /*IndexedCollection::append*/;
38190 }
38191 }
38192 variable[13] = NEW_ANewExpr_parser_prod___ANewExpr___init_anewexpr( variable[9] /*tkwnewnode2*/, variable[10] /*ptypenode3*/, NIT_NULL /*null*/, variable[8] /*listnode6*/); /*new ANewExpr*/
38193 variable[12] = variable[13];
38194 variable[3] = variable[12] /*pexprnode1*/ /*node_list=*/;
38195 variable[13] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(51)) /*Parser::go_to*/;
38196 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
38197 return_label1058: while(false);
38198 tracehead = trace.prev;
38199 return;
38200 }
38201 void parser___ReduceAction513___init(val_t self, int* init_table) {
38202 struct trace_t trace = {NULL, NULL, 23277, LOCATE_parser___ReduceAction513___init};
38203 val_t variable[2];
38204 void **closurevariable = NULL;
38205 trace.prev = tracehead; tracehead = &trace;
38206 trace.file = LOCATE_parser;
38207 variable[0] = self;
38208 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction513].i]) return;
38209 return_label1059: while(false);
38210 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction513].i] = 1;
38211 tracehead = trace.prev;
38212 return;
38213 }
38214 void parser___ReduceAction514___action(val_t self, val_t param0) {
38215 struct trace_t trace = {NULL, NULL, 23281, LOCATE_parser___ReduceAction514___action};
38216 val_t variable[12];
38217 void **closurevariable = NULL;
38218 trace.prev = tracehead; tracehead = &trace;
38219 trace.file = LOCATE_parser;
38220 variable[0] = self;
38221 variable[1] = param0;
38222 variable[3] = NIT_NULL /*null*/;
38223 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38224 variable[4] = variable[5];
38225 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38226 variable[5] = variable[6];
38227 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38228 variable[6] = variable[7];
38229 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38230 variable[7] = variable[8];
38231 variable[8] = variable[7] /*nodearraylist1*/;
38232 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
38233 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction514___action, LOCATE_parser, 23289); nit_exit(1);}
38234 variable[9] = variable[4] /*nodearraylist4*/;
38235 variable[10] = TAG_Bool(( variable[9] /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
38236 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction514___action, LOCATE_parser, 23291); nit_exit(1);}
38237 variable[11] = NEW_AAttrExpr_parser_prod___AAttrExpr___init_aattrexpr( variable[8] /*pexprnode2*/, variable[9] /*tattridnode3*/); /*new AAttrExpr*/
38238 variable[10] = variable[11];
38239 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
38240 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(52)) /*Parser::go_to*/;
38241 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
38242 return_label1060: while(false);
38243 tracehead = trace.prev;
38244 return;
38245 }
38246 void parser___ReduceAction514___init(val_t self, int* init_table) {
38247 struct trace_t trace = {NULL, NULL, 23299, LOCATE_parser___ReduceAction514___init};
38248 val_t variable[2];
38249 void **closurevariable = NULL;
38250 trace.prev = tracehead; tracehead = &trace;
38251 trace.file = LOCATE_parser;
38252 variable[0] = self;
38253 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction514].i]) return;
38254 return_label1061: while(false);
38255 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction514].i] = 1;
38256 tracehead = trace.prev;
38257 return;
38258 }
38259 void parser___ReduceAction515___action(val_t self, val_t param0) {
38260 struct trace_t trace = {NULL, NULL, 23303, LOCATE_parser___ReduceAction515___action};
38261 val_t variable[9];
38262 void **closurevariable = NULL;
38263 trace.prev = tracehead; tracehead = &trace;
38264 trace.file = LOCATE_parser;
38265 variable[0] = self;
38266 variable[1] = param0;
38267 variable[3] = NIT_NULL /*null*/;
38268 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38269 variable[4] = variable[5];
38270 variable[6] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
38271 variable[5] = variable[6];
38272 variable[6] = variable[4] /*nodearraylist1*/;
38273 variable[7] = TAG_Bool(( variable[6] /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable[6] /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
38274 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction515___action, LOCATE_parser, 23310); nit_exit(1);}
38275 variable[8] = NEW_AAttrExpr_parser_prod___AAttrExpr___init_aattrexpr( variable[5] /*pexprnode2*/, variable[6] /*tattridnode3*/); /*new AAttrExpr*/
38276 variable[7] = variable[8];
38277 variable[3] = variable[7] /*pexprnode1*/ /*node_list=*/;
38278 variable[8] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(52)) /*Parser::go_to*/;
38279 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
38280 return_label1062: while(false);
38281 tracehead = trace.prev;
38282 return;
38283 }
38284 void parser___ReduceAction515___init(val_t self, int* init_table) {
38285 struct trace_t trace = {NULL, NULL, 23318, LOCATE_parser___ReduceAction515___init};
38286 val_t variable[2];
38287 void **closurevariable = NULL;
38288 trace.prev = tracehead; tracehead = &trace;
38289 trace.file = LOCATE_parser;
38290 variable[0] = self;
38291 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction515].i]) return;
38292 return_label1063: while(false);
38293 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction515].i] = 1;
38294 tracehead = trace.prev;
38295 return;
38296 }
38297 void parser___ReduceAction516___action(val_t self, val_t param0) {
38298 struct trace_t trace = {NULL, NULL, 23322, LOCATE_parser___ReduceAction516___action};
38299 val_t variable[16];
38300 void **closurevariable = NULL;
38301 trace.prev = tracehead; tracehead = &trace;
38302 trace.file = LOCATE_parser;
38303 variable[0] = self;
38304 variable[1] = param0;
38305 variable[3] = NIT_NULL /*null*/;
38306 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38307 variable[4] = variable[5];
38308 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38309 variable[5] = variable[6];
38310 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38311 variable[6] = variable[7];
38312 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38313 variable[7] = variable[8];
38314 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38315 variable[8] = variable[9];
38316 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
38317 variable[9] = variable[10];
38318 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
38319 variable[10] = variable[11];
38320 variable[11] = variable[8] /*nodearraylist1*/;
38321 variable[12] = TAG_Bool(( variable[11] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
38322 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction516___action, LOCATE_parser, 23333); nit_exit(1);}
38323 variable[12] = variable[5] /*nodearraylist4*/;
38324 variable[13] = TAG_Bool(( variable[12] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[12] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
38325 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction516___action, LOCATE_parser, 23335); nit_exit(1);}
38326 variable[13] = variable[4] /*nodearraylist5*/;
38327 variable[14] = TAG_Bool(( variable[13] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[13] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
38328 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction516___action, LOCATE_parser, 23337); nit_exit(1);}
38329 variable[14] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[13] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[13] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[13] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[13] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[13] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[13] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
38330 if (UNTAG_Bool(variable[14])) { /*if*/
38331 variable[14] = ((array___AbstractArray___is_empty_t)CALL( variable[9] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[9] /*listnode5*/) /*AbstractArray::is_empty*/;
38332 if (UNTAG_Bool(variable[14])) { /*if*/
38333 variable[9] = variable[13] /*listnode4*/ /*listnode5=*/;
38334 } else { /*if*/
38335 ((abstract_collection___IndexedCollection___append_t)CALL( variable[9] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[9] /*listnode5*/, variable[13] /*listnode4*/) /*IndexedCollection::append*/;
38336 }
38337 }
38338 variable[15] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[11] /*pexprnode2*/, variable[12] /*tidnode3*/, variable[9] /*listnode5*/, variable[10] /*listnode6*/); /*new ACallExpr*/
38339 variable[14] = variable[15];
38340 variable[3] = variable[14] /*pexprnode1*/ /*node_list=*/;
38341 variable[15] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(52)) /*Parser::go_to*/;
38342 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
38343 return_label1064: while(false);
38344 tracehead = trace.prev;
38345 return;
38346 }
38347 void parser___ReduceAction516___init(val_t self, int* init_table) {
38348 struct trace_t trace = {NULL, NULL, 23354, LOCATE_parser___ReduceAction516___init};
38349 val_t variable[2];
38350 void **closurevariable = NULL;
38351 trace.prev = tracehead; tracehead = &trace;
38352 trace.file = LOCATE_parser;
38353 variable[0] = self;
38354 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction516].i]) return;
38355 return_label1065: while(false);
38356 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction516].i] = 1;
38357 tracehead = trace.prev;
38358 return;
38359 }
38360 void parser___ReduceAction517___action(val_t self, val_t param0) {
38361 struct trace_t trace = {NULL, NULL, 23358, LOCATE_parser___ReduceAction517___action};
38362 val_t variable[13];
38363 void **closurevariable = NULL;
38364 trace.prev = tracehead; tracehead = &trace;
38365 trace.file = LOCATE_parser;
38366 variable[0] = self;
38367 variable[1] = param0;
38368 variable[3] = NIT_NULL /*null*/;
38369 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38370 variable[4] = variable[5];
38371 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38372 variable[5] = variable[6];
38373 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
38374 variable[6] = variable[7];
38375 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
38376 variable[7] = variable[8];
38377 variable[9] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
38378 variable[8] = variable[9];
38379 variable[9] = variable[5] /*nodearraylist1*/;
38380 variable[10] = TAG_Bool(( variable[9] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
38381 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction517___action, LOCATE_parser, 23368); nit_exit(1);}
38382 variable[10] = variable[4] /*nodearraylist2*/;
38383 variable[11] = TAG_Bool(( variable[10] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
38384 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction517___action, LOCATE_parser, 23370); nit_exit(1);}
38385 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[10] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
38386 if (UNTAG_Bool(variable[11])) { /*if*/
38387 variable[11] = ((array___AbstractArray___is_empty_t)CALL( variable[6] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[6] /*listnode5*/) /*AbstractArray::is_empty*/;
38388 if (UNTAG_Bool(variable[11])) { /*if*/
38389 variable[6] = variable[10] /*listnode4*/ /*listnode5=*/;
38390 } else { /*if*/
38391 ((abstract_collection___IndexedCollection___append_t)CALL( variable[6] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[6] /*listnode5*/, variable[10] /*listnode4*/) /*IndexedCollection::append*/;
38392 }
38393 }
38394 variable[12] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[8] /*pexprnode2*/, variable[9] /*tidnode3*/, variable[6] /*listnode5*/, variable[7] /*listnode6*/); /*new ACallExpr*/
38395 variable[11] = variable[12];
38396 variable[3] = variable[11] /*pexprnode1*/ /*node_list=*/;
38397 variable[12] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(52)) /*Parser::go_to*/;
38398 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
38399 return_label1066: while(false);
38400 tracehead = trace.prev;
38401 return;
38402 }
38403 void parser___ReduceAction517___init(val_t self, int* init_table) {
38404 struct trace_t trace = {NULL, NULL, 23387, LOCATE_parser___ReduceAction517___init};
38405 val_t variable[2];
38406 void **closurevariable = NULL;
38407 trace.prev = tracehead; tracehead = &trace;
38408 trace.file = LOCATE_parser;
38409 variable[0] = self;
38410 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction517].i]) return;
38411 return_label1067: while(false);
38412 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction517].i] = 1;
38413 tracehead = trace.prev;
38414 return;
38415 }
38416 void parser___ReduceAction518___action(val_t self, val_t param0) {
38417 struct trace_t trace = {NULL, NULL, 23391, LOCATE_parser___ReduceAction518___action};
38418 val_t variable[11];
38419 void **closurevariable = NULL;
38420 trace.prev = tracehead; tracehead = &trace;
38421 trace.file = LOCATE_parser;
38422 variable[0] = self;
38423 variable[1] = param0;
38424 variable[3] = NIT_NULL /*null*/;
38425 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38426 variable[4] = variable[5];
38427 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38428 variable[5] = variable[6];
38429 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
38430 variable[6] = variable[7];
38431 variable[7] = variable[5] /*nodearraylist1*/;
38432 variable[8] = TAG_Bool(( variable[7] /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable[7] /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
38433 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction518___action, LOCATE_parser, 23398); nit_exit(1);}
38434 variable[8] = variable[4] /*nodearraylist2*/;
38435 variable[9] = TAG_Bool(( variable[8] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[8] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
38436 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction518___action, LOCATE_parser, 23400); nit_exit(1);}
38437 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[8] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[8] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[8] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[8] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
38438 if (UNTAG_Bool(variable[9])) { /*if*/
38439 variable[9] = ((array___AbstractArray___is_empty_t)CALL( variable[6] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[6] /*listnode5*/) /*AbstractArray::is_empty*/;
38440 if (UNTAG_Bool(variable[9])) { /*if*/
38441 variable[6] = variable[8] /*listnode4*/ /*listnode5=*/;
38442 } else { /*if*/
38443 ((abstract_collection___IndexedCollection___append_t)CALL( variable[6] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[6] /*listnode5*/, variable[8] /*listnode4*/) /*IndexedCollection::append*/;
38444 }
38445 }
38446 variable[10] = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr( NIT_NULL /*null*/, variable[7] /*tkwsupernode3*/, variable[6] /*listnode5*/); /*new ASuperExpr*/
38447 variable[9] = variable[10];
38448 variable[3] = variable[9] /*pexprnode1*/ /*node_list=*/;
38449 variable[10] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(52)) /*Parser::go_to*/;
38450 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
38451 return_label1068: while(false);
38452 tracehead = trace.prev;
38453 return;
38454 }
38455 void parser___ReduceAction518___init(val_t self, int* init_table) {
38456 struct trace_t trace = {NULL, NULL, 23416, LOCATE_parser___ReduceAction518___init};
38457 val_t variable[2];
38458 void **closurevariable = NULL;
38459 trace.prev = tracehead; tracehead = &trace;
38460 trace.file = LOCATE_parser;
38461 variable[0] = self;
38462 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction518].i]) return;
38463 return_label1069: while(false);
38464 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction518].i] = 1;
38465 tracehead = trace.prev;
38466 return;
38467 }
38468 void parser___ReduceAction519___action(val_t self, val_t param0) {
38469 struct trace_t trace = {NULL, NULL, 23420, LOCATE_parser___ReduceAction519___action};
38470 val_t variable[13];
38471 void **closurevariable = NULL;
38472 trace.prev = tracehead; tracehead = &trace;
38473 trace.file = LOCATE_parser;
38474 variable[0] = self;
38475 variable[1] = param0;
38476 variable[3] = NIT_NULL /*null*/;
38477 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38478 variable[4] = variable[5];
38479 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38480 variable[5] = variable[6];
38481 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38482 variable[6] = variable[7];
38483 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
38484 variable[7] = variable[8];
38485 variable[8] = variable[6] /*nodearraylist1*/;
38486 variable[9] = TAG_Bool(( variable[8] /*pqualifiednode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pqualifiednode2*/, COLOR_PQualified, ID_PQualified)) /*cast PQualified*/;
38487 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction519___action, LOCATE_parser, 23428); nit_exit(1);}
38488 variable[9] = variable[5] /*nodearraylist2*/;
38489 variable[10] = TAG_Bool(( variable[9] /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
38490 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction519___action, LOCATE_parser, 23430); nit_exit(1);}
38491 variable[10] = variable[4] /*nodearraylist3*/;
38492 variable[11] = TAG_Bool(( variable[10] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
38493 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction519___action, LOCATE_parser, 23432); nit_exit(1);}
38494 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[10] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
38495 if (UNTAG_Bool(variable[11])) { /*if*/
38496 variable[11] = ((array___AbstractArray___is_empty_t)CALL( variable[7] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[7] /*listnode5*/) /*AbstractArray::is_empty*/;
38497 if (UNTAG_Bool(variable[11])) { /*if*/
38498 variable[7] = variable[10] /*listnode4*/ /*listnode5=*/;
38499 } else { /*if*/
38500 ((abstract_collection___IndexedCollection___append_t)CALL( variable[7] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[7] /*listnode5*/, variable[10] /*listnode4*/) /*IndexedCollection::append*/;
38501 }
38502 }
38503 variable[12] = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr( variable[8] /*pqualifiednode2*/, variable[9] /*tkwsupernode3*/, variable[7] /*listnode5*/); /*new ASuperExpr*/
38504 variable[11] = variable[12];
38505 variable[3] = variable[11] /*pexprnode1*/ /*node_list=*/;
38506 variable[12] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(52)) /*Parser::go_to*/;
38507 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
38508 return_label1070: while(false);
38509 tracehead = trace.prev;
38510 return;
38511 }
38512 void parser___ReduceAction519___init(val_t self, int* init_table) {
38513 struct trace_t trace = {NULL, NULL, 23448, LOCATE_parser___ReduceAction519___init};
38514 val_t variable[2];
38515 void **closurevariable = NULL;
38516 trace.prev = tracehead; tracehead = &trace;
38517 trace.file = LOCATE_parser;
38518 variable[0] = self;
38519 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction519].i]) return;
38520 return_label1071: while(false);
38521 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction519].i] = 1;
38522 tracehead = trace.prev;
38523 return;
38524 }
38525 void parser___ReduceAction520___action(val_t self, val_t param0) {
38526 struct trace_t trace = {NULL, NULL, 23452, LOCATE_parser___ReduceAction520___action};
38527 val_t variable[15];
38528 void **closurevariable = NULL;
38529 trace.prev = tracehead; tracehead = &trace;
38530 trace.file = LOCATE_parser;
38531 variable[0] = self;
38532 variable[1] = param0;
38533 variable[3] = NIT_NULL /*null*/;
38534 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38535 variable[4] = variable[5];
38536 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38537 variable[5] = variable[6];
38538 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38539 variable[6] = variable[7];
38540 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38541 variable[7] = variable[8];
38542 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38543 variable[8] = variable[9];
38544 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
38545 variable[9] = variable[10];
38546 variable[10] = variable[8] /*nodearraylist1*/;
38547 variable[11] = TAG_Bool(( variable[10] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
38548 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction520___action, LOCATE_parser, 23462); nit_exit(1);}
38549 variable[11] = variable[5] /*nodearraylist4*/;
38550 variable[12] = TAG_Bool(( variable[11] /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
38551 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction520___action, LOCATE_parser, 23464); nit_exit(1);}
38552 variable[12] = variable[4] /*nodearraylist5*/;
38553 variable[13] = TAG_Bool(( variable[12] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
38554 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction520___action, LOCATE_parser, 23466); nit_exit(1);}
38555 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[12] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
38556 if (UNTAG_Bool(variable[13])) { /*if*/
38557 variable[13] = ((array___AbstractArray___is_empty_t)CALL( variable[9] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[9] /*listnode5*/) /*AbstractArray::is_empty*/;
38558 if (UNTAG_Bool(variable[13])) { /*if*/
38559 variable[9] = variable[12] /*listnode4*/ /*listnode5=*/;
38560 } else { /*if*/
38561 ((abstract_collection___IndexedCollection___append_t)CALL( variable[9] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[9] /*listnode5*/, variable[12] /*listnode4*/) /*IndexedCollection::append*/;
38562 }
38563 }
38564 variable[14] = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr( variable[10] /*pexprnode2*/, variable[11] /*tkwinitnode3*/, variable[9] /*listnode5*/); /*new AInitExpr*/
38565 variable[13] = variable[14];
38566 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
38567 variable[14] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(52)) /*Parser::go_to*/;
38568 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
38569 return_label1072: while(false);
38570 tracehead = trace.prev;
38571 return;
38572 }
38573 void parser___ReduceAction520___init(val_t self, int* init_table) {
38574 struct trace_t trace = {NULL, NULL, 23482, LOCATE_parser___ReduceAction520___init};
38575 val_t variable[2];
38576 void **closurevariable = NULL;
38577 trace.prev = tracehead; tracehead = &trace;
38578 trace.file = LOCATE_parser;
38579 variable[0] = self;
38580 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction520].i]) return;
38581 return_label1073: while(false);
38582 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction520].i] = 1;
38583 tracehead = trace.prev;
38584 return;
38585 }
38586 void parser___ReduceAction521___action(val_t self, val_t param0) {
38587 struct trace_t trace = {NULL, NULL, 23486, LOCATE_parser___ReduceAction521___action};
38588 val_t variable[12];
38589 void **closurevariable = NULL;
38590 trace.prev = tracehead; tracehead = &trace;
38591 trace.file = LOCATE_parser;
38592 variable[0] = self;
38593 variable[1] = param0;
38594 variable[3] = NIT_NULL /*null*/;
38595 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38596 variable[4] = variable[5];
38597 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38598 variable[5] = variable[6];
38599 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
38600 variable[6] = variable[7];
38601 variable[8] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
38602 variable[7] = variable[8];
38603 variable[8] = variable[5] /*nodearraylist1*/;
38604 variable[9] = TAG_Bool(( variable[8] /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
38605 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction521___action, LOCATE_parser, 23495); nit_exit(1);}
38606 variable[9] = variable[4] /*nodearraylist2*/;
38607 variable[10] = TAG_Bool(( variable[9] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[9] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
38608 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction521___action, LOCATE_parser, 23497); nit_exit(1);}
38609 variable[10] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[9] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[9] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[9] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[9] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[9] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[9] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
38610 if (UNTAG_Bool(variable[10])) { /*if*/
38611 variable[10] = ((array___AbstractArray___is_empty_t)CALL( variable[6] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[6] /*listnode5*/) /*AbstractArray::is_empty*/;
38612 if (UNTAG_Bool(variable[10])) { /*if*/
38613 variable[6] = variable[9] /*listnode4*/ /*listnode5=*/;
38614 } else { /*if*/
38615 ((abstract_collection___IndexedCollection___append_t)CALL( variable[6] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[6] /*listnode5*/, variable[9] /*listnode4*/) /*IndexedCollection::append*/;
38616 }
38617 }
38618 variable[11] = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr( variable[7] /*pexprnode2*/, variable[8] /*tkwinitnode3*/, variable[6] /*listnode5*/); /*new AInitExpr*/
38619 variable[10] = variable[11];
38620 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
38621 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(52)) /*Parser::go_to*/;
38622 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
38623 return_label1074: while(false);
38624 tracehead = trace.prev;
38625 return;
38626 }
38627 void parser___ReduceAction521___init(val_t self, int* init_table) {
38628 struct trace_t trace = {NULL, NULL, 23513, LOCATE_parser___ReduceAction521___init};
38629 val_t variable[2];
38630 void **closurevariable = NULL;
38631 trace.prev = tracehead; tracehead = &trace;
38632 trace.file = LOCATE_parser;
38633 variable[0] = self;
38634 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction521].i]) return;
38635 return_label1075: while(false);
38636 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction521].i] = 1;
38637 tracehead = trace.prev;
38638 return;
38639 }
38640 void parser___ReduceAction522___action(val_t self, val_t param0) {
38641 struct trace_t trace = {NULL, NULL, 23517, LOCATE_parser___ReduceAction522___action};
38642 val_t variable[12];
38643 void **closurevariable = NULL;
38644 trace.prev = tracehead; tracehead = &trace;
38645 trace.file = LOCATE_parser;
38646 variable[0] = self;
38647 variable[1] = param0;
38648 variable[3] = NIT_NULL /*null*/;
38649 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38650 variable[4] = variable[5];
38651 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38652 variable[5] = variable[6];
38653 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
38654 variable[6] = variable[7];
38655 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
38656 variable[7] = variable[8];
38657 variable[8] = variable[5] /*nodearraylist1*/;
38658 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
38659 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction522___action, LOCATE_parser, 23525); nit_exit(1);}
38660 variable[9] = variable[4] /*nodearraylist2*/;
38661 variable[10] = TAG_Bool(( variable[9] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
38662 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction522___action, LOCATE_parser, 23527); nit_exit(1);}
38663 variable[10] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[9] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[9] /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[9] /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[9] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[9] /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable[9] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
38664 if (UNTAG_Bool(variable[10])) { /*if*/
38665 variable[10] = ((array___AbstractArray___is_empty_t)CALL( variable[6] /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable[6] /*listnode4*/) /*AbstractArray::is_empty*/;
38666 if (UNTAG_Bool(variable[10])) { /*if*/
38667 variable[6] = variable[9] /*listnode3*/ /*listnode4=*/;
38668 } else { /*if*/
38669 ((abstract_collection___IndexedCollection___append_t)CALL( variable[6] /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable[6] /*listnode4*/, variable[9] /*listnode3*/) /*IndexedCollection::append*/;
38670 }
38671 }
38672 variable[11] = NEW_ABraExpr_parser_prod___ABraExpr___init_abraexpr( variable[8] /*pexprnode2*/, variable[6] /*listnode4*/, variable[7] /*listnode5*/); /*new ABraExpr*/
38673 variable[10] = variable[11];
38674 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
38675 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(52)) /*Parser::go_to*/;
38676 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
38677 return_label1076: while(false);
38678 tracehead = trace.prev;
38679 return;
38680 }
38681 void parser___ReduceAction522___init(val_t self, int* init_table) {
38682 struct trace_t trace = {NULL, NULL, 23543, LOCATE_parser___ReduceAction522___init};
38683 val_t variable[2];
38684 void **closurevariable = NULL;
38685 trace.prev = tracehead; tracehead = &trace;
38686 trace.file = LOCATE_parser;
38687 variable[0] = self;
38688 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction522].i]) return;
38689 return_label1077: while(false);
38690 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction522].i] = 1;
38691 tracehead = trace.prev;
38692 return;
38693 }
38694 void parser___ReduceAction523___action(val_t self, val_t param0) {
38695 struct trace_t trace = {NULL, NULL, 23547, LOCATE_parser___ReduceAction523___action};
38696 val_t variable[18];
38697 void **closurevariable = NULL;
38698 trace.prev = tracehead; tracehead = &trace;
38699 trace.file = LOCATE_parser;
38700 variable[0] = self;
38701 variable[1] = param0;
38702 variable[3] = NIT_NULL /*null*/;
38703 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38704 variable[4] = variable[5];
38705 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38706 variable[5] = variable[6];
38707 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38708 variable[6] = variable[7];
38709 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38710 variable[7] = variable[8];
38711 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38712 variable[8] = variable[9];
38713 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38714 variable[9] = variable[10];
38715 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38716 variable[10] = variable[11];
38717 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
38718 variable[11] = variable[12];
38719 variable[12] = variable[10] /*nodearraylist1*/;
38720 variable[13] = TAG_Bool(( variable[12] /*tkwnewnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwnewnode2*/, COLOR_TKwnew, ID_TKwnew)) /*cast TKwnew*/;
38721 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction523___action, LOCATE_parser, 23559); nit_exit(1);}
38722 variable[13] = variable[8] /*nodearraylist3*/;
38723 variable[14] = TAG_Bool(( variable[13] /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable[13] /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
38724 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction523___action, LOCATE_parser, 23561); nit_exit(1);}
38725 variable[14] = variable[5] /*nodearraylist6*/;
38726 variable[15] = TAG_Bool(( variable[14] /*tidnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*tidnode4*/, COLOR_TId, ID_TId)) /*cast TId*/;
38727 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction523___action, LOCATE_parser, 23563); nit_exit(1);}
38728 variable[15] = variable[4] /*nodearraylist7*/;
38729 variable[16] = TAG_Bool(( variable[15] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
38730 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction523___action, LOCATE_parser, 23565); nit_exit(1);}
38731 variable[16] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*listnode5*/ == NIT_NULL /*null*/) || (( variable[15] /*listnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[15] /*listnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*listnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[15] /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable[15] /*listnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
38732 if (UNTAG_Bool(variable[16])) { /*if*/
38733 variable[16] = ((array___AbstractArray___is_empty_t)CALL( variable[11] /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable[11] /*listnode6*/) /*AbstractArray::is_empty*/;
38734 if (UNTAG_Bool(variable[16])) { /*if*/
38735 variable[11] = variable[15] /*listnode5*/ /*listnode6=*/;
38736 } else { /*if*/
38737 ((abstract_collection___IndexedCollection___append_t)CALL( variable[11] /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable[11] /*listnode6*/, variable[15] /*listnode5*/) /*IndexedCollection::append*/;
38738 }
38739 }
38740 variable[17] = NEW_ANewExpr_parser_prod___ANewExpr___init_anewexpr( variable[12] /*tkwnewnode2*/, variable[13] /*ptypenode3*/, variable[14] /*tidnode4*/, variable[11] /*listnode6*/); /*new ANewExpr*/
38741 variable[16] = variable[17];
38742 variable[3] = variable[16] /*pexprnode1*/ /*node_list=*/;
38743 variable[17] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(52)) /*Parser::go_to*/;
38744 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
38745 return_label1078: while(false);
38746 tracehead = trace.prev;
38747 return;
38748 }
38749 void parser___ReduceAction523___init(val_t self, int* init_table) {
38750 struct trace_t trace = {NULL, NULL, 23582, LOCATE_parser___ReduceAction523___init};
38751 val_t variable[2];
38752 void **closurevariable = NULL;
38753 trace.prev = tracehead; tracehead = &trace;
38754 trace.file = LOCATE_parser;
38755 variable[0] = self;
38756 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction523].i]) return;
38757 return_label1079: while(false);
38758 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction523].i] = 1;
38759 tracehead = trace.prev;
38760 return;
38761 }
38762 void parser___ReduceAction524___action(val_t self, val_t param0) {
38763 struct trace_t trace = {NULL, NULL, 23586, LOCATE_parser___ReduceAction524___action};
38764 val_t variable[17];
38765 void **closurevariable = NULL;
38766 trace.prev = tracehead; tracehead = &trace;
38767 trace.file = LOCATE_parser;
38768 variable[0] = self;
38769 variable[1] = param0;
38770 variable[3] = NIT_NULL /*null*/;
38771 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38772 variable[4] = variable[5];
38773 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38774 variable[5] = variable[6];
38775 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38776 variable[6] = variable[7];
38777 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38778 variable[7] = variable[8];
38779 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38780 variable[8] = variable[9];
38781 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38782 variable[9] = variable[10];
38783 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38784 variable[10] = variable[11];
38785 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38786 variable[11] = variable[12];
38787 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38788 variable[12] = variable[13];
38789 variable[13] = variable[10] /*nodearraylist3*/;
38790 variable[14] = TAG_Bool(( variable[13] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
38791 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction524___action, LOCATE_parser, 23599); nit_exit(1);}
38792 variable[14] = variable[6] /*nodearraylist7*/;
38793 variable[15] = TAG_Bool(( variable[14] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[14] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
38794 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction524___action, LOCATE_parser, 23601); nit_exit(1);}
38795 variable[16] = NEW_ACrangeExpr_parser_prod___ACrangeExpr___init_acrangeexpr( variable[13] /*pexprnode2*/, variable[14] /*pexprnode3*/); /*new ACrangeExpr*/
38796 variable[15] = variable[16];
38797 variable[3] = variable[15] /*pexprnode1*/ /*node_list=*/;
38798 variable[16] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(52)) /*Parser::go_to*/;
38799 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[16], variable[3] /*node_list*/) /*Parser::push*/;
38800 return_label1080: while(false);
38801 tracehead = trace.prev;
38802 return;
38803 }
38804 void parser___ReduceAction524___init(val_t self, int* init_table) {
38805 struct trace_t trace = {NULL, NULL, 23609, LOCATE_parser___ReduceAction524___init};
38806 val_t variable[2];
38807 void **closurevariable = NULL;
38808 trace.prev = tracehead; tracehead = &trace;
38809 trace.file = LOCATE_parser;
38810 variable[0] = self;
38811 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction524].i]) return;
38812 return_label1081: while(false);
38813 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction524].i] = 1;
38814 tracehead = trace.prev;
38815 return;
38816 }
38817 void parser___ReduceAction525___action(val_t self, val_t param0) {
38818 struct trace_t trace = {NULL, NULL, 23613, LOCATE_parser___ReduceAction525___action};
38819 val_t variable[17];
38820 void **closurevariable = NULL;
38821 trace.prev = tracehead; tracehead = &trace;
38822 trace.file = LOCATE_parser;
38823 variable[0] = self;
38824 variable[1] = param0;
38825 variable[3] = NIT_NULL /*null*/;
38826 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38827 variable[4] = variable[5];
38828 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38829 variable[5] = variable[6];
38830 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38831 variable[6] = variable[7];
38832 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38833 variable[7] = variable[8];
38834 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38835 variable[8] = variable[9];
38836 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38837 variable[9] = variable[10];
38838 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38839 variable[10] = variable[11];
38840 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38841 variable[11] = variable[12];
38842 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38843 variable[12] = variable[13];
38844 variable[13] = variable[10] /*nodearraylist3*/;
38845 variable[14] = TAG_Bool(( variable[13] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
38846 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction525___action, LOCATE_parser, 23626); nit_exit(1);}
38847 variable[14] = variable[6] /*nodearraylist7*/;
38848 variable[15] = TAG_Bool(( variable[14] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[14] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
38849 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction525___action, LOCATE_parser, 23628); nit_exit(1);}
38850 variable[16] = NEW_AOrangeExpr_parser_prod___AOrangeExpr___init_aorangeexpr( variable[13] /*pexprnode2*/, variable[14] /*pexprnode3*/); /*new AOrangeExpr*/
38851 variable[15] = variable[16];
38852 variable[3] = variable[15] /*pexprnode1*/ /*node_list=*/;
38853 variable[16] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(52)) /*Parser::go_to*/;
38854 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[16], variable[3] /*node_list*/) /*Parser::push*/;
38855 return_label1082: while(false);
38856 tracehead = trace.prev;
38857 return;
38858 }
38859 void parser___ReduceAction525___init(val_t self, int* init_table) {
38860 struct trace_t trace = {NULL, NULL, 23636, LOCATE_parser___ReduceAction525___init};
38861 val_t variable[2];
38862 void **closurevariable = NULL;
38863 trace.prev = tracehead; tracehead = &trace;
38864 trace.file = LOCATE_parser;
38865 variable[0] = self;
38866 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction525].i]) return;
38867 return_label1083: while(false);
38868 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction525].i] = 1;
38869 tracehead = trace.prev;
38870 return;
38871 }
38872 void parser___ReduceAction526___action(val_t self, val_t param0) {
38873 struct trace_t trace = {NULL, NULL, 23640, LOCATE_parser___ReduceAction526___action};
38874 val_t variable[9];
38875 void **closurevariable = NULL;
38876 trace.prev = tracehead; tracehead = &trace;
38877 trace.file = LOCATE_parser;
38878 variable[0] = self;
38879 variable[1] = param0;
38880 variable[3] = NIT_NULL /*null*/;
38881 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38882 variable[4] = variable[5];
38883 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
38884 variable[5] = variable[6];
38885 variable[6] = variable[4] /*nodearraylist1*/;
38886 variable[7] = TAG_Bool(( variable[6] /*listnode2*/==NIT_NULL) || VAL_ISA( variable[6] /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
38887 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction526___action, LOCATE_parser, 23646); nit_exit(1);}
38888 variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[6] /*listnode2*/ == NIT_NULL /*null*/) || (( variable[6] /*listnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[6] /*listnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*listnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[6] /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable[6] /*listnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
38889 if (UNTAG_Bool(variable[7])) { /*if*/
38890 variable[7] = ((array___AbstractArray___is_empty_t)CALL( variable[5] /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable[5] /*listnode3*/) /*AbstractArray::is_empty*/;
38891 if (UNTAG_Bool(variable[7])) { /*if*/
38892 variable[5] = variable[6] /*listnode2*/ /*listnode3=*/;
38893 } else { /*if*/
38894 ((abstract_collection___IndexedCollection___append_t)CALL( variable[5] /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable[5] /*listnode3*/, variable[6] /*listnode2*/) /*IndexedCollection::append*/;
38895 }
38896 }
38897 variable[8] = NEW_AArrayExpr_parser_prod___AArrayExpr___init_aarrayexpr( variable[5] /*listnode3*/); /*new AArrayExpr*/
38898 variable[7] = variable[8];
38899 variable[3] = variable[7] /*pexprnode1*/ /*node_list=*/;
38900 variable[8] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(52)) /*Parser::go_to*/;
38901 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
38902 return_label1084: while(false);
38903 tracehead = trace.prev;
38904 return;
38905 }
38906 void parser___ReduceAction526___init(val_t self, int* init_table) {
38907 struct trace_t trace = {NULL, NULL, 23660, LOCATE_parser___ReduceAction526___init};
38908 val_t variable[2];
38909 void **closurevariable = NULL;
38910 trace.prev = tracehead; tracehead = &trace;
38911 trace.file = LOCATE_parser;
38912 variable[0] = self;
38913 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction526].i]) return;
38914 return_label1085: while(false);
38915 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction526].i] = 1;
38916 tracehead = trace.prev;
38917 return;
38918 }
38919 void parser___ReduceAction527___action(val_t self, val_t param0) {
38920 struct trace_t trace = {NULL, NULL, 23664, LOCATE_parser___ReduceAction527___action};
38921 val_t variable[8];
38922 void **closurevariable = NULL;
38923 trace.prev = tracehead; tracehead = &trace;
38924 trace.file = LOCATE_parser;
38925 variable[0] = self;
38926 variable[1] = param0;
38927 variable[3] = NIT_NULL /*null*/;
38928 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38929 variable[4] = variable[5];
38930 variable[5] = variable[4] /*nodearraylist1*/;
38931 variable[6] = TAG_Bool(( variable[5] /*tkwselfnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwselfnode2*/, COLOR_TKwself, ID_TKwself)) /*cast TKwself*/;
38932 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction527___action, LOCATE_parser, 23669); nit_exit(1);}
38933 variable[7] = NEW_ASelfExpr_parser_prod___ASelfExpr___init_aselfexpr( variable[5] /*tkwselfnode2*/); /*new ASelfExpr*/
38934 variable[6] = variable[7];
38935 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
38936 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(52)) /*Parser::go_to*/;
38937 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
38938 return_label1086: while(false);
38939 tracehead = trace.prev;
38940 return;
38941 }
38942 void parser___ReduceAction527___init(val_t self, int* init_table) {
38943 struct trace_t trace = {NULL, NULL, 23676, LOCATE_parser___ReduceAction527___init};
38944 val_t variable[2];
38945 void **closurevariable = NULL;
38946 trace.prev = tracehead; tracehead = &trace;
38947 trace.file = LOCATE_parser;
38948 variable[0] = self;
38949 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction527].i]) return;
38950 return_label1087: while(false);
38951 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction527].i] = 1;
38952 tracehead = trace.prev;
38953 return;
38954 }
38955 void parser___ReduceAction528___action(val_t self, val_t param0) {
38956 struct trace_t trace = {NULL, NULL, 23680, LOCATE_parser___ReduceAction528___action};
38957 val_t variable[8];
38958 void **closurevariable = NULL;
38959 trace.prev = tracehead; tracehead = &trace;
38960 trace.file = LOCATE_parser;
38961 variable[0] = self;
38962 variable[1] = param0;
38963 variable[3] = NIT_NULL /*null*/;
38964 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
38965 variable[4] = variable[5];
38966 variable[5] = variable[4] /*nodearraylist1*/;
38967 variable[6] = TAG_Bool(( variable[5] /*tkwtruenode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwtruenode2*/, COLOR_TKwtrue, ID_TKwtrue)) /*cast TKwtrue*/;
38968 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction528___action, LOCATE_parser, 23685); nit_exit(1);}
38969 variable[7] = NEW_ATrueExpr_parser_prod___ATrueExpr___init_atrueexpr( variable[5] /*tkwtruenode2*/); /*new ATrueExpr*/
38970 variable[6] = variable[7];
38971 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
38972 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(52)) /*Parser::go_to*/;
38973 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
38974 return_label1088: while(false);
38975 tracehead = trace.prev;
38976 return;
38977 }
38978 void parser___ReduceAction528___init(val_t self, int* init_table) {
38979 struct trace_t trace = {NULL, NULL, 23692, LOCATE_parser___ReduceAction528___init};
38980 val_t variable[2];
38981 void **closurevariable = NULL;
38982 trace.prev = tracehead; tracehead = &trace;
38983 trace.file = LOCATE_parser;
38984 variable[0] = self;
38985 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction528].i]) return;
38986 return_label1089: while(false);
38987 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction528].i] = 1;
38988 tracehead = trace.prev;
38989 return;
38990 }
38991 void parser___ReduceAction529___action(val_t self, val_t param0) {
38992 struct trace_t trace = {NULL, NULL, 23696, LOCATE_parser___ReduceAction529___action};
38993 val_t variable[8];
38994 void **closurevariable = NULL;
38995 trace.prev = tracehead; tracehead = &trace;
38996 trace.file = LOCATE_parser;
38997 variable[0] = self;
38998 variable[1] = param0;
38999 variable[3] = NIT_NULL /*null*/;
39000 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
39001 variable[4] = variable[5];
39002 variable[5] = variable[4] /*nodearraylist1*/;
39003 variable[6] = TAG_Bool(( variable[5] /*tkwfalsenode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwfalsenode2*/, COLOR_TKwfalse, ID_TKwfalse)) /*cast TKwfalse*/;
39004 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction529___action, LOCATE_parser, 23701); nit_exit(1);}
39005 variable[7] = NEW_AFalseExpr_parser_prod___AFalseExpr___init_afalseexpr( variable[5] /*tkwfalsenode2*/); /*new AFalseExpr*/
39006 variable[6] = variable[7];
39007 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
39008 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(52)) /*Parser::go_to*/;
39009 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
39010 return_label1090: while(false);
39011 tracehead = trace.prev;
39012 return;
39013 }
39014 void parser___ReduceAction529___init(val_t self, int* init_table) {
39015 struct trace_t trace = {NULL, NULL, 23708, LOCATE_parser___ReduceAction529___init};
39016 val_t variable[2];
39017 void **closurevariable = NULL;
39018 trace.prev = tracehead; tracehead = &trace;
39019 trace.file = LOCATE_parser;
39020 variable[0] = self;
39021 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction529].i]) return;
39022 return_label1091: while(false);
39023 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction529].i] = 1;
39024 tracehead = trace.prev;
39025 return;
39026 }
39027 void parser___ReduceAction530___action(val_t self, val_t param0) {
39028 struct trace_t trace = {NULL, NULL, 23712, LOCATE_parser___ReduceAction530___action};
39029 val_t variable[8];
39030 void **closurevariable = NULL;
39031 trace.prev = tracehead; tracehead = &trace;
39032 trace.file = LOCATE_parser;
39033 variable[0] = self;
39034 variable[1] = param0;
39035 variable[3] = NIT_NULL /*null*/;
39036 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
39037 variable[4] = variable[5];
39038 variable[5] = variable[4] /*nodearraylist1*/;
39039 variable[6] = TAG_Bool(( variable[5] /*tkwnullnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwnullnode2*/, COLOR_TKwnull, ID_TKwnull)) /*cast TKwnull*/;
39040 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction530___action, LOCATE_parser, 23717); nit_exit(1);}
39041 variable[7] = NEW_ANullExpr_parser_prod___ANullExpr___init_anullexpr( variable[5] /*tkwnullnode2*/); /*new ANullExpr*/
39042 variable[6] = variable[7];
39043 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
39044 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(52)) /*Parser::go_to*/;
39045 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
39046 return_label1092: while(false);
39047 tracehead = trace.prev;
39048 return;
39049 }
39050 void parser___ReduceAction530___init(val_t self, int* init_table) {
39051 struct trace_t trace = {NULL, NULL, 23724, LOCATE_parser___ReduceAction530___init};
39052 val_t variable[2];
39053 void **closurevariable = NULL;
39054 trace.prev = tracehead; tracehead = &trace;
39055 trace.file = LOCATE_parser;
39056 variable[0] = self;
39057 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction530].i]) return;
39058 return_label1093: while(false);
39059 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction530].i] = 1;
39060 tracehead = trace.prev;
39061 return;
39062 }
39063 void parser___ReduceAction531___action(val_t self, val_t param0) {
39064 struct trace_t trace = {NULL, NULL, 23728, LOCATE_parser___ReduceAction531___action};
39065 val_t variable[8];
39066 void **closurevariable = NULL;
39067 trace.prev = tracehead; tracehead = &trace;
39068 trace.file = LOCATE_parser;
39069 variable[0] = self;
39070 variable[1] = param0;
39071 variable[3] = NIT_NULL /*null*/;
39072 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
39073 variable[4] = variable[5];
39074 variable[5] = variable[4] /*nodearraylist1*/;
39075 variable[6] = TAG_Bool(( variable[5] /*tnumbernode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tnumbernode2*/, COLOR_TNumber, ID_TNumber)) /*cast TNumber*/;
39076 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction531___action, LOCATE_parser, 23733); nit_exit(1);}
39077 variable[7] = NEW_AIntExpr_parser_prod___AIntExpr___init_aintexpr( variable[5] /*tnumbernode2*/); /*new AIntExpr*/
39078 variable[6] = variable[7];
39079 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
39080 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(52)) /*Parser::go_to*/;
39081 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
39082 return_label1094: while(false);
39083 tracehead = trace.prev;
39084 return;
39085 }
39086 void parser___ReduceAction531___init(val_t self, int* init_table) {
39087 struct trace_t trace = {NULL, NULL, 23740, LOCATE_parser___ReduceAction531___init};
39088 val_t variable[2];
39089 void **closurevariable = NULL;
39090 trace.prev = tracehead; tracehead = &trace;
39091 trace.file = LOCATE_parser;
39092 variable[0] = self;
39093 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction531].i]) return;
39094 return_label1095: while(false);
39095 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction531].i] = 1;
39096 tracehead = trace.prev;
39097 return;
39098 }
39099 void parser___ReduceAction532___action(val_t self, val_t param0) {
39100 struct trace_t trace = {NULL, NULL, 23744, LOCATE_parser___ReduceAction532___action};
39101 val_t variable[8];
39102 void **closurevariable = NULL;
39103 trace.prev = tracehead; tracehead = &trace;
39104 trace.file = LOCATE_parser;
39105 variable[0] = self;
39106 variable[1] = param0;
39107 variable[3] = NIT_NULL /*null*/;
39108 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
39109 variable[4] = variable[5];
39110 variable[5] = variable[4] /*nodearraylist1*/;
39111 variable[6] = TAG_Bool(( variable[5] /*tfloatnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tfloatnode2*/, COLOR_TFloat, ID_TFloat)) /*cast TFloat*/;
39112 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction532___action, LOCATE_parser, 23749); nit_exit(1);}
39113 variable[7] = NEW_AFloatExpr_parser_prod___AFloatExpr___init_afloatexpr( variable[5] /*tfloatnode2*/); /*new AFloatExpr*/
39114 variable[6] = variable[7];
39115 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
39116 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(52)) /*Parser::go_to*/;
39117 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
39118 return_label1096: while(false);
39119 tracehead = trace.prev;
39120 return;
39121 }
39122 void parser___ReduceAction532___init(val_t self, int* init_table) {
39123 struct trace_t trace = {NULL, NULL, 23756, LOCATE_parser___ReduceAction532___init};
39124 val_t variable[2];
39125 void **closurevariable = NULL;
39126 trace.prev = tracehead; tracehead = &trace;
39127 trace.file = LOCATE_parser;
39128 variable[0] = self;
39129 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction532].i]) return;
39130 return_label1097: while(false);
39131 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction532].i] = 1;
39132 tracehead = trace.prev;
39133 return;
39134 }
39135 void parser___ReduceAction533___action(val_t self, val_t param0) {
39136 struct trace_t trace = {NULL, NULL, 23760, LOCATE_parser___ReduceAction533___action};
39137 val_t variable[8];
39138 void **closurevariable = NULL;
39139 trace.prev = tracehead; tracehead = &trace;
39140 trace.file = LOCATE_parser;
39141 variable[0] = self;
39142 variable[1] = param0;
39143 variable[3] = NIT_NULL /*null*/;
39144 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
39145 variable[4] = variable[5];
39146 variable[5] = variable[4] /*nodearraylist1*/;
39147 variable[6] = TAG_Bool(( variable[5] /*tcharnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tcharnode2*/, COLOR_TChar, ID_TChar)) /*cast TChar*/;
39148 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction533___action, LOCATE_parser, 23765); nit_exit(1);}
39149 variable[7] = NEW_ACharExpr_parser_prod___ACharExpr___init_acharexpr( variable[5] /*tcharnode2*/); /*new ACharExpr*/
39150 variable[6] = variable[7];
39151 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
39152 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(52)) /*Parser::go_to*/;
39153 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
39154 return_label1098: while(false);
39155 tracehead = trace.prev;
39156 return;
39157 }
39158 void parser___ReduceAction533___init(val_t self, int* init_table) {
39159 struct trace_t trace = {NULL, NULL, 23772, LOCATE_parser___ReduceAction533___init};
39160 val_t variable[2];
39161 void **closurevariable = NULL;
39162 trace.prev = tracehead; tracehead = &trace;
39163 trace.file = LOCATE_parser;
39164 variable[0] = self;
39165 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction533].i]) return;
39166 return_label1099: while(false);
39167 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction533].i] = 1;
39168 tracehead = trace.prev;
39169 return;
39170 }
39171 void parser___ReduceAction534___action(val_t self, val_t param0) {
39172 struct trace_t trace = {NULL, NULL, 23776, LOCATE_parser___ReduceAction534___action};
39173 val_t variable[8];
39174 void **closurevariable = NULL;
39175 trace.prev = tracehead; tracehead = &trace;
39176 trace.file = LOCATE_parser;
39177 variable[0] = self;
39178 variable[1] = param0;
39179 variable[3] = NIT_NULL /*null*/;
39180 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
39181 variable[4] = variable[5];
39182 variable[5] = variable[4] /*nodearraylist1*/;
39183 variable[6] = TAG_Bool(( variable[5] /*tstringnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tstringnode2*/, COLOR_TString, ID_TString)) /*cast TString*/;
39184 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction534___action, LOCATE_parser, 23781); nit_exit(1);}
39185 variable[7] = NEW_AStringExpr_parser_prod___AStringExpr___init_astringexpr( variable[5] /*tstringnode2*/); /*new AStringExpr*/
39186 variable[6] = variable[7];
39187 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
39188 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(52)) /*Parser::go_to*/;
39189 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
39190 return_label1100: while(false);
39191 tracehead = trace.prev;
39192 return;
39193 }
39194 void parser___ReduceAction534___init(val_t self, int* init_table) {
39195 struct trace_t trace = {NULL, NULL, 23788, LOCATE_parser___ReduceAction534___init};
39196 val_t variable[2];
39197 void **closurevariable = NULL;
39198 trace.prev = tracehead; tracehead = &trace;
39199 trace.file = LOCATE_parser;
39200 variable[0] = self;
39201 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction534].i]) return;
39202 return_label1101: while(false);
39203 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction534].i] = 1;
39204 tracehead = trace.prev;
39205 return;
39206 }
39207 void parser___ReduceAction535___action(val_t self, val_t param0) {
39208 struct trace_t trace = {NULL, NULL, 23792, LOCATE_parser___ReduceAction535___action};
39209 val_t variable[7];
39210 void **closurevariable = NULL;
39211 trace.prev = tracehead; tracehead = &trace;
39212 trace.file = LOCATE_parser;
39213 variable[0] = self;
39214 variable[1] = param0;
39215 variable[3] = NIT_NULL /*null*/;
39216 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
39217 variable[4] = variable[5];
39218 variable[5] = variable[4] /*nodearraylist1*/;
39219 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
39220 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction535___action, LOCATE_parser, 23797); nit_exit(1);}
39221 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
39222 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(52)) /*Parser::go_to*/;
39223 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
39224 return_label1102: while(false);
39225 tracehead = trace.prev;
39226 return;
39227 }
39228 void parser___ReduceAction535___init(val_t self, int* init_table) {
39229 struct trace_t trace = {NULL, NULL, 23801, LOCATE_parser___ReduceAction535___init};
39230 val_t variable[2];
39231 void **closurevariable = NULL;
39232 trace.prev = tracehead; tracehead = &trace;
39233 trace.file = LOCATE_parser;
39234 variable[0] = self;
39235 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction535].i]) return;
39236 return_label1103: while(false);
39237 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction535].i] = 1;
39238 tracehead = trace.prev;
39239 return;
39240 }
39241 void parser___ReduceAction536___action(val_t self, val_t param0) {
39242 struct trace_t trace = {NULL, NULL, 23805, LOCATE_parser___ReduceAction536___action};
39243 val_t variable[9];
39244 void **closurevariable = NULL;
39245 trace.prev = tracehead; tracehead = &trace;
39246 trace.file = LOCATE_parser;
39247 variable[0] = self;
39248 variable[1] = param0;
39249 variable[3] = NIT_NULL /*null*/;
39250 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
39251 variable[4] = variable[5];
39252 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
39253 variable[5] = variable[6];
39254 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
39255 variable[6] = variable[7];
39256 variable[7] = variable[5] /*nodearraylist2*/;
39257 variable[8] = TAG_Bool(( variable[7] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
39258 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction536___action, LOCATE_parser, 23812); nit_exit(1);}
39259 variable[3] = variable[7] /*pexprnode1*/ /*node_list=*/;
39260 variable[8] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(52)) /*Parser::go_to*/;
39261 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
39262 return_label1104: while(false);
39263 tracehead = trace.prev;
39264 return;
39265 }
39266 void parser___ReduceAction536___init(val_t self, int* init_table) {
39267 struct trace_t trace = {NULL, NULL, 23816, LOCATE_parser___ReduceAction536___init};
39268 val_t variable[2];
39269 void **closurevariable = NULL;
39270 trace.prev = tracehead; tracehead = &trace;
39271 trace.file = LOCATE_parser;
39272 variable[0] = self;
39273 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction536].i]) return;
39274 return_label1105: while(false);
39275 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction536].i] = 1;
39276 tracehead = trace.prev;
39277 return;
39278 }
39279 void parser___ReduceAction537___action(val_t self, val_t param0) {
39280 struct trace_t trace = {NULL, NULL, 23820, LOCATE_parser___ReduceAction537___action};
39281 val_t variable[19];
39282 void **closurevariable = NULL;
39283 trace.prev = tracehead; tracehead = &trace;
39284 trace.file = LOCATE_parser;
39285 variable[0] = self;
39286 variable[1] = param0;
39287 variable[3] = NIT_NULL /*null*/;
39288 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
39289 variable[4] = variable[5];
39290 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
39291 variable[5] = variable[6];
39292 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
39293 variable[6] = variable[7];
39294 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
39295 variable[7] = variable[8];
39296 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
39297 variable[8] = variable[9];
39298 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
39299 variable[9] = variable[10];
39300 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
39301 variable[10] = variable[11];
39302 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
39303 variable[11] = variable[12];
39304 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
39305 variable[12] = variable[13];
39306 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
39307 variable[13] = variable[14];
39308 variable[14] = variable[13] /*nodearraylist1*/;
39309 variable[15] = TAG_Bool(( variable[14] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
39310 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction537___action, LOCATE_parser, 23834); nit_exit(1);}
39311 variable[15] = variable[10] /*nodearraylist4*/;
39312 variable[16] = TAG_Bool(( variable[15] /*tkwasnode3*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwasnode3*/, COLOR_TKwas, ID_TKwas)) /*cast TKwas*/;
39313 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction537___action, LOCATE_parser, 23836); nit_exit(1);}
39314 variable[16] = variable[6] /*nodearraylist8*/;
39315 variable[17] = TAG_Bool(( variable[16] /*ptypenode4*/==NIT_NULL) || VAL_ISA( variable[16] /*ptypenode4*/, COLOR_PType, ID_PType)) /*cast PType*/;
39316 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction537___action, LOCATE_parser, 23838); nit_exit(1);}
39317 variable[18] = NEW_AAsCastExpr_parser_prod___AAsCastExpr___init_aascastexpr( variable[14] /*pexprnode2*/, variable[15] /*tkwasnode3*/, variable[16] /*ptypenode4*/); /*new AAsCastExpr*/
39318 variable[17] = variable[18];
39319 variable[3] = variable[17] /*pexprnode1*/ /*node_list=*/;
39320 variable[18] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(52)) /*Parser::go_to*/;
39321 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
39322 return_label1106: while(false);
39323 tracehead = trace.prev;
39324 return;
39325 }
39326 void parser___ReduceAction537___init(val_t self, int* init_table) {
39327 struct trace_t trace = {NULL, NULL, 23847, LOCATE_parser___ReduceAction537___init};
39328 val_t variable[2];
39329 void **closurevariable = NULL;
39330 trace.prev = tracehead; tracehead = &trace;
39331 trace.file = LOCATE_parser;
39332 variable[0] = self;
39333 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction537].i]) return;
39334 return_label1107: while(false);
39335 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction537].i] = 1;
39336 tracehead = trace.prev;
39337 return;
39338 }
39339 void parser___ReduceAction538___action(val_t self, val_t param0) {
39340 struct trace_t trace = {NULL, NULL, 23851, LOCATE_parser___ReduceAction538___action};
39341 val_t variable[11];
39342 void **closurevariable = NULL;
39343 trace.prev = tracehead; tracehead = &trace;
39344 trace.file = LOCATE_parser;
39345 variable[0] = self;
39346 variable[1] = param0;
39347 variable[3] = NIT_NULL /*null*/;
39348 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
39349 variable[4] = variable[5];
39350 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
39351 variable[5] = variable[6];
39352 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
39353 variable[6] = variable[7];
39354 variable[7] = variable[5] /*nodearraylist1*/;
39355 variable[8] = TAG_Bool(( variable[7] /*listnode2*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
39356 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction538___action, LOCATE_parser, 23858); nit_exit(1);}
39357 variable[8] = variable[4] /*nodearraylist2*/;
39358 variable[9] = TAG_Bool(( variable[8] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
39359 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction538___action, LOCATE_parser, 23860); nit_exit(1);}
39360 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[7] /*listnode2*/ == NIT_NULL /*null*/) || (( variable[7] /*listnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[7] /*listnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[7] /*listnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[7] /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable[7] /*listnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
39361 if (UNTAG_Bool(variable[9])) { /*if*/
39362 variable[9] = ((array___AbstractArray___is_empty_t)CALL( variable[6] /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable[6] /*listnode4*/) /*AbstractArray::is_empty*/;
39363 if (UNTAG_Bool(variable[9])) { /*if*/
39364 variable[6] = variable[7] /*listnode2*/ /*listnode4=*/;
39365 } else { /*if*/
39366 ((abstract_collection___IndexedCollection___append_t)CALL( variable[6] /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable[6] /*listnode4*/, variable[7] /*listnode2*/) /*IndexedCollection::append*/;
39367 }
39368 }
39369 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*pexprnode3*/ == NIT_NULL /*null*/) || (( variable[8] /*pexprnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[8] /*pexprnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*pexprnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[8] /*pexprnode3*/,COLOR_kernel___Object_____eqeq))( variable[8] /*pexprnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
39370 if (UNTAG_Bool(variable[9])) { /*if*/
39371 ((array___AbstractArray___add_t)CALL( variable[6] /*listnode4*/,COLOR_abstract_collection___SimpleCollection___add))( variable[6] /*listnode4*/, variable[8] /*pexprnode3*/) /*AbstractArray::add*/;
39372 }
39373 variable[10] = NEW_ASuperstringExpr_parser_prod___ASuperstringExpr___init_asuperstringexpr( variable[6] /*listnode4*/); /*new ASuperstringExpr*/
39374 variable[9] = variable[10];
39375 variable[3] = variable[9] /*pexprnode1*/ /*node_list=*/;
39376 variable[10] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(53)) /*Parser::go_to*/;
39377 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
39378 return_label1108: while(false);
39379 tracehead = trace.prev;
39380 return;
39381 }
39382 void parser___ReduceAction538___init(val_t self, int* init_table) {
39383 struct trace_t trace = {NULL, NULL, 23877, LOCATE_parser___ReduceAction538___init};
39384 val_t variable[2];
39385 void **closurevariable = NULL;
39386 trace.prev = tracehead; tracehead = &trace;
39387 trace.file = LOCATE_parser;
39388 variable[0] = self;
39389 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction538].i]) return;
39390 return_label1109: while(false);
39391 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction538].i] = 1;
39392 tracehead = trace.prev;
39393 return;
39394 }
39395 void parser___ReduceAction539___action(val_t self, val_t param0) {
39396 struct trace_t trace = {NULL, NULL, 23881, LOCATE_parser___ReduceAction539___action};
39397 val_t variable[13];
39398 void **closurevariable = NULL;
39399 trace.prev = tracehead; tracehead = &trace;
39400 trace.file = LOCATE_parser;
39401 variable[0] = self;
39402 variable[1] = param0;
39403 variable[3] = NIT_NULL /*null*/;
39404 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
39405 variable[4] = variable[5];
39406 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
39407 variable[5] = variable[6];
39408 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
39409 variable[6] = variable[7];
39410 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
39411 variable[7] = variable[8];
39412 variable[8] = variable[6] /*nodearraylist1*/;
39413 variable[9] = TAG_Bool(( variable[8] /*listnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
39414 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction539___action, LOCATE_parser, 23889); nit_exit(1);}
39415 variable[9] = variable[5] /*nodearraylist2*/;
39416 variable[10] = TAG_Bool(( variable[9] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
39417 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction539___action, LOCATE_parser, 23891); nit_exit(1);}
39418 variable[10] = variable[4] /*nodearraylist3*/;
39419 variable[11] = TAG_Bool(( variable[10] /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
39420 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction539___action, LOCATE_parser, 23893); nit_exit(1);}
39421 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*listnode2*/ == NIT_NULL /*null*/) || (( variable[8] /*listnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[8] /*listnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*listnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[8] /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable[8] /*listnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
39422 if (UNTAG_Bool(variable[11])) { /*if*/
39423 variable[11] = ((array___AbstractArray___is_empty_t)CALL( variable[7] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[7] /*listnode5*/) /*AbstractArray::is_empty*/;
39424 if (UNTAG_Bool(variable[11])) { /*if*/
39425 variable[7] = variable[8] /*listnode2*/ /*listnode5=*/;
39426 } else { /*if*/
39427 ((abstract_collection___IndexedCollection___append_t)CALL( variable[7] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[7] /*listnode5*/, variable[8] /*listnode2*/) /*IndexedCollection::append*/;
39428 }
39429 }
39430 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[9] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[9] /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[9] /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[9] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[9] /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable[9] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
39431 if (UNTAG_Bool(variable[11])) { /*if*/
39432 variable[11] = ((array___AbstractArray___is_empty_t)CALL( variable[7] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[7] /*listnode5*/) /*AbstractArray::is_empty*/;
39433 if (UNTAG_Bool(variable[11])) { /*if*/
39434 variable[7] = variable[9] /*listnode3*/ /*listnode5=*/;
39435 } else { /*if*/
39436 ((abstract_collection___IndexedCollection___append_t)CALL( variable[7] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[7] /*listnode5*/, variable[9] /*listnode3*/) /*IndexedCollection::append*/;
39437 }
39438 }
39439 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*pexprnode4*/ == NIT_NULL /*null*/) || (( variable[10] /*pexprnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[10] /*pexprnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*pexprnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[10] /*pexprnode4*/,COLOR_kernel___Object_____eqeq))( variable[10] /*pexprnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
39440 if (UNTAG_Bool(variable[11])) { /*if*/
39441 ((array___AbstractArray___add_t)CALL( variable[7] /*listnode5*/,COLOR_abstract_collection___SimpleCollection___add))( variable[7] /*listnode5*/, variable[10] /*pexprnode4*/) /*AbstractArray::add*/;
39442 }
39443 variable[12] = NEW_ASuperstringExpr_parser_prod___ASuperstringExpr___init_asuperstringexpr( variable[7] /*listnode5*/); /*new ASuperstringExpr*/
39444 variable[11] = variable[12];
39445 variable[3] = variable[11] /*pexprnode1*/ /*node_list=*/;
39446 variable[12] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(53)) /*Parser::go_to*/;
39447 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
39448 return_label1110: while(false);
39449 tracehead = trace.prev;
39450 return;
39451 }
39452 void parser___ReduceAction539___init(val_t self, int* init_table) {
39453 struct trace_t trace = {NULL, NULL, 23917, LOCATE_parser___ReduceAction539___init};
39454 val_t variable[2];
39455 void **closurevariable = NULL;
39456 trace.prev = tracehead; tracehead = &trace;
39457 trace.file = LOCATE_parser;
39458 variable[0] = self;
39459 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction539].i]) return;
39460 return_label1111: while(false);
39461 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction539].i] = 1;
39462 tracehead = trace.prev;
39463 return;
39464 }
39465 void parser___ReduceAction540___action(val_t self, val_t param0) {
39466 struct trace_t trace = {NULL, NULL, 23921, LOCATE_parser___ReduceAction540___action};
39467 val_t variable[12];
39468 void **closurevariable = NULL;
39469 trace.prev = tracehead; tracehead = &trace;
39470 trace.file = LOCATE_parser;
39471 variable[0] = self;
39472 variable[1] = param0;
39473 variable[3] = NIT_NULL /*null*/;
39474 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
39475 variable[4] = variable[5];
39476 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
39477 variable[5] = variable[6];
39478 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
39479 variable[6] = variable[7];
39480 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
39481 variable[7] = variable[8];
39482 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
39483 variable[8] = variable[9];
39484 variable[9] = variable[7] /*nodearraylist1*/;
39485 variable[10] = TAG_Bool(( variable[9] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
39486 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction540___action, LOCATE_parser, 23930); nit_exit(1);}
39487 variable[10] = variable[5] /*nodearraylist3*/;
39488 variable[11] = TAG_Bool(( variable[10] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
39489 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction540___action, LOCATE_parser, 23932); nit_exit(1);}
39490 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[9] /*pexprnode1*/ == NIT_NULL /*null*/) || (( variable[9] /*pexprnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[9] /*pexprnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[9] /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[9] /*pexprnode1*/,COLOR_kernel___Object_____eqeq))( variable[9] /*pexprnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
39491 if (UNTAG_Bool(variable[11])) { /*if*/
39492 ((array___AbstractArray___add_t)CALL( variable[8] /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable[8] /*listnode3*/, variable[9] /*pexprnode1*/) /*AbstractArray::add*/;
39493 }
39494 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*pexprnode2*/ == NIT_NULL /*null*/) || (( variable[10] /*pexprnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[10] /*pexprnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*pexprnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[10] /*pexprnode2*/,COLOR_kernel___Object_____eqeq))( variable[10] /*pexprnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
39495 if (UNTAG_Bool(variable[11])) { /*if*/
39496 ((array___AbstractArray___add_t)CALL( variable[8] /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable[8] /*listnode3*/, variable[10] /*pexprnode2*/) /*AbstractArray::add*/;
39497 }
39498 variable[3] = variable[8] /*listnode3*/ /*node_list=*/;
39499 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(54)) /*Parser::go_to*/;
39500 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
39501 return_label1112: while(false);
39502 tracehead = trace.prev;
39503 return;
39504 }
39505 void parser___ReduceAction540___init(val_t self, int* init_table) {
39506 struct trace_t trace = {NULL, NULL, 23942, LOCATE_parser___ReduceAction540___init};
39507 val_t variable[2];
39508 void **closurevariable = NULL;
39509 trace.prev = tracehead; tracehead = &trace;
39510 trace.file = LOCATE_parser;
39511 variable[0] = self;
39512 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction540].i]) return;
39513 return_label1113: while(false);
39514 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction540].i] = 1;
39515 tracehead = trace.prev;
39516 return;
39517 }
39518 void parser___ReduceAction541___action(val_t self, val_t param0) {
39519 struct trace_t trace = {NULL, NULL, 23946, LOCATE_parser___ReduceAction541___action};
39520 val_t variable[8];
39521 void **closurevariable = NULL;
39522 trace.prev = tracehead; tracehead = &trace;
39523 trace.file = LOCATE_parser;
39524 variable[0] = self;
39525 variable[1] = param0;
39526 variable[3] = NIT_NULL /*null*/;
39527 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
39528 variable[4] = variable[5];
39529 variable[5] = variable[4] /*nodearraylist1*/;
39530 variable[6] = TAG_Bool(( variable[5] /*tstartstringnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tstartstringnode2*/, COLOR_TStartString, ID_TStartString)) /*cast TStartString*/;
39531 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction541___action, LOCATE_parser, 23951); nit_exit(1);}
39532 variable[7] = NEW_AStartStringExpr_parser_prod___AStartStringExpr___init_astartstringexpr( variable[5] /*tstartstringnode2*/); /*new AStartStringExpr*/
39533 variable[6] = variable[7];
39534 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
39535 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(55)) /*Parser::go_to*/;
39536 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
39537 return_label1114: while(false);
39538 tracehead = trace.prev;
39539 return;
39540 }
39541 void parser___ReduceAction541___init(val_t self, int* init_table) {
39542 struct trace_t trace = {NULL, NULL, 23958, LOCATE_parser___ReduceAction541___init};
39543 val_t variable[2];
39544 void **closurevariable = NULL;
39545 trace.prev = tracehead; tracehead = &trace;
39546 trace.file = LOCATE_parser;
39547 variable[0] = self;
39548 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction541].i]) return;
39549 return_label1115: while(false);
39550 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction541].i] = 1;
39551 tracehead = trace.prev;
39552 return;
39553 }
39554 void parser___ReduceAction542___action(val_t self, val_t param0) {
39555 struct trace_t trace = {NULL, NULL, 23962, LOCATE_parser___ReduceAction542___action};
39556 val_t variable[12];
39557 void **closurevariable = NULL;
39558 trace.prev = tracehead; tracehead = &trace;
39559 trace.file = LOCATE_parser;
39560 variable[0] = self;
39561 variable[1] = param0;
39562 variable[3] = NIT_NULL /*null*/;
39563 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
39564 variable[4] = variable[5];
39565 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
39566 variable[5] = variable[6];
39567 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
39568 variable[6] = variable[7];
39569 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
39570 variable[7] = variable[8];
39571 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
39572 variable[8] = variable[9];
39573 variable[9] = variable[7] /*nodearraylist1*/;
39574 variable[10] = TAG_Bool(( variable[9] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
39575 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction542___action, LOCATE_parser, 23971); nit_exit(1);}
39576 variable[10] = variable[5] /*nodearraylist3*/;
39577 variable[11] = TAG_Bool(( variable[10] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
39578 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction542___action, LOCATE_parser, 23973); nit_exit(1);}
39579 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[9] /*pexprnode1*/ == NIT_NULL /*null*/) || (( variable[9] /*pexprnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[9] /*pexprnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[9] /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[9] /*pexprnode1*/,COLOR_kernel___Object_____eqeq))( variable[9] /*pexprnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
39580 if (UNTAG_Bool(variable[11])) { /*if*/
39581 ((array___AbstractArray___add_t)CALL( variable[8] /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable[8] /*listnode3*/, variable[9] /*pexprnode1*/) /*AbstractArray::add*/;
39582 }
39583 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*pexprnode2*/ == NIT_NULL /*null*/) || (( variable[10] /*pexprnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[10] /*pexprnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*pexprnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[10] /*pexprnode2*/,COLOR_kernel___Object_____eqeq))( variable[10] /*pexprnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
39584 if (UNTAG_Bool(variable[11])) { /*if*/
39585 ((array___AbstractArray___add_t)CALL( variable[8] /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable[8] /*listnode3*/, variable[10] /*pexprnode2*/) /*AbstractArray::add*/;
39586 }
39587 variable[3] = variable[8] /*listnode3*/ /*node_list=*/;
39588 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(56)) /*Parser::go_to*/;
39589 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
39590 return_label1116: while(false);
39591 tracehead = trace.prev;
39592 return;
39593 }
39594 void parser___ReduceAction542___init(val_t self, int* init_table) {
39595 struct trace_t trace = {NULL, NULL, 23983, LOCATE_parser___ReduceAction542___init};
39596 val_t variable[2];
39597 void **closurevariable = NULL;
39598 trace.prev = tracehead; tracehead = &trace;
39599 trace.file = LOCATE_parser;
39600 variable[0] = self;
39601 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction542].i]) return;
39602 return_label1117: while(false);
39603 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction542].i] = 1;
39604 tracehead = trace.prev;
39605 return;
39606 }
39607 void parser___ReduceAction543___action(val_t self, val_t param0) {
39608 struct trace_t trace = {NULL, NULL, 23987, LOCATE_parser___ReduceAction543___action};
39609 val_t variable[8];
39610 void **closurevariable = NULL;
39611 trace.prev = tracehead; tracehead = &trace;
39612 trace.file = LOCATE_parser;
39613 variable[0] = self;
39614 variable[1] = param0;
39615 variable[3] = NIT_NULL /*null*/;
39616 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
39617 variable[4] = variable[5];
39618 variable[5] = variable[4] /*nodearraylist1*/;
39619 variable[6] = TAG_Bool(( variable[5] /*tmidstringnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tmidstringnode2*/, COLOR_TMidString, ID_TMidString)) /*cast TMidString*/;
39620 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction543___action, LOCATE_parser, 23992); nit_exit(1);}
39621 variable[7] = NEW_AMidStringExpr_parser_prod___AMidStringExpr___init_amidstringexpr( variable[5] /*tmidstringnode2*/); /*new AMidStringExpr*/
39622 variable[6] = variable[7];
39623 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
39624 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(57)) /*Parser::go_to*/;
39625 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
39626 return_label1118: while(false);
39627 tracehead = trace.prev;
39628 return;
39629 }
39630 void parser___ReduceAction543___init(val_t self, int* init_table) {
39631 struct trace_t trace = {NULL, NULL, 23999, LOCATE_parser___ReduceAction543___init};
39632 val_t variable[2];
39633 void **closurevariable = NULL;
39634 trace.prev = tracehead; tracehead = &trace;
39635 trace.file = LOCATE_parser;
39636 variable[0] = self;
39637 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction543].i]) return;
39638 return_label1119: while(false);
39639 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction543].i] = 1;
39640 tracehead = trace.prev;
39641 return;
39642 }
39643 void parser___ReduceAction544___action(val_t self, val_t param0) {
39644 struct trace_t trace = {NULL, NULL, 24003, LOCATE_parser___ReduceAction544___action};
39645 val_t variable[8];
39646 void **closurevariable = NULL;
39647 trace.prev = tracehead; tracehead = &trace;
39648 trace.file = LOCATE_parser;
39649 variable[0] = self;
39650 variable[1] = param0;
39651 variable[3] = NIT_NULL /*null*/;
39652 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
39653 variable[4] = variable[5];
39654 variable[5] = variable[4] /*nodearraylist1*/;
39655 variable[6] = TAG_Bool(( variable[5] /*tendstringnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tendstringnode2*/, COLOR_TEndString, ID_TEndString)) /*cast TEndString*/;
39656 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction544___action, LOCATE_parser, 24008); nit_exit(1);}
39657 variable[7] = NEW_AEndStringExpr_parser_prod___AEndStringExpr___init_aendstringexpr( variable[5] /*tendstringnode2*/); /*new AEndStringExpr*/
39658 variable[6] = variable[7];
39659 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
39660 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(58)) /*Parser::go_to*/;
39661 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
39662 return_label1120: while(false);
39663 tracehead = trace.prev;
39664 return;
39665 }
39666 void parser___ReduceAction544___init(val_t self, int* init_table) {
39667 struct trace_t trace = {NULL, NULL, 24015, LOCATE_parser___ReduceAction544___init};
39668 val_t variable[2];
39669 void **closurevariable = NULL;
39670 trace.prev = tracehead; tracehead = &trace;
39671 trace.file = LOCATE_parser;
39672 variable[0] = self;
39673 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction544].i]) return;
39674 return_label1121: while(false);
39675 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction544].i] = 1;
39676 tracehead = trace.prev;
39677 return;
39678 }
39679 void parser___ReduceAction545___action(val_t self, val_t param0) {
39680 struct trace_t trace = {NULL, NULL, 24019, LOCATE_parser___ReduceAction545___action};
39681 val_t variable[12];
39682 void **closurevariable = NULL;
39683 trace.prev = tracehead; tracehead = &trace;
39684 trace.file = LOCATE_parser;
39685 variable[0] = self;
39686 variable[1] = param0;
39687 variable[3] = NIT_NULL /*null*/;
39688 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
39689 variable[4] = variable[5];
39690 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
39691 variable[5] = variable[6];
39692 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
39693 variable[6] = variable[7];
39694 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
39695 variable[7] = variable[8];
39696 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
39697 variable[8] = variable[9];
39698 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
39699 variable[9] = variable[10];
39700 variable[10] = variable[6] /*nodearraylist3*/;
39701 variable[11] = TAG_Bool(( variable[10] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
39702 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction545___action, LOCATE_parser, 24029); nit_exit(1);}
39703 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*pexprnode1*/ == NIT_NULL /*null*/) || (( variable[10] /*pexprnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[10] /*pexprnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[10] /*pexprnode1*/,COLOR_kernel___Object_____eqeq))( variable[10] /*pexprnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
39704 if (UNTAG_Bool(variable[11])) { /*if*/
39705 ((array___AbstractArray___add_t)CALL( variable[9] /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable[9] /*listnode2*/, variable[10] /*pexprnode1*/) /*AbstractArray::add*/;
39706 }
39707 variable[3] = variable[9] /*listnode2*/ /*node_list=*/;
39708 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(59)) /*Parser::go_to*/;
39709 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
39710 return_label1122: while(false);
39711 tracehead = trace.prev;
39712 return;
39713 }
39714 void parser___ReduceAction545___init(val_t self, int* init_table) {
39715 struct trace_t trace = {NULL, NULL, 24036, LOCATE_parser___ReduceAction545___init};
39716 val_t variable[2];
39717 void **closurevariable = NULL;
39718 trace.prev = tracehead; tracehead = &trace;
39719 trace.file = LOCATE_parser;
39720 variable[0] = self;
39721 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction545].i]) return;
39722 return_label1123: while(false);
39723 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction545].i] = 1;
39724 tracehead = trace.prev;
39725 return;
39726 }
39727 void parser___ReduceAction546___action(val_t self, val_t param0) {
39728 struct trace_t trace = {NULL, NULL, 24040, LOCATE_parser___ReduceAction546___action};
39729 val_t variable[14];
39730 void **closurevariable = NULL;
39731 trace.prev = tracehead; tracehead = &trace;
39732 trace.file = LOCATE_parser;
39733 variable[0] = self;
39734 variable[1] = param0;
39735 variable[3] = NIT_NULL /*null*/;
39736 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
39737 variable[4] = variable[5];
39738 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
39739 variable[5] = variable[6];
39740 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
39741 variable[6] = variable[7];
39742 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
39743 variable[7] = variable[8];
39744 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
39745 variable[8] = variable[9];
39746 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
39747 variable[9] = variable[10];
39748 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
39749 variable[10] = variable[11];
39750 variable[11] = variable[7] /*nodearraylist3*/;
39751 variable[12] = TAG_Bool(( variable[11] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[11] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
39752 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction546___action, LOCATE_parser, 24051); nit_exit(1);}
39753 variable[12] = variable[5] /*nodearraylist5*/;
39754 variable[13] = TAG_Bool(( variable[12] /*listnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
39755 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction546___action, LOCATE_parser, 24053); nit_exit(1);}
39756 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*pexprnode1*/ == NIT_NULL /*null*/) || (( variable[11] /*pexprnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[11] /*pexprnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[11] /*pexprnode1*/,COLOR_kernel___Object_____eqeq))( variable[11] /*pexprnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
39757 if (UNTAG_Bool(variable[13])) { /*if*/
39758 ((array___AbstractArray___add_t)CALL( variable[10] /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable[10] /*listnode3*/, variable[11] /*pexprnode1*/) /*AbstractArray::add*/;
39759 }
39760 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode2*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable[12] /*listnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
39761 if (UNTAG_Bool(variable[13])) { /*if*/
39762 variable[13] = ((array___AbstractArray___is_empty_t)CALL( variable[10] /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable[10] /*listnode3*/) /*AbstractArray::is_empty*/;
39763 if (UNTAG_Bool(variable[13])) { /*if*/
39764 variable[10] = variable[12] /*listnode2*/ /*listnode3=*/;
39765 } else { /*if*/
39766 ((abstract_collection___IndexedCollection___append_t)CALL( variable[10] /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable[10] /*listnode3*/, variable[12] /*listnode2*/) /*IndexedCollection::append*/;
39767 }
39768 }
39769 variable[3] = variable[10] /*listnode3*/ /*node_list=*/;
39770 variable[13] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(59)) /*Parser::go_to*/;
39771 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
39772 return_label1124: while(false);
39773 tracehead = trace.prev;
39774 return;
39775 }
39776 void parser___ReduceAction546___init(val_t self, int* init_table) {
39777 struct trace_t trace = {NULL, NULL, 24067, LOCATE_parser___ReduceAction546___init};
39778 val_t variable[2];
39779 void **closurevariable = NULL;
39780 trace.prev = tracehead; tracehead = &trace;
39781 trace.file = LOCATE_parser;
39782 variable[0] = self;
39783 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction546].i]) return;
39784 return_label1125: while(false);
39785 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction546].i] = 1;
39786 tracehead = trace.prev;
39787 return;
39788 }
39789 void parser___ReduceAction547___action(val_t self, val_t param0) {
39790 struct trace_t trace = {NULL, NULL, 24071, LOCATE_parser___ReduceAction547___action};
39791 val_t variable[9];
39792 void **closurevariable = NULL;
39793 trace.prev = tracehead; tracehead = &trace;
39794 trace.file = LOCATE_parser;
39795 variable[0] = self;
39796 variable[1] = param0;
39797 variable[3] = NIT_NULL /*null*/;
39798 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
39799 variable[4] = variable[5];
39800 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
39801 variable[5] = variable[6];
39802 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
39803 variable[6] = variable[7];
39804 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
39805 variable[7] = variable[8];
39806 variable[3] = variable[7] /*listnode1*/ /*node_list=*/;
39807 variable[8] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(59)) /*Parser::go_to*/;
39808 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
39809 return_label1126: while(false);
39810 tracehead = trace.prev;
39811 return;
39812 }
39813 void parser___ReduceAction547___init(val_t self, int* init_table) {
39814 struct trace_t trace = {NULL, NULL, 24081, LOCATE_parser___ReduceAction547___init};
39815 val_t variable[2];
39816 void **closurevariable = NULL;
39817 trace.prev = tracehead; tracehead = &trace;
39818 trace.file = LOCATE_parser;
39819 variable[0] = self;
39820 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction547].i]) return;
39821 return_label1127: while(false);
39822 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction547].i] = 1;
39823 tracehead = trace.prev;
39824 return;
39825 }
39826 void parser___ReduceAction548___action(val_t self, val_t param0) {
39827 struct trace_t trace = {NULL, NULL, 24085, LOCATE_parser___ReduceAction548___action};
39828 val_t variable[6];
39829 void **closurevariable = NULL;
39830 trace.prev = tracehead; tracehead = &trace;
39831 trace.file = LOCATE_parser;
39832 variable[0] = self;
39833 variable[1] = param0;
39834 variable[3] = NIT_NULL /*null*/;
39835 variable[5] = NEW_Array_array___Array___init(); /*new Array[Object]*/
39836 variable[4] = variable[5];
39837 variable[3] = variable[4] /*listnode1*/ /*node_list=*/;
39838 variable[5] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(59)) /*Parser::go_to*/;
39839 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[5], variable[3] /*node_list*/) /*Parser::push*/;
39840 return_label1128: while(false);
39841 tracehead = trace.prev;
39842 return;
39843 }
39844 void parser___ReduceAction548___init(val_t self, int* init_table) {
39845 struct trace_t trace = {NULL, NULL, 24092, LOCATE_parser___ReduceAction548___init};
39846 val_t variable[2];
39847 void **closurevariable = NULL;
39848 trace.prev = tracehead; tracehead = &trace;
39849 trace.file = LOCATE_parser;
39850 variable[0] = self;
39851 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction548].i]) return;
39852 return_label1129: while(false);
39853 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction548].i] = 1;
39854 tracehead = trace.prev;
39855 return;
39856 }
39857 void parser___ReduceAction549___action(val_t self, val_t param0) {
39858 struct trace_t trace = {NULL, NULL, 24096, LOCATE_parser___ReduceAction549___action};
39859 val_t variable[12];
39860 void **closurevariable = NULL;
39861 trace.prev = tracehead; tracehead = &trace;
39862 trace.file = LOCATE_parser;
39863 variable[0] = self;
39864 variable[1] = param0;
39865 variable[3] = NIT_NULL /*null*/;
39866 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
39867 variable[4] = variable[5];
39868 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
39869 variable[5] = variable[6];
39870 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
39871 variable[6] = variable[7];
39872 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
39873 variable[7] = variable[8];
39874 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
39875 variable[8] = variable[9];
39876 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
39877 variable[9] = variable[10];
39878 variable[10] = variable[6] /*nodearraylist3*/;
39879 variable[11] = TAG_Bool(( variable[10] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
39880 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction549___action, LOCATE_parser, 24106); nit_exit(1);}
39881 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*pexprnode1*/ == NIT_NULL /*null*/) || (( variable[10] /*pexprnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[10] /*pexprnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[10] /*pexprnode1*/,COLOR_kernel___Object_____eqeq))( variable[10] /*pexprnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
39882 if (UNTAG_Bool(variable[11])) { /*if*/
39883 ((array___AbstractArray___add_t)CALL( variable[9] /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable[9] /*listnode2*/, variable[10] /*pexprnode1*/) /*AbstractArray::add*/;
39884 }
39885 variable[3] = variable[9] /*listnode2*/ /*node_list=*/;
39886 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(60)) /*Parser::go_to*/;
39887 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
39888 return_label1130: while(false);
39889 tracehead = trace.prev;
39890 return;
39891 }
39892 void parser___ReduceAction549___init(val_t self, int* init_table) {
39893 struct trace_t trace = {NULL, NULL, 24113, LOCATE_parser___ReduceAction549___init};
39894 val_t variable[2];
39895 void **closurevariable = NULL;
39896 trace.prev = tracehead; tracehead = &trace;
39897 trace.file = LOCATE_parser;
39898 variable[0] = self;
39899 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction549].i]) return;
39900 return_label1131: while(false);
39901 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction549].i] = 1;
39902 tracehead = trace.prev;
39903 return;
39904 }
39905 void parser___ReduceAction550___action(val_t self, val_t param0) {
39906 struct trace_t trace = {NULL, NULL, 24117, LOCATE_parser___ReduceAction550___action};
39907 val_t variable[14];
39908 void **closurevariable = NULL;
39909 trace.prev = tracehead; tracehead = &trace;
39910 trace.file = LOCATE_parser;
39911 variable[0] = self;
39912 variable[1] = param0;
39913 variable[3] = NIT_NULL /*null*/;
39914 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
39915 variable[4] = variable[5];
39916 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
39917 variable[5] = variable[6];
39918 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
39919 variable[6] = variable[7];
39920 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
39921 variable[7] = variable[8];
39922 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
39923 variable[8] = variable[9];
39924 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
39925 variable[9] = variable[10];
39926 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
39927 variable[10] = variable[11];
39928 variable[11] = variable[7] /*nodearraylist3*/;
39929 variable[12] = TAG_Bool(( variable[11] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[11] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
39930 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction550___action, LOCATE_parser, 24128); nit_exit(1);}
39931 variable[12] = variable[5] /*nodearraylist5*/;
39932 variable[13] = TAG_Bool(( variable[12] /*listnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
39933 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction550___action, LOCATE_parser, 24130); nit_exit(1);}
39934 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*pexprnode1*/ == NIT_NULL /*null*/) || (( variable[11] /*pexprnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[11] /*pexprnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[11] /*pexprnode1*/,COLOR_kernel___Object_____eqeq))( variable[11] /*pexprnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
39935 if (UNTAG_Bool(variable[13])) { /*if*/
39936 ((array___AbstractArray___add_t)CALL( variable[10] /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable[10] /*listnode3*/, variable[11] /*pexprnode1*/) /*AbstractArray::add*/;
39937 }
39938 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode2*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable[12] /*listnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
39939 if (UNTAG_Bool(variable[13])) { /*if*/
39940 variable[13] = ((array___AbstractArray___is_empty_t)CALL( variable[10] /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable[10] /*listnode3*/) /*AbstractArray::is_empty*/;
39941 if (UNTAG_Bool(variable[13])) { /*if*/
39942 variable[10] = variable[12] /*listnode2*/ /*listnode3=*/;
39943 } else { /*if*/
39944 ((abstract_collection___IndexedCollection___append_t)CALL( variable[10] /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable[10] /*listnode3*/, variable[12] /*listnode2*/) /*IndexedCollection::append*/;
39945 }
39946 }
39947 variable[3] = variable[10] /*listnode3*/ /*node_list=*/;
39948 variable[13] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(60)) /*Parser::go_to*/;
39949 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
39950 return_label1132: while(false);
39951 tracehead = trace.prev;
39952 return;
39953 }
39954 void parser___ReduceAction550___init(val_t self, int* init_table) {
39955 struct trace_t trace = {NULL, NULL, 24144, LOCATE_parser___ReduceAction550___init};
39956 val_t variable[2];
39957 void **closurevariable = NULL;
39958 trace.prev = tracehead; tracehead = &trace;
39959 trace.file = LOCATE_parser;
39960 variable[0] = self;
39961 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction550].i]) return;
39962 return_label1133: while(false);
39963 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction550].i] = 1;
39964 tracehead = trace.prev;
39965 return;
39966 }
39967 void parser___ReduceAction551___action(val_t self, val_t param0) {
39968 struct trace_t trace = {NULL, NULL, 24148, LOCATE_parser___ReduceAction551___action};
39969 val_t variable[8];
39970 void **closurevariable = NULL;
39971 trace.prev = tracehead; tracehead = &trace;
39972 trace.file = LOCATE_parser;
39973 variable[0] = self;
39974 variable[1] = param0;
39975 variable[3] = NIT_NULL /*null*/;
39976 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
39977 variable[4] = variable[5];
39978 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
39979 variable[5] = variable[6];
39980 variable[6] = variable[4] /*nodearraylist1*/;
39981 variable[7] = TAG_Bool(( variable[6] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
39982 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction551___action, LOCATE_parser, 24154); nit_exit(1);}
39983 variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[6] /*pexprnode1*/ == NIT_NULL /*null*/) || (( variable[6] /*pexprnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[6] /*pexprnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[6] /*pexprnode1*/,COLOR_kernel___Object_____eqeq))( variable[6] /*pexprnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
39984 if (UNTAG_Bool(variable[7])) { /*if*/
39985 ((array___AbstractArray___add_t)CALL( variable[5] /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable[5] /*listnode2*/, variable[6] /*pexprnode1*/) /*AbstractArray::add*/;
39986 }
39987 variable[3] = variable[5] /*listnode2*/ /*node_list=*/;
39988 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(60)) /*Parser::go_to*/;
39989 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
39990 return_label1134: while(false);
39991 tracehead = trace.prev;
39992 return;
39993 }
39994 void parser___ReduceAction551___init(val_t self, int* init_table) {
39995 struct trace_t trace = {NULL, NULL, 24161, LOCATE_parser___ReduceAction551___init};
39996 val_t variable[2];
39997 void **closurevariable = NULL;
39998 trace.prev = tracehead; tracehead = &trace;
39999 trace.file = LOCATE_parser;
40000 variable[0] = self;
40001 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction551].i]) return;
40002 return_label1135: while(false);
40003 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction551].i] = 1;
40004 tracehead = trace.prev;
40005 return;
40006 }
40007 void parser___ReduceAction552___action(val_t self, val_t param0) {
40008 struct trace_t trace = {NULL, NULL, 24165, LOCATE_parser___ReduceAction552___action};
40009 val_t variable[9];
40010 void **closurevariable = NULL;
40011 trace.prev = tracehead; tracehead = &trace;
40012 trace.file = LOCATE_parser;
40013 variable[0] = self;
40014 variable[1] = param0;
40015 variable[3] = NIT_NULL /*null*/;
40016 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
40017 variable[4] = variable[5];
40018 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
40019 variable[5] = variable[6];
40020 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
40021 variable[6] = variable[7];
40022 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
40023 variable[7] = variable[8];
40024 variable[3] = variable[7] /*listnode1*/ /*node_list=*/;
40025 variable[8] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(60)) /*Parser::go_to*/;
40026 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
40027 return_label1136: while(false);
40028 tracehead = trace.prev;
40029 return;
40030 }
40031 void parser___ReduceAction552___init(val_t self, int* init_table) {
40032 struct trace_t trace = {NULL, NULL, 24175, LOCATE_parser___ReduceAction552___init};
40033 val_t variable[2];
40034 void **closurevariable = NULL;
40035 trace.prev = tracehead; tracehead = &trace;
40036 trace.file = LOCATE_parser;
40037 variable[0] = self;
40038 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction552].i]) return;
40039 return_label1137: while(false);
40040 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction552].i] = 1;
40041 tracehead = trace.prev;
40042 return;
40043 }
40044 void parser___ReduceAction553___action(val_t self, val_t param0) {
40045 struct trace_t trace = {NULL, NULL, 24179, LOCATE_parser___ReduceAction553___action};
40046 val_t variable[6];
40047 void **closurevariable = NULL;
40048 trace.prev = tracehead; tracehead = &trace;
40049 trace.file = LOCATE_parser;
40050 variable[0] = self;
40051 variable[1] = param0;
40052 variable[3] = NIT_NULL /*null*/;
40053 variable[5] = NEW_Array_array___Array___init(); /*new Array[Object]*/
40054 variable[4] = variable[5];
40055 variable[3] = variable[4] /*listnode1*/ /*node_list=*/;
40056 variable[5] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(60)) /*Parser::go_to*/;
40057 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[5], variable[3] /*node_list*/) /*Parser::push*/;
40058 return_label1138: while(false);
40059 tracehead = trace.prev;
40060 return;
40061 }
40062 void parser___ReduceAction553___init(val_t self, int* init_table) {
40063 struct trace_t trace = {NULL, NULL, 24186, LOCATE_parser___ReduceAction553___init};
40064 val_t variable[2];
40065 void **closurevariable = NULL;
40066 trace.prev = tracehead; tracehead = &trace;
40067 trace.file = LOCATE_parser;
40068 variable[0] = self;
40069 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction553].i]) return;
40070 return_label1139: while(false);
40071 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction553].i] = 1;
40072 tracehead = trace.prev;
40073 return;
40074 }
40075 void parser___ReduceAction554___action(val_t self, val_t param0) {
40076 struct trace_t trace = {NULL, NULL, 24190, LOCATE_parser___ReduceAction554___action};
40077 val_t variable[12];
40078 void **closurevariable = NULL;
40079 trace.prev = tracehead; tracehead = &trace;
40080 trace.file = LOCATE_parser;
40081 variable[0] = self;
40082 variable[1] = param0;
40083 variable[3] = NIT_NULL /*null*/;
40084 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
40085 variable[4] = variable[5];
40086 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
40087 variable[5] = variable[6];
40088 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
40089 variable[6] = variable[7];
40090 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
40091 variable[7] = variable[8];
40092 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
40093 variable[8] = variable[9];
40094 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
40095 variable[9] = variable[10];
40096 variable[10] = variable[6] /*nodearraylist3*/;
40097 variable[11] = TAG_Bool(( variable[10] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
40098 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction554___action, LOCATE_parser, 24200); nit_exit(1);}
40099 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*pexprnode1*/ == NIT_NULL /*null*/) || (( variable[10] /*pexprnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[10] /*pexprnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[10] /*pexprnode1*/,COLOR_kernel___Object_____eqeq))( variable[10] /*pexprnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
40100 if (UNTAG_Bool(variable[11])) { /*if*/
40101 ((array___AbstractArray___add_t)CALL( variable[9] /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable[9] /*listnode2*/, variable[10] /*pexprnode1*/) /*AbstractArray::add*/;
40102 }
40103 variable[3] = variable[9] /*listnode2*/ /*node_list=*/;
40104 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(61)) /*Parser::go_to*/;
40105 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
40106 return_label1140: while(false);
40107 tracehead = trace.prev;
40108 return;
40109 }
40110 void parser___ReduceAction554___init(val_t self, int* init_table) {
40111 struct trace_t trace = {NULL, NULL, 24207, LOCATE_parser___ReduceAction554___init};
40112 val_t variable[2];
40113 void **closurevariable = NULL;
40114 trace.prev = tracehead; tracehead = &trace;
40115 trace.file = LOCATE_parser;
40116 variable[0] = self;
40117 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction554].i]) return;
40118 return_label1141: while(false);
40119 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction554].i] = 1;
40120 tracehead = trace.prev;
40121 return;
40122 }
40123 void parser___ReduceAction555___action(val_t self, val_t param0) {
40124 struct trace_t trace = {NULL, NULL, 24211, LOCATE_parser___ReduceAction555___action};
40125 val_t variable[14];
40126 void **closurevariable = NULL;
40127 trace.prev = tracehead; tracehead = &trace;
40128 trace.file = LOCATE_parser;
40129 variable[0] = self;
40130 variable[1] = param0;
40131 variable[3] = NIT_NULL /*null*/;
40132 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
40133 variable[4] = variable[5];
40134 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
40135 variable[5] = variable[6];
40136 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
40137 variable[6] = variable[7];
40138 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
40139 variable[7] = variable[8];
40140 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
40141 variable[8] = variable[9];
40142 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
40143 variable[9] = variable[10];
40144 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
40145 variable[10] = variable[11];
40146 variable[11] = variable[7] /*nodearraylist3*/;
40147 variable[12] = TAG_Bool(( variable[11] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[11] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
40148 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction555___action, LOCATE_parser, 24222); nit_exit(1);}
40149 variable[12] = variable[5] /*nodearraylist5*/;
40150 variable[13] = TAG_Bool(( variable[12] /*listnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
40151 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction555___action, LOCATE_parser, 24224); nit_exit(1);}
40152 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*pexprnode1*/ == NIT_NULL /*null*/) || (( variable[11] /*pexprnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[11] /*pexprnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[11] /*pexprnode1*/,COLOR_kernel___Object_____eqeq))( variable[11] /*pexprnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
40153 if (UNTAG_Bool(variable[13])) { /*if*/
40154 ((array___AbstractArray___add_t)CALL( variable[10] /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable[10] /*listnode3*/, variable[11] /*pexprnode1*/) /*AbstractArray::add*/;
40155 }
40156 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode2*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable[12] /*listnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
40157 if (UNTAG_Bool(variable[13])) { /*if*/
40158 variable[13] = ((array___AbstractArray___is_empty_t)CALL( variable[10] /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable[10] /*listnode3*/) /*AbstractArray::is_empty*/;
40159 if (UNTAG_Bool(variable[13])) { /*if*/
40160 variable[10] = variable[12] /*listnode2*/ /*listnode3=*/;
40161 } else { /*if*/
40162 ((abstract_collection___IndexedCollection___append_t)CALL( variable[10] /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable[10] /*listnode3*/, variable[12] /*listnode2*/) /*IndexedCollection::append*/;
40163 }
40164 }
40165 variable[3] = variable[10] /*listnode3*/ /*node_list=*/;
40166 variable[13] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(61)) /*Parser::go_to*/;
40167 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
40168 return_label1142: while(false);
40169 tracehead = trace.prev;
40170 return;
40171 }
40172 void parser___ReduceAction555___init(val_t self, int* init_table) {
40173 struct trace_t trace = {NULL, NULL, 24238, LOCATE_parser___ReduceAction555___init};
40174 val_t variable[2];
40175 void **closurevariable = NULL;
40176 trace.prev = tracehead; tracehead = &trace;
40177 trace.file = LOCATE_parser;
40178 variable[0] = self;
40179 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction555].i]) return;
40180 return_label1143: while(false);
40181 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction555].i] = 1;
40182 tracehead = trace.prev;
40183 return;
40184 }
40185 void parser___ReduceAction556___action(val_t self, val_t param0) {
40186 struct trace_t trace = {NULL, NULL, 24242, LOCATE_parser___ReduceAction556___action};
40187 val_t variable[10];
40188 void **closurevariable = NULL;
40189 trace.prev = tracehead; tracehead = &trace;
40190 trace.file = LOCATE_parser;
40191 variable[0] = self;
40192 variable[1] = param0;
40193 variable[3] = NIT_NULL /*null*/;
40194 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
40195 variable[4] = variable[5];
40196 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
40197 variable[5] = variable[6];
40198 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
40199 variable[6] = variable[7];
40200 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
40201 variable[7] = variable[8];
40202 variable[8] = variable[5] /*nodearraylist3*/;
40203 variable[9] = TAG_Bool(( variable[8] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
40204 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction556___action, LOCATE_parser, 24250); nit_exit(1);}
40205 variable[3] = variable[8] /*pexprnode1*/ /*node_list=*/;
40206 variable[9] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(62)) /*Parser::go_to*/;
40207 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
40208 return_label1144: while(false);
40209 tracehead = trace.prev;
40210 return;
40211 }
40212 void parser___ReduceAction556___init(val_t self, int* init_table) {
40213 struct trace_t trace = {NULL, NULL, 24254, LOCATE_parser___ReduceAction556___init};
40214 val_t variable[2];
40215 void **closurevariable = NULL;
40216 trace.prev = tracehead; tracehead = &trace;
40217 trace.file = LOCATE_parser;
40218 variable[0] = self;
40219 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction556].i]) return;
40220 return_label1145: while(false);
40221 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction556].i] = 1;
40222 tracehead = trace.prev;
40223 return;
40224 }
40225 void parser___ReduceAction557___action(val_t self, val_t param0) {
40226 struct trace_t trace = {NULL, NULL, 24258, LOCATE_parser___ReduceAction557___action};
40227 val_t variable[8];
40228 void **closurevariable = NULL;
40229 trace.prev = tracehead; tracehead = &trace;
40230 trace.file = LOCATE_parser;
40231 variable[0] = self;
40232 variable[1] = param0;
40233 variable[3] = NIT_NULL /*null*/;
40234 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
40235 variable[4] = variable[5];
40236 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
40237 variable[5] = variable[6];
40238 variable[6] = variable[4] /*nodearraylist1*/;
40239 variable[7] = TAG_Bool(( variable[6] /*tidnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*tidnode1*/, COLOR_TId, ID_TId)) /*cast TId*/;
40240 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction557___action, LOCATE_parser, 24264); nit_exit(1);}
40241 variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[6] /*tidnode1*/ == NIT_NULL /*null*/) || (( variable[6] /*tidnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[6] /*tidnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*tidnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[6] /*tidnode1*/,COLOR_kernel___Object_____eqeq))( variable[6] /*tidnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
40242 if (UNTAG_Bool(variable[7])) { /*if*/
40243 ((array___AbstractArray___add_t)CALL( variable[5] /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable[5] /*listnode2*/, variable[6] /*tidnode1*/) /*AbstractArray::add*/;
40244 }
40245 variable[3] = variable[5] /*listnode2*/ /*node_list=*/;
40246 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(63)) /*Parser::go_to*/;
40247 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
40248 return_label1146: while(false);
40249 tracehead = trace.prev;
40250 return;
40251 }
40252 void parser___ReduceAction557___init(val_t self, int* init_table) {
40253 struct trace_t trace = {NULL, NULL, 24271, LOCATE_parser___ReduceAction557___init};
40254 val_t variable[2];
40255 void **closurevariable = NULL;
40256 trace.prev = tracehead; tracehead = &trace;
40257 trace.file = LOCATE_parser;
40258 variable[0] = self;
40259 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction557].i]) return;
40260 return_label1147: while(false);
40261 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction557].i] = 1;
40262 tracehead = trace.prev;
40263 return;
40264 }
40265 void parser___ReduceAction558___action(val_t self, val_t param0) {
40266 struct trace_t trace = {NULL, NULL, 24275, LOCATE_parser___ReduceAction558___action};
40267 val_t variable[13];
40268 void **closurevariable = NULL;
40269 trace.prev = tracehead; tracehead = &trace;
40270 trace.file = LOCATE_parser;
40271 variable[0] = self;
40272 variable[1] = param0;
40273 variable[3] = NIT_NULL /*null*/;
40274 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
40275 variable[4] = variable[5];
40276 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
40277 variable[5] = variable[6];
40278 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
40279 variable[6] = variable[7];
40280 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
40281 variable[7] = variable[8];
40282 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
40283 variable[8] = variable[9];
40284 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
40285 variable[9] = variable[10];
40286 variable[10] = variable[8] /*nodearraylist1*/;
40287 variable[11] = TAG_Bool(( variable[10] /*listnode1*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
40288 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction558___action, LOCATE_parser, 24285); nit_exit(1);}
40289 variable[11] = variable[4] /*nodearraylist5*/;
40290 variable[12] = TAG_Bool(( variable[11] /*tidnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*tidnode2*/, COLOR_TId, ID_TId)) /*cast TId*/;
40291 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction558___action, LOCATE_parser, 24287); nit_exit(1);}
40292 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode1*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable[10] /*listnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
40293 if (UNTAG_Bool(variable[12])) { /*if*/
40294 variable[12] = ((array___AbstractArray___is_empty_t)CALL( variable[9] /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable[9] /*listnode3*/) /*AbstractArray::is_empty*/;
40295 if (UNTAG_Bool(variable[12])) { /*if*/
40296 variable[9] = variable[10] /*listnode1*/ /*listnode3=*/;
40297 } else { /*if*/
40298 ((abstract_collection___IndexedCollection___append_t)CALL( variable[9] /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable[9] /*listnode3*/, variable[10] /*listnode1*/) /*IndexedCollection::append*/;
40299 }
40300 }
40301 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*tidnode2*/ == NIT_NULL /*null*/) || (( variable[11] /*tidnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[11] /*tidnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*tidnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[11] /*tidnode2*/,COLOR_kernel___Object_____eqeq))( variable[11] /*tidnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
40302 if (UNTAG_Bool(variable[12])) { /*if*/
40303 ((array___AbstractArray___add_t)CALL( variable[9] /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable[9] /*listnode3*/, variable[11] /*tidnode2*/) /*AbstractArray::add*/;
40304 }
40305 variable[3] = variable[9] /*listnode3*/ /*node_list=*/;
40306 variable[12] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(63)) /*Parser::go_to*/;
40307 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
40308 return_label1148: while(false);
40309 tracehead = trace.prev;
40310 return;
40311 }
40312 void parser___ReduceAction558___init(val_t self, int* init_table) {
40313 struct trace_t trace = {NULL, NULL, 24301, LOCATE_parser___ReduceAction558___init};
40314 val_t variable[2];
40315 void **closurevariable = NULL;
40316 trace.prev = tracehead; tracehead = &trace;
40317 trace.file = LOCATE_parser;
40318 variable[0] = self;
40319 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction558].i]) return;
40320 return_label1149: while(false);
40321 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction558].i] = 1;
40322 tracehead = trace.prev;
40323 return;
40324 }
40325 void parser___ReduceAction559___action(val_t self, val_t param0) {
40326 struct trace_t trace = {NULL, NULL, 24305, LOCATE_parser___ReduceAction559___action};
40327 val_t variable[9];
40328 void **closurevariable = NULL;
40329 trace.prev = tracehead; tracehead = &trace;
40330 trace.file = LOCATE_parser;
40331 variable[0] = self;
40332 variable[1] = param0;
40333 variable[3] = NIT_NULL /*null*/;
40334 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
40335 variable[4] = variable[5];
40336 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
40337 variable[5] = variable[6];
40338 variable[6] = variable[4] /*nodearraylist1*/;
40339 variable[7] = TAG_Bool(( variable[6] /*tclassidnode3*/==NIT_NULL) || VAL_ISA( variable[6] /*tclassidnode3*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
40340 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction559___action, LOCATE_parser, 24311); nit_exit(1);}
40341 variable[8] = NEW_AQualified_parser_prod___AQualified___init_aqualified( variable[5] /*listnode2*/, variable[6] /*tclassidnode3*/); /*new AQualified*/
40342 variable[7] = variable[8];
40343 variable[3] = variable[7] /*pqualifiednode1*/ /*node_list=*/;
40344 variable[8] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(64)) /*Parser::go_to*/;
40345 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
40346 return_label1150: while(false);
40347 tracehead = trace.prev;
40348 return;
40349 }
40350 void parser___ReduceAction559___init(val_t self, int* init_table) {
40351 struct trace_t trace = {NULL, NULL, 24319, LOCATE_parser___ReduceAction559___init};
40352 val_t variable[2];
40353 void **closurevariable = NULL;
40354 trace.prev = tracehead; tracehead = &trace;
40355 trace.file = LOCATE_parser;
40356 variable[0] = self;
40357 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction559].i]) return;
40358 return_label1151: while(false);
40359 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction559].i] = 1;
40360 tracehead = trace.prev;
40361 return;
40362 }
40363 void parser___ReduceAction560___action(val_t self, val_t param0) {
40364 struct trace_t trace = {NULL, NULL, 24323, LOCATE_parser___ReduceAction560___action};
40365 val_t variable[11];
40366 void **closurevariable = NULL;
40367 trace.prev = tracehead; tracehead = &trace;
40368 trace.file = LOCATE_parser;
40369 variable[0] = self;
40370 variable[1] = param0;
40371 variable[3] = NIT_NULL /*null*/;
40372 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
40373 variable[4] = variable[5];
40374 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
40375 variable[5] = variable[6];
40376 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
40377 variable[6] = variable[7];
40378 variable[7] = variable[5] /*nodearraylist1*/;
40379 variable[8] = TAG_Bool(( variable[7] /*listnode2*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
40380 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction560___action, LOCATE_parser, 24330); nit_exit(1);}
40381 variable[8] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[7] /*listnode2*/ == NIT_NULL /*null*/) || (( variable[7] /*listnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[7] /*listnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[7] /*listnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[7] /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable[7] /*listnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
40382 if (UNTAG_Bool(variable[8])) { /*if*/
40383 variable[8] = ((array___AbstractArray___is_empty_t)CALL( variable[6] /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable[6] /*listnode3*/) /*AbstractArray::is_empty*/;
40384 if (UNTAG_Bool(variable[8])) { /*if*/
40385 variable[6] = variable[7] /*listnode2*/ /*listnode3=*/;
40386 } else { /*if*/
40387 ((abstract_collection___IndexedCollection___append_t)CALL( variable[6] /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable[6] /*listnode3*/, variable[7] /*listnode2*/) /*IndexedCollection::append*/;
40388 }
40389 }
40390 variable[8] = variable[4] /*nodearraylist2*/;
40391 variable[9] = TAG_Bool(( variable[8] /*tclassidnode4*/==NIT_NULL) || VAL_ISA( variable[8] /*tclassidnode4*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
40392 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction560___action, LOCATE_parser, 24339); nit_exit(1);}
40393 variable[10] = NEW_AQualified_parser_prod___AQualified___init_aqualified( variable[6] /*listnode3*/, variable[8] /*tclassidnode4*/); /*new AQualified*/
40394 variable[9] = variable[10];
40395 variable[3] = variable[9] /*pqualifiednode1*/ /*node_list=*/;
40396 variable[10] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(64)) /*Parser::go_to*/;
40397 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
40398 return_label1152: while(false);
40399 tracehead = trace.prev;
40400 return;
40401 }
40402 void parser___ReduceAction560___init(val_t self, int* init_table) {
40403 struct trace_t trace = {NULL, NULL, 24347, LOCATE_parser___ReduceAction560___init};
40404 val_t variable[2];
40405 void **closurevariable = NULL;
40406 trace.prev = tracehead; tracehead = &trace;
40407 trace.file = LOCATE_parser;
40408 variable[0] = self;
40409 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction560].i]) return;
40410 return_label1153: while(false);
40411 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction560].i] = 1;
40412 tracehead = trace.prev;
40413 return;
40414 }
40415 void parser___ReduceAction561___action(val_t self, val_t param0) {
40416 struct trace_t trace = {NULL, NULL, 24351, LOCATE_parser___ReduceAction561___action};
40417 val_t variable[9];
40418 void **closurevariable = NULL;
40419 trace.prev = tracehead; tracehead = &trace;
40420 trace.file = LOCATE_parser;
40421 variable[0] = self;
40422 variable[1] = param0;
40423 variable[3] = NIT_NULL /*null*/;
40424 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
40425 variable[4] = variable[5];
40426 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
40427 variable[5] = variable[6];
40428 variable[6] = variable[4] /*nodearraylist1*/;
40429 variable[7] = TAG_Bool(( variable[6] /*listnode2*/==NIT_NULL) || VAL_ISA( variable[6] /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
40430 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction561___action, LOCATE_parser, 24357); nit_exit(1);}
40431 variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[6] /*listnode2*/ == NIT_NULL /*null*/) || (( variable[6] /*listnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[6] /*listnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*listnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[6] /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable[6] /*listnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
40432 if (UNTAG_Bool(variable[7])) { /*if*/
40433 variable[7] = ((array___AbstractArray___is_empty_t)CALL( variable[5] /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable[5] /*listnode3*/) /*AbstractArray::is_empty*/;
40434 if (UNTAG_Bool(variable[7])) { /*if*/
40435 variable[5] = variable[6] /*listnode2*/ /*listnode3=*/;
40436 } else { /*if*/
40437 ((abstract_collection___IndexedCollection___append_t)CALL( variable[5] /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable[5] /*listnode3*/, variable[6] /*listnode2*/) /*IndexedCollection::append*/;
40438 }
40439 }
40440 variable[8] = NEW_AQualified_parser_prod___AQualified___init_aqualified( variable[5] /*listnode3*/, NIT_NULL /*null*/); /*new AQualified*/
40441 variable[7] = variable[8];
40442 variable[3] = variable[7] /*pqualifiednode1*/ /*node_list=*/;
40443 variable[8] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(64)) /*Parser::go_to*/;
40444 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
40445 return_label1154: while(false);
40446 tracehead = trace.prev;
40447 return;
40448 }
40449 void parser___ReduceAction561___init(val_t self, int* init_table) {
40450 struct trace_t trace = {NULL, NULL, 24372, LOCATE_parser___ReduceAction561___init};
40451 val_t variable[2];
40452 void **closurevariable = NULL;
40453 trace.prev = tracehead; tracehead = &trace;
40454 trace.file = LOCATE_parser;
40455 variable[0] = self;
40456 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction561].i]) return;
40457 return_label1155: while(false);
40458 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction561].i] = 1;
40459 tracehead = trace.prev;
40460 return;
40461 }
40462 void parser___ReduceAction562___action(val_t self, val_t param0) {
40463 struct trace_t trace = {NULL, NULL, 24376, LOCATE_parser___ReduceAction562___action};
40464 val_t variable[9];
40465 void **closurevariable = NULL;
40466 trace.prev = tracehead; tracehead = &trace;
40467 trace.file = LOCATE_parser;
40468 variable[0] = self;
40469 variable[1] = param0;
40470 variable[3] = NIT_NULL /*null*/;
40471 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
40472 variable[4] = variable[5];
40473 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
40474 variable[5] = variable[6];
40475 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
40476 variable[6] = variable[7];
40477 variable[7] = variable[6] /*nodearraylist1*/;
40478 variable[8] = TAG_Bool(( variable[7] /*tidnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*tidnode1*/, COLOR_TId, ID_TId)) /*cast TId*/;
40479 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction562___action, LOCATE_parser, 24383); nit_exit(1);}
40480 variable[3] = variable[7] /*tidnode1*/ /*node_list=*/;
40481 variable[8] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(65)) /*Parser::go_to*/;
40482 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
40483 return_label1156: while(false);
40484 tracehead = trace.prev;
40485 return;
40486 }
40487 void parser___ReduceAction562___init(val_t self, int* init_table) {
40488 struct trace_t trace = {NULL, NULL, 24387, LOCATE_parser___ReduceAction562___init};
40489 val_t variable[2];
40490 void **closurevariable = NULL;
40491 trace.prev = tracehead; tracehead = &trace;
40492 trace.file = LOCATE_parser;
40493 variable[0] = self;
40494 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction562].i]) return;
40495 return_label1157: while(false);
40496 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction562].i] = 1;
40497 tracehead = trace.prev;
40498 return;
40499 }
40500 void parser___ReduceAction563___action(val_t self, val_t param0) {
40501 struct trace_t trace = {NULL, NULL, 24391, LOCATE_parser___ReduceAction563___action};
40502 val_t variable[9];
40503 void **closurevariable = NULL;
40504 trace.prev = tracehead; tracehead = &trace;
40505 trace.file = LOCATE_parser;
40506 variable[0] = self;
40507 variable[1] = param0;
40508 variable[3] = NIT_NULL /*null*/;
40509 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
40510 variable[4] = variable[5];
40511 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
40512 variable[5] = variable[6];
40513 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
40514 variable[6] = variable[7];
40515 variable[7] = variable[6] /*nodearraylist1*/;
40516 variable[8] = TAG_Bool(( variable[7] /*tclassidnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*tclassidnode1*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
40517 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction563___action, LOCATE_parser, 24398); nit_exit(1);}
40518 variable[3] = variable[7] /*tclassidnode1*/ /*node_list=*/;
40519 variable[8] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(66)) /*Parser::go_to*/;
40520 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
40521 return_label1158: while(false);
40522 tracehead = trace.prev;
40523 return;
40524 }
40525 void parser___ReduceAction563___init(val_t self, int* init_table) {
40526 struct trace_t trace = {NULL, NULL, 24402, LOCATE_parser___ReduceAction563___init};
40527 val_t variable[2];
40528 void **closurevariable = NULL;
40529 trace.prev = tracehead; tracehead = &trace;
40530 trace.file = LOCATE_parser;
40531 variable[0] = self;
40532 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction563].i]) return;
40533 return_label1159: while(false);
40534 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction563].i] = 1;
40535 tracehead = trace.prev;
40536 return;
40537 }
40538 void parser___ReduceAction564___action(val_t self, val_t param0) {
40539 struct trace_t trace = {NULL, NULL, 24406, LOCATE_parser___ReduceAction564___action};
40540 val_t variable[6];
40541 void **closurevariable = NULL;
40542 trace.prev = tracehead; tracehead = &trace;
40543 trace.file = LOCATE_parser;
40544 variable[0] = self;
40545 variable[1] = param0;
40546 variable[3] = NIT_NULL /*null*/;
40547 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
40548 variable[4] = variable[5];
40549 variable[5] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(67)) /*Parser::go_to*/;
40550 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[5], variable[3] /*node_list*/) /*Parser::push*/;
40551 return_label1160: while(false);
40552 tracehead = trace.prev;
40553 return;
40554 }
40555 void parser___ReduceAction564___init(val_t self, int* init_table) {
40556 struct trace_t trace = {NULL, NULL, 24412, LOCATE_parser___ReduceAction564___init};
40557 val_t variable[2];
40558 void **closurevariable = NULL;
40559 trace.prev = tracehead; tracehead = &trace;
40560 trace.file = LOCATE_parser;
40561 variable[0] = self;
40562 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction564].i]) return;
40563 return_label1161: while(false);
40564 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction564].i] = 1;
40565 tracehead = trace.prev;
40566 return;
40567 }
40568 void parser___ReduceAction565___action(val_t self, val_t param0) {
40569 struct trace_t trace = {NULL, NULL, 24416, LOCATE_parser___ReduceAction565___action};
40570 val_t variable[6];
40571 void **closurevariable = NULL;
40572 trace.prev = tracehead; tracehead = &trace;
40573 trace.file = LOCATE_parser;
40574 variable[0] = self;
40575 variable[1] = param0;
40576 variable[3] = NIT_NULL /*null*/;
40577 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
40578 variable[4] = variable[5];
40579 variable[5] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(67)) /*Parser::go_to*/;
40580 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[5], variable[3] /*node_list*/) /*Parser::push*/;
40581 return_label1162: while(false);
40582 tracehead = trace.prev;
40583 return;
40584 }
40585 void parser___ReduceAction565___init(val_t self, int* init_table) {
40586 struct trace_t trace = {NULL, NULL, 24422, LOCATE_parser___ReduceAction565___init};
40587 val_t variable[2];
40588 void **closurevariable = NULL;
40589 trace.prev = tracehead; tracehead = &trace;
40590 trace.file = LOCATE_parser;
40591 variable[0] = self;
40592 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction565].i]) return;
40593 return_label1163: while(false);
40594 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction565].i] = 1;
40595 tracehead = trace.prev;
40596 return;
40597 }
40598 void parser___ReduceAction566___action(val_t self, val_t param0) {
40599 struct trace_t trace = {NULL, NULL, 24426, LOCATE_parser___ReduceAction566___action};
40600 val_t variable[9];
40601 void **closurevariable = NULL;
40602 trace.prev = tracehead; tracehead = &trace;
40603 trace.file = LOCATE_parser;
40604 variable[0] = self;
40605 variable[1] = param0;
40606 variable[3] = NIT_NULL /*null*/;
40607 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
40608 variable[4] = variable[5];
40609 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
40610 variable[5] = variable[6];
40611 variable[6] = variable[4] /*nodearraylist1*/;
40612 variable[7] = TAG_Bool(( variable[6] /*listnode2*/==NIT_NULL) || VAL_ISA( variable[6] /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
40613 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction566___action, LOCATE_parser, 24432); nit_exit(1);}
40614 variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[6] /*listnode2*/ == NIT_NULL /*null*/) || (( variable[6] /*listnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[6] /*listnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*listnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[6] /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable[6] /*listnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
40615 if (UNTAG_Bool(variable[7])) { /*if*/
40616 variable[7] = ((array___AbstractArray___is_empty_t)CALL( variable[5] /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable[5] /*listnode3*/) /*AbstractArray::is_empty*/;
40617 if (UNTAG_Bool(variable[7])) { /*if*/
40618 variable[5] = variable[6] /*listnode2*/ /*listnode3=*/;
40619 } else { /*if*/
40620 ((abstract_collection___IndexedCollection___append_t)CALL( variable[5] /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable[5] /*listnode3*/, variable[6] /*listnode2*/) /*IndexedCollection::append*/;
40621 }
40622 }
40623 variable[8] = NEW_ADoc_parser_prod___ADoc___init_adoc( variable[5] /*listnode3*/); /*new ADoc*/
40624 variable[7] = variable[8];
40625 variable[3] = variable[7] /*pdocnode1*/ /*node_list=*/;
40626 variable[8] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(68)) /*Parser::go_to*/;
40627 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
40628 return_label1164: while(false);
40629 tracehead = trace.prev;
40630 return;
40631 }
40632 void parser___ReduceAction566___init(val_t self, int* init_table) {
40633 struct trace_t trace = {NULL, NULL, 24446, LOCATE_parser___ReduceAction566___init};
40634 val_t variable[2];
40635 void **closurevariable = NULL;
40636 trace.prev = tracehead; tracehead = &trace;
40637 trace.file = LOCATE_parser;
40638 variable[0] = self;
40639 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction566].i]) return;
40640 return_label1165: while(false);
40641 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction566].i] = 1;
40642 tracehead = trace.prev;
40643 return;
40644 }
40645 void parser___ReduceAction567___action(val_t self, val_t param0) {
40646 struct trace_t trace = {NULL, NULL, 24450, LOCATE_parser___ReduceAction567___action};
40647 val_t variable[10];
40648 void **closurevariable = NULL;
40649 trace.prev = tracehead; tracehead = &trace;
40650 trace.file = LOCATE_parser;
40651 variable[0] = self;
40652 variable[1] = param0;
40653 variable[3] = NIT_NULL /*null*/;
40654 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
40655 variable[4] = variable[5];
40656 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
40657 variable[5] = variable[6];
40658 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
40659 variable[6] = variable[7];
40660 variable[7] = variable[4] /*nodearraylist2*/;
40661 variable[8] = TAG_Bool(( variable[7] /*listnode2*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
40662 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction567___action, LOCATE_parser, 24457); nit_exit(1);}
40663 variable[8] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[7] /*listnode2*/ == NIT_NULL /*null*/) || (( variable[7] /*listnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[7] /*listnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[7] /*listnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[7] /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable[7] /*listnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
40664 if (UNTAG_Bool(variable[8])) { /*if*/
40665 variable[8] = ((array___AbstractArray___is_empty_t)CALL( variable[6] /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable[6] /*listnode3*/) /*AbstractArray::is_empty*/;
40666 if (UNTAG_Bool(variable[8])) { /*if*/
40667 variable[6] = variable[7] /*listnode2*/ /*listnode3=*/;
40668 } else { /*if*/
40669 ((abstract_collection___IndexedCollection___append_t)CALL( variable[6] /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable[6] /*listnode3*/, variable[7] /*listnode2*/) /*IndexedCollection::append*/;
40670 }
40671 }
40672 variable[9] = NEW_ADoc_parser_prod___ADoc___init_adoc( variable[6] /*listnode3*/); /*new ADoc*/
40673 variable[8] = variable[9];
40674 variable[3] = variable[8] /*pdocnode1*/ /*node_list=*/;
40675 variable[9] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(68)) /*Parser::go_to*/;
40676 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
40677 return_label1166: while(false);
40678 tracehead = trace.prev;
40679 return;
40680 }
40681 void parser___ReduceAction567___init(val_t self, int* init_table) {
40682 struct trace_t trace = {NULL, NULL, 24471, LOCATE_parser___ReduceAction567___init};
40683 val_t variable[2];
40684 void **closurevariable = NULL;
40685 trace.prev = tracehead; tracehead = &trace;
40686 trace.file = LOCATE_parser;
40687 variable[0] = self;
40688 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction567].i]) return;
40689 return_label1167: while(false);
40690 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction567].i] = 1;
40691 tracehead = trace.prev;
40692 return;
40693 }
40694 void parser___ReduceAction568___action(val_t self, val_t param0) {
40695 struct trace_t trace = {NULL, NULL, 24475, LOCATE_parser___ReduceAction568___action};
40696 val_t variable[6];
40697 void **closurevariable = NULL;
40698 trace.prev = tracehead; tracehead = &trace;
40699 trace.file = LOCATE_parser;
40700 variable[0] = self;
40701 variable[1] = param0;
40702 variable[3] = NIT_NULL /*null*/;
40703 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
40704 variable[4] = variable[5];
40705 variable[3] = NIT_NULL /*null*/ /*node_list=*/;
40706 variable[5] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(68)) /*Parser::go_to*/;
40707 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[5], variable[3] /*node_list*/) /*Parser::push*/;
40708 return_label1168: while(false);
40709 tracehead = trace.prev;
40710 return;
40711 }
40712 void parser___ReduceAction568___init(val_t self, int* init_table) {
40713 struct trace_t trace = {NULL, NULL, 24482, LOCATE_parser___ReduceAction568___init};
40714 val_t variable[2];
40715 void **closurevariable = NULL;
40716 trace.prev = tracehead; tracehead = &trace;
40717 trace.file = LOCATE_parser;
40718 variable[0] = self;
40719 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction568].i]) return;
40720 return_label1169: while(false);
40721 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction568].i] = 1;
40722 tracehead = trace.prev;
40723 return;
40724 }
40725 void parser___ReduceAction569___action(val_t self, val_t param0) {
40726 struct trace_t trace = {NULL, NULL, 24486, LOCATE_parser___ReduceAction569___action};
40727 val_t variable[5];
40728 void **closurevariable = NULL;
40729 trace.prev = tracehead; tracehead = &trace;
40730 trace.file = LOCATE_parser;
40731 variable[0] = self;
40732 variable[1] = param0;
40733 variable[3] = NIT_NULL /*null*/;
40734 variable[3] = NIT_NULL /*null*/ /*node_list=*/;
40735 variable[4] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(69)) /*Parser::go_to*/;
40736 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[4], variable[3] /*node_list*/) /*Parser::push*/;
40737 return_label1170: while(false);
40738 tracehead = trace.prev;
40739 return;
40740 }
40741 void parser___ReduceAction569___init(val_t self, int* init_table) {
40742 struct trace_t trace = {NULL, NULL, 24492, LOCATE_parser___ReduceAction569___init};
40743 val_t variable[2];
40744 void **closurevariable = NULL;
40745 trace.prev = tracehead; tracehead = &trace;
40746 trace.file = LOCATE_parser;
40747 variable[0] = self;
40748 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction569].i]) return;
40749 return_label1171: while(false);
40750 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction569].i] = 1;
40751 tracehead = trace.prev;
40752 return;
40753 }
40754 void parser___ReduceAction570___action(val_t self, val_t param0) {
40755 struct trace_t trace = {NULL, NULL, 24496, LOCATE_parser___ReduceAction570___action};
40756 val_t variable[7];
40757 void **closurevariable = NULL;
40758 trace.prev = tracehead; tracehead = &trace;
40759 trace.file = LOCATE_parser;
40760 variable[0] = self;
40761 variable[1] = param0;
40762 variable[3] = NIT_NULL /*null*/;
40763 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
40764 variable[4] = variable[5];
40765 variable[5] = variable[4] /*nodearraylist1*/;
40766 variable[6] = TAG_Bool(( variable[5] /*pdocnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pdocnode1*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
40767 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction570___action, LOCATE_parser, 24501); nit_exit(1);}
40768 variable[3] = variable[5] /*pdocnode1*/ /*node_list=*/;
40769 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(69)) /*Parser::go_to*/;
40770 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
40771 return_label1172: while(false);
40772 tracehead = trace.prev;
40773 return;
40774 }
40775 void parser___ReduceAction570___init(val_t self, int* init_table) {
40776 struct trace_t trace = {NULL, NULL, 24505, LOCATE_parser___ReduceAction570___init};
40777 val_t variable[2];
40778 void **closurevariable = NULL;
40779 trace.prev = tracehead; tracehead = &trace;
40780 trace.file = LOCATE_parser;
40781 variable[0] = self;
40782 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction570].i]) return;
40783 return_label1173: while(false);
40784 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction570].i] = 1;
40785 tracehead = trace.prev;
40786 return;
40787 }
40788 void parser___ReduceAction571___action(val_t self, val_t param0) {
40789 struct trace_t trace = {NULL, NULL, 24509, LOCATE_parser___ReduceAction571___action};
40790 val_t variable[7];
40791 void **closurevariable = NULL;
40792 trace.prev = tracehead; tracehead = &trace;
40793 trace.file = LOCATE_parser;
40794 variable[0] = self;
40795 variable[1] = param0;
40796 variable[3] = NIT_NULL /*null*/;
40797 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
40798 variable[4] = variable[5];
40799 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
40800 variable[5] = variable[6];
40801 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(70)) /*Parser::go_to*/;
40802 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
40803 return_label1174: while(false);
40804 tracehead = trace.prev;
40805 return;
40806 }
40807 void parser___ReduceAction571___init(val_t self, int* init_table) {
40808 struct trace_t trace = {NULL, NULL, 24516, LOCATE_parser___ReduceAction571___init};
40809 val_t variable[2];
40810 void **closurevariable = NULL;
40811 trace.prev = tracehead; tracehead = &trace;
40812 trace.file = LOCATE_parser;
40813 variable[0] = self;
40814 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction571].i]) return;
40815 return_label1175: while(false);
40816 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction571].i] = 1;
40817 tracehead = trace.prev;
40818 return;
40819 }
40820 void parser___ReduceAction572___action(val_t self, val_t param0) {
40821 struct trace_t trace = {NULL, NULL, 24520, LOCATE_parser___ReduceAction572___action};
40822 val_t variable[8];
40823 void **closurevariable = NULL;
40824 trace.prev = tracehead; tracehead = &trace;
40825 trace.file = LOCATE_parser;
40826 variable[0] = self;
40827 variable[1] = param0;
40828 variable[3] = NIT_NULL /*null*/;
40829 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
40830 variable[4] = variable[5];
40831 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
40832 variable[5] = variable[6];
40833 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
40834 variable[6] = variable[7];
40835 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(70)) /*Parser::go_to*/;
40836 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
40837 return_label1176: while(false);
40838 tracehead = trace.prev;
40839 return;
40840 }
40841 void parser___ReduceAction572___init(val_t self, int* init_table) {
40842 struct trace_t trace = {NULL, NULL, 24528, LOCATE_parser___ReduceAction572___init};
40843 val_t variable[2];
40844 void **closurevariable = NULL;
40845 trace.prev = tracehead; tracehead = &trace;
40846 trace.file = LOCATE_parser;
40847 variable[0] = self;
40848 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction572].i]) return;
40849 return_label1177: while(false);
40850 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction572].i] = 1;
40851 tracehead = trace.prev;
40852 return;
40853 }
40854 void parser___ReduceAction573___action(val_t self, val_t param0) {
40855 struct trace_t trace = {NULL, NULL, 24532, LOCATE_parser___ReduceAction573___action};
40856 val_t variable[6];
40857 void **closurevariable = NULL;
40858 trace.prev = tracehead; tracehead = &trace;
40859 trace.file = LOCATE_parser;
40860 variable[0] = self;
40861 variable[1] = param0;
40862 variable[3] = NIT_NULL /*null*/;
40863 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
40864 variable[4] = variable[5];
40865 variable[5] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(70)) /*Parser::go_to*/;
40866 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[5], variable[3] /*node_list*/) /*Parser::push*/;
40867 return_label1178: while(false);
40868 tracehead = trace.prev;
40869 return;
40870 }
40871 void parser___ReduceAction573___init(val_t self, int* init_table) {
40872 struct trace_t trace = {NULL, NULL, 24538, LOCATE_parser___ReduceAction573___init};
40873 val_t variable[2];
40874 void **closurevariable = NULL;
40875 trace.prev = tracehead; tracehead = &trace;
40876 trace.file = LOCATE_parser;
40877 variable[0] = self;
40878 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction573].i]) return;
40879 return_label1179: while(false);
40880 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction573].i] = 1;
40881 tracehead = trace.prev;
40882 return;
40883 }
40884 void parser___ReduceAction574___action(val_t self, val_t param0) {
40885 struct trace_t trace = {NULL, NULL, 24542, LOCATE_parser___ReduceAction574___action};
40886 val_t variable[9];
40887 void **closurevariable = NULL;
40888 trace.prev = tracehead; tracehead = &trace;
40889 trace.file = LOCATE_parser;
40890 variable[0] = self;
40891 variable[1] = param0;
40892 variable[3] = NIT_NULL /*null*/;
40893 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
40894 variable[4] = variable[5];
40895 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
40896 variable[5] = variable[6];
40897 variable[6] = variable[4] /*nodearraylist1*/;
40898 variable[7] = TAG_Bool(( variable[6] /*tclassidnode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tclassidnode2*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
40899 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction574___action, LOCATE_parser, 24548); nit_exit(1);}
40900 variable[8] = NEW_AType_parser_prod___AType___init_atype( variable[6] /*tclassidnode2*/, variable[5] /*listnode3*/); /*new AType*/
40901 variable[7] = variable[8];
40902 variable[3] = variable[7] /*ptypenode1*/ /*node_list=*/;
40903 variable[8] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(71)) /*Parser::go_to*/;
40904 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
40905 return_label1180: while(false);
40906 tracehead = trace.prev;
40907 return;
40908 }
40909 void parser___ReduceAction574___init(val_t self, int* init_table) {
40910 struct trace_t trace = {NULL, NULL, 24556, LOCATE_parser___ReduceAction574___init};
40911 val_t variable[2];
40912 void **closurevariable = NULL;
40913 trace.prev = tracehead; tracehead = &trace;
40914 trace.file = LOCATE_parser;
40915 variable[0] = self;
40916 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction574].i]) return;
40917 return_label1181: while(false);
40918 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction574].i] = 1;
40919 tracehead = trace.prev;
40920 return;
40921 }
40922 void parser___ReduceAction575___action(val_t self, val_t param0) {
40923 struct trace_t trace = {NULL, NULL, 24560, LOCATE_parser___ReduceAction575___action};
40924 val_t variable[7];
40925 void **closurevariable = NULL;
40926 trace.prev = tracehead; tracehead = &trace;
40927 trace.file = LOCATE_parser;
40928 variable[0] = self;
40929 variable[1] = param0;
40930 variable[3] = NIT_NULL /*null*/;
40931 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
40932 variable[4] = variable[5];
40933 variable[5] = variable[4] /*nodearraylist1*/;
40934 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
40935 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction575___action, LOCATE_parser, 24565); nit_exit(1);}
40936 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
40937 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(72)) /*Parser::go_to*/;
40938 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
40939 return_label1182: while(false);
40940 tracehead = trace.prev;
40941 return;
40942 }
40943 void parser___ReduceAction575___init(val_t self, int* init_table) {
40944 struct trace_t trace = {NULL, NULL, 24569, LOCATE_parser___ReduceAction575___init};
40945 val_t variable[2];
40946 void **closurevariable = NULL;
40947 trace.prev = tracehead; tracehead = &trace;
40948 trace.file = LOCATE_parser;
40949 variable[0] = self;
40950 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction575].i]) return;
40951 return_label1183: while(false);
40952 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction575].i] = 1;
40953 tracehead = trace.prev;
40954 return;
40955 }
40956 void parser___ReduceAction576___action(val_t self, val_t param0) {
40957 struct trace_t trace = {NULL, NULL, 24573, LOCATE_parser___ReduceAction576___action};
40958 val_t variable[18];
40959 void **closurevariable = NULL;
40960 trace.prev = tracehead; tracehead = &trace;
40961 trace.file = LOCATE_parser;
40962 variable[0] = self;
40963 variable[1] = param0;
40964 variable[3] = NIT_NULL /*null*/;
40965 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
40966 variable[4] = variable[5];
40967 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
40968 variable[5] = variable[6];
40969 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
40970 variable[6] = variable[7];
40971 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
40972 variable[7] = variable[8];
40973 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
40974 variable[8] = variable[9];
40975 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
40976 variable[9] = variable[10];
40977 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
40978 variable[10] = variable[11];
40979 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
40980 variable[11] = variable[12];
40981 variable[12] = variable[9] /*nodearraylist1*/;
40982 variable[13] = TAG_Bool(( variable[12] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
40983 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction576___action, LOCATE_parser, 24585); nit_exit(1);}
40984 variable[13] = variable[6] /*nodearraylist4*/;
40985 variable[14] = TAG_Bool(( variable[13] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
40986 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction576___action, LOCATE_parser, 24587); nit_exit(1);}
40987 variable[14] = variable[5] /*nodearraylist5*/;
40988 variable[15] = TAG_Bool(( variable[14] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
40989 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction576___action, LOCATE_parser, 24589); nit_exit(1);}
40990 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[14] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[14] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[14] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[14] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
40991 if (UNTAG_Bool(variable[15])) { /*if*/
40992 variable[15] = ((array___AbstractArray___is_empty_t)CALL( variable[10] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[10] /*listnode5*/) /*AbstractArray::is_empty*/;
40993 if (UNTAG_Bool(variable[15])) { /*if*/
40994 variable[10] = variable[14] /*listnode4*/ /*listnode5=*/;
40995 } else { /*if*/
40996 ((abstract_collection___IndexedCollection___append_t)CALL( variable[10] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[10] /*listnode5*/, variable[14] /*listnode4*/) /*IndexedCollection::append*/;
40997 }
40998 }
40999 variable[15] = variable[4] /*nodearraylist6*/;
41000 variable[16] = TAG_Bool(( variable[15] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
41001 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction576___action, LOCATE_parser, 24598); nit_exit(1);}
41002 variable[16] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*listnode6*/ == NIT_NULL /*null*/) || (( variable[15] /*listnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[15] /*listnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*listnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[15] /*listnode6*/,COLOR_kernel___Object_____eqeq))( variable[15] /*listnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
41003 if (UNTAG_Bool(variable[16])) { /*if*/
41004 variable[16] = ((array___AbstractArray___is_empty_t)CALL( variable[11] /*listnode7*/,COLOR_abstract_collection___Collection___is_empty))( variable[11] /*listnode7*/) /*AbstractArray::is_empty*/;
41005 if (UNTAG_Bool(variable[16])) { /*if*/
41006 variable[11] = variable[15] /*listnode6*/ /*listnode7=*/;
41007 } else { /*if*/
41008 ((abstract_collection___IndexedCollection___append_t)CALL( variable[11] /*listnode7*/,COLOR_abstract_collection___IndexedCollection___append))( variable[11] /*listnode7*/, variable[15] /*listnode6*/) /*IndexedCollection::append*/;
41009 }
41010 }
41011 variable[17] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[12] /*pexprnode2*/, variable[13] /*tidnode3*/, variable[10] /*listnode5*/, variable[11] /*listnode7*/); /*new ACallExpr*/
41012 variable[16] = variable[17];
41013 variable[3] = variable[16] /*pexprnode1*/ /*node_list=*/;
41014 variable[17] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(72)) /*Parser::go_to*/;
41015 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
41016 return_label1184: while(false);
41017 tracehead = trace.prev;
41018 return;
41019 }
41020 void parser___ReduceAction576___init(val_t self, int* init_table) {
41021 struct trace_t trace = {NULL, NULL, 24615, LOCATE_parser___ReduceAction576___init};
41022 val_t variable[2];
41023 void **closurevariable = NULL;
41024 trace.prev = tracehead; tracehead = &trace;
41025 trace.file = LOCATE_parser;
41026 variable[0] = self;
41027 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction576].i]) return;
41028 return_label1185: while(false);
41029 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction576].i] = 1;
41030 tracehead = trace.prev;
41031 return;
41032 }
41033 void parser___ReduceAction577___action(val_t self, val_t param0) {
41034 struct trace_t trace = {NULL, NULL, 24619, LOCATE_parser___ReduceAction577___action};
41035 val_t variable[15];
41036 void **closurevariable = NULL;
41037 trace.prev = tracehead; tracehead = &trace;
41038 trace.file = LOCATE_parser;
41039 variable[0] = self;
41040 variable[1] = param0;
41041 variable[3] = NIT_NULL /*null*/;
41042 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41043 variable[4] = variable[5];
41044 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41045 variable[5] = variable[6];
41046 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41047 variable[6] = variable[7];
41048 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
41049 variable[7] = variable[8];
41050 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
41051 variable[8] = variable[9];
41052 variable[10] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
41053 variable[9] = variable[10];
41054 variable[10] = variable[6] /*nodearraylist1*/;
41055 variable[11] = TAG_Bool(( variable[10] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
41056 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction577___action, LOCATE_parser, 24630); nit_exit(1);}
41057 variable[11] = variable[5] /*nodearraylist2*/;
41058 variable[12] = TAG_Bool(( variable[11] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
41059 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction577___action, LOCATE_parser, 24632); nit_exit(1);}
41060 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[11] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
41061 if (UNTAG_Bool(variable[12])) { /*if*/
41062 variable[12] = ((array___AbstractArray___is_empty_t)CALL( variable[7] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[7] /*listnode5*/) /*AbstractArray::is_empty*/;
41063 if (UNTAG_Bool(variable[12])) { /*if*/
41064 variable[7] = variable[11] /*listnode4*/ /*listnode5=*/;
41065 } else { /*if*/
41066 ((abstract_collection___IndexedCollection___append_t)CALL( variable[7] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[7] /*listnode5*/, variable[11] /*listnode4*/) /*IndexedCollection::append*/;
41067 }
41068 }
41069 variable[12] = variable[4] /*nodearraylist3*/;
41070 variable[13] = TAG_Bool(( variable[12] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
41071 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction577___action, LOCATE_parser, 24641); nit_exit(1);}
41072 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode6*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode6*/,COLOR_kernel___Object_____eqeq))( variable[12] /*listnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
41073 if (UNTAG_Bool(variable[13])) { /*if*/
41074 variable[13] = ((array___AbstractArray___is_empty_t)CALL( variable[8] /*listnode7*/,COLOR_abstract_collection___Collection___is_empty))( variable[8] /*listnode7*/) /*AbstractArray::is_empty*/;
41075 if (UNTAG_Bool(variable[13])) { /*if*/
41076 variable[8] = variable[12] /*listnode6*/ /*listnode7=*/;
41077 } else { /*if*/
41078 ((abstract_collection___IndexedCollection___append_t)CALL( variable[8] /*listnode7*/,COLOR_abstract_collection___IndexedCollection___append))( variable[8] /*listnode7*/, variable[12] /*listnode6*/) /*IndexedCollection::append*/;
41079 }
41080 }
41081 variable[14] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[9] /*pexprnode2*/, variable[10] /*tidnode3*/, variable[7] /*listnode5*/, variable[8] /*listnode7*/); /*new ACallExpr*/
41082 variable[13] = variable[14];
41083 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
41084 variable[14] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(72)) /*Parser::go_to*/;
41085 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
41086 return_label1186: while(false);
41087 tracehead = trace.prev;
41088 return;
41089 }
41090 void parser___ReduceAction577___init(val_t self, int* init_table) {
41091 struct trace_t trace = {NULL, NULL, 24658, LOCATE_parser___ReduceAction577___init};
41092 val_t variable[2];
41093 void **closurevariable = NULL;
41094 trace.prev = tracehead; tracehead = &trace;
41095 trace.file = LOCATE_parser;
41096 variable[0] = self;
41097 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction577].i]) return;
41098 return_label1187: while(false);
41099 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction577].i] = 1;
41100 tracehead = trace.prev;
41101 return;
41102 }
41103 void parser___ReduceAction578___action(val_t self, val_t param0) {
41104 struct trace_t trace = {NULL, NULL, 24662, LOCATE_parser___ReduceAction578___action};
41105 val_t variable[7];
41106 void **closurevariable = NULL;
41107 trace.prev = tracehead; tracehead = &trace;
41108 trace.file = LOCATE_parser;
41109 variable[0] = self;
41110 variable[1] = param0;
41111 variable[3] = NIT_NULL /*null*/;
41112 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41113 variable[4] = variable[5];
41114 variable[5] = variable[4] /*nodearraylist1*/;
41115 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41116 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction578___action, LOCATE_parser, 24667); nit_exit(1);}
41117 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
41118 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(73)) /*Parser::go_to*/;
41119 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
41120 return_label1188: while(false);
41121 tracehead = trace.prev;
41122 return;
41123 }
41124 void parser___ReduceAction578___init(val_t self, int* init_table) {
41125 struct trace_t trace = {NULL, NULL, 24671, LOCATE_parser___ReduceAction578___init};
41126 val_t variable[2];
41127 void **closurevariable = NULL;
41128 trace.prev = tracehead; tracehead = &trace;
41129 trace.file = LOCATE_parser;
41130 variable[0] = self;
41131 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction578].i]) return;
41132 return_label1189: while(false);
41133 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction578].i] = 1;
41134 tracehead = trace.prev;
41135 return;
41136 }
41137 void parser___ReduceAction579___action(val_t self, val_t param0) {
41138 struct trace_t trace = {NULL, NULL, 24675, LOCATE_parser___ReduceAction579___action};
41139 val_t variable[23];
41140 void **closurevariable = NULL;
41141 trace.prev = tracehead; tracehead = &trace;
41142 trace.file = LOCATE_parser;
41143 variable[0] = self;
41144 variable[1] = param0;
41145 variable[3] = NIT_NULL /*null*/;
41146 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41147 variable[4] = variable[5];
41148 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41149 variable[5] = variable[6];
41150 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41151 variable[6] = variable[7];
41152 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41153 variable[7] = variable[8];
41154 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41155 variable[8] = variable[9];
41156 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41157 variable[9] = variable[10];
41158 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41159 variable[10] = variable[11];
41160 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41161 variable[11] = variable[12];
41162 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41163 variable[12] = variable[13];
41164 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41165 variable[13] = variable[14];
41166 variable[15] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41167 variable[14] = variable[15];
41168 variable[15] = variable[14] /*nodearraylist1*/;
41169 variable[16] = TAG_Bool(( variable[15] /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
41170 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction579___action, LOCATE_parser, 24690); nit_exit(1);}
41171 variable[16] = variable[12] /*nodearraylist3*/;
41172 variable[17] = TAG_Bool(( variable[16] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[16] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41173 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction579___action, LOCATE_parser, 24692); nit_exit(1);}
41174 variable[17] = variable[10] /*nodearraylist5*/;
41175 variable[18] = TAG_Bool(( variable[17] /*tkwthennode4*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwthennode4*/, COLOR_TKwthen, ID_TKwthen)) /*cast TKwthen*/;
41176 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction579___action, LOCATE_parser, 24694); nit_exit(1);}
41177 variable[18] = variable[8] /*nodearraylist7*/;
41178 variable[19] = TAG_Bool(( variable[18] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[18] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41179 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction579___action, LOCATE_parser, 24696); nit_exit(1);}
41180 variable[19] = variable[6] /*nodearraylist9*/;
41181 variable[20] = TAG_Bool(( variable[19] /*tkwelsenode6*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwelsenode6*/, COLOR_TKwelse, ID_TKwelse)) /*cast TKwelse*/;
41182 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction579___action, LOCATE_parser, 24698); nit_exit(1);}
41183 variable[20] = variable[4] /*nodearraylist11*/;
41184 variable[21] = TAG_Bool(( variable[20] /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable[20] /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41185 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction579___action, LOCATE_parser, 24700); nit_exit(1);}
41186 variable[22] = NEW_AIfexprExpr_parser_prod___AIfexprExpr___init_aifexprexpr( variable[15] /*tkwifnode2*/, variable[16] /*pexprnode3*/, variable[17] /*tkwthennode4*/, variable[18] /*pexprnode5*/, variable[19] /*tkwelsenode6*/, variable[20] /*pexprnode7*/); /*new AIfexprExpr*/
41187 variable[21] = variable[22];
41188 variable[3] = variable[21] /*pexprnode1*/ /*node_list=*/;
41189 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(73)) /*Parser::go_to*/;
41190 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
41191 return_label1190: while(false);
41192 tracehead = trace.prev;
41193 return;
41194 }
41195 void parser___ReduceAction579___init(val_t self, int* init_table) {
41196 struct trace_t trace = {NULL, NULL, 24712, LOCATE_parser___ReduceAction579___init};
41197 val_t variable[2];
41198 void **closurevariable = NULL;
41199 trace.prev = tracehead; tracehead = &trace;
41200 trace.file = LOCATE_parser;
41201 variable[0] = self;
41202 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction579].i]) return;
41203 return_label1191: while(false);
41204 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction579].i] = 1;
41205 tracehead = trace.prev;
41206 return;
41207 }
41208 void parser___ReduceAction580___action(val_t self, val_t param0) {
41209 struct trace_t trace = {NULL, NULL, 24716, LOCATE_parser___ReduceAction580___action};
41210 val_t variable[7];
41211 void **closurevariable = NULL;
41212 trace.prev = tracehead; tracehead = &trace;
41213 trace.file = LOCATE_parser;
41214 variable[0] = self;
41215 variable[1] = param0;
41216 variable[3] = NIT_NULL /*null*/;
41217 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41218 variable[4] = variable[5];
41219 variable[5] = variable[4] /*nodearraylist1*/;
41220 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41221 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction580___action, LOCATE_parser, 24721); nit_exit(1);}
41222 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
41223 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(74)) /*Parser::go_to*/;
41224 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
41225 return_label1192: while(false);
41226 tracehead = trace.prev;
41227 return;
41228 }
41229 void parser___ReduceAction580___init(val_t self, int* init_table) {
41230 struct trace_t trace = {NULL, NULL, 24725, LOCATE_parser___ReduceAction580___init};
41231 val_t variable[2];
41232 void **closurevariable = NULL;
41233 trace.prev = tracehead; tracehead = &trace;
41234 trace.file = LOCATE_parser;
41235 variable[0] = self;
41236 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction580].i]) return;
41237 return_label1193: while(false);
41238 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction580].i] = 1;
41239 tracehead = trace.prev;
41240 return;
41241 }
41242 void parser___ReduceAction581___action(val_t self, val_t param0) {
41243 struct trace_t trace = {NULL, NULL, 24729, LOCATE_parser___ReduceAction581___action};
41244 val_t variable[12];
41245 void **closurevariable = NULL;
41246 trace.prev = tracehead; tracehead = &trace;
41247 trace.file = LOCATE_parser;
41248 variable[0] = self;
41249 variable[1] = param0;
41250 variable[3] = NIT_NULL /*null*/;
41251 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41252 variable[4] = variable[5];
41253 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41254 variable[5] = variable[6];
41255 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41256 variable[6] = variable[7];
41257 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41258 variable[7] = variable[8];
41259 variable[8] = variable[7] /*nodearraylist1*/;
41260 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41261 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction581___action, LOCATE_parser, 24737); nit_exit(1);}
41262 variable[9] = variable[4] /*nodearraylist4*/;
41263 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41264 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction581___action, LOCATE_parser, 24739); nit_exit(1);}
41265 variable[11] = NEW_AOrExpr_parser_prod___AOrExpr___init_aorexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AOrExpr*/
41266 variable[10] = variable[11];
41267 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
41268 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(74)) /*Parser::go_to*/;
41269 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
41270 return_label1194: while(false);
41271 tracehead = trace.prev;
41272 return;
41273 }
41274 void parser___ReduceAction581___init(val_t self, int* init_table) {
41275 struct trace_t trace = {NULL, NULL, 24747, LOCATE_parser___ReduceAction581___init};
41276 val_t variable[2];
41277 void **closurevariable = NULL;
41278 trace.prev = tracehead; tracehead = &trace;
41279 trace.file = LOCATE_parser;
41280 variable[0] = self;
41281 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction581].i]) return;
41282 return_label1195: while(false);
41283 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction581].i] = 1;
41284 tracehead = trace.prev;
41285 return;
41286 }
41287 void parser___ReduceAction582___action(val_t self, val_t param0) {
41288 struct trace_t trace = {NULL, NULL, 24751, LOCATE_parser___ReduceAction582___action};
41289 val_t variable[12];
41290 void **closurevariable = NULL;
41291 trace.prev = tracehead; tracehead = &trace;
41292 trace.file = LOCATE_parser;
41293 variable[0] = self;
41294 variable[1] = param0;
41295 variable[3] = NIT_NULL /*null*/;
41296 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41297 variable[4] = variable[5];
41298 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41299 variable[5] = variable[6];
41300 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41301 variable[6] = variable[7];
41302 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41303 variable[7] = variable[8];
41304 variable[8] = variable[7] /*nodearraylist1*/;
41305 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41306 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction582___action, LOCATE_parser, 24759); nit_exit(1);}
41307 variable[9] = variable[4] /*nodearraylist4*/;
41308 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41309 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction582___action, LOCATE_parser, 24761); nit_exit(1);}
41310 variable[11] = NEW_AAndExpr_parser_prod___AAndExpr___init_aandexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AAndExpr*/
41311 variable[10] = variable[11];
41312 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
41313 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(74)) /*Parser::go_to*/;
41314 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
41315 return_label1196: while(false);
41316 tracehead = trace.prev;
41317 return;
41318 }
41319 void parser___ReduceAction582___init(val_t self, int* init_table) {
41320 struct trace_t trace = {NULL, NULL, 24769, LOCATE_parser___ReduceAction582___init};
41321 val_t variable[2];
41322 void **closurevariable = NULL;
41323 trace.prev = tracehead; tracehead = &trace;
41324 trace.file = LOCATE_parser;
41325 variable[0] = self;
41326 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction582].i]) return;
41327 return_label1197: while(false);
41328 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction582].i] = 1;
41329 tracehead = trace.prev;
41330 return;
41331 }
41332 void parser___ReduceAction583___action(val_t self, val_t param0) {
41333 struct trace_t trace = {NULL, NULL, 24773, LOCATE_parser___ReduceAction583___action};
41334 val_t variable[7];
41335 void **closurevariable = NULL;
41336 trace.prev = tracehead; tracehead = &trace;
41337 trace.file = LOCATE_parser;
41338 variable[0] = self;
41339 variable[1] = param0;
41340 variable[3] = NIT_NULL /*null*/;
41341 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41342 variable[4] = variable[5];
41343 variable[5] = variable[4] /*nodearraylist1*/;
41344 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41345 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction583___action, LOCATE_parser, 24778); nit_exit(1);}
41346 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
41347 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(75)) /*Parser::go_to*/;
41348 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
41349 return_label1198: while(false);
41350 tracehead = trace.prev;
41351 return;
41352 }
41353 void parser___ReduceAction583___init(val_t self, int* init_table) {
41354 struct trace_t trace = {NULL, NULL, 24782, LOCATE_parser___ReduceAction583___init};
41355 val_t variable[2];
41356 void **closurevariable = NULL;
41357 trace.prev = tracehead; tracehead = &trace;
41358 trace.file = LOCATE_parser;
41359 variable[0] = self;
41360 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction583].i]) return;
41361 return_label1199: while(false);
41362 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction583].i] = 1;
41363 tracehead = trace.prev;
41364 return;
41365 }
41366 void parser___ReduceAction584___action(val_t self, val_t param0) {
41367 struct trace_t trace = {NULL, NULL, 24786, LOCATE_parser___ReduceAction584___action};
41368 val_t variable[11];
41369 void **closurevariable = NULL;
41370 trace.prev = tracehead; tracehead = &trace;
41371 trace.file = LOCATE_parser;
41372 variable[0] = self;
41373 variable[1] = param0;
41374 variable[3] = NIT_NULL /*null*/;
41375 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41376 variable[4] = variable[5];
41377 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41378 variable[5] = variable[6];
41379 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41380 variable[6] = variable[7];
41381 variable[7] = variable[6] /*nodearraylist1*/;
41382 variable[8] = TAG_Bool(( variable[7] /*tkwnotnode2*/==NIT_NULL) || VAL_ISA( variable[7] /*tkwnotnode2*/, COLOR_TKwnot, ID_TKwnot)) /*cast TKwnot*/;
41383 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction584___action, LOCATE_parser, 24793); nit_exit(1);}
41384 variable[8] = variable[4] /*nodearraylist3*/;
41385 variable[9] = TAG_Bool(( variable[8] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41386 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction584___action, LOCATE_parser, 24795); nit_exit(1);}
41387 variable[10] = NEW_ANotExpr_parser_prod___ANotExpr___init_anotexpr( variable[7] /*tkwnotnode2*/, variable[8] /*pexprnode3*/); /*new ANotExpr*/
41388 variable[9] = variable[10];
41389 variable[3] = variable[9] /*pexprnode1*/ /*node_list=*/;
41390 variable[10] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(75)) /*Parser::go_to*/;
41391 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
41392 return_label1200: while(false);
41393 tracehead = trace.prev;
41394 return;
41395 }
41396 void parser___ReduceAction584___init(val_t self, int* init_table) {
41397 struct trace_t trace = {NULL, NULL, 24803, LOCATE_parser___ReduceAction584___init};
41398 val_t variable[2];
41399 void **closurevariable = NULL;
41400 trace.prev = tracehead; tracehead = &trace;
41401 trace.file = LOCATE_parser;
41402 variable[0] = self;
41403 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction584].i]) return;
41404 return_label1201: while(false);
41405 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction584].i] = 1;
41406 tracehead = trace.prev;
41407 return;
41408 }
41409 void parser___ReduceAction585___action(val_t self, val_t param0) {
41410 struct trace_t trace = {NULL, NULL, 24807, LOCATE_parser___ReduceAction585___action};
41411 val_t variable[7];
41412 void **closurevariable = NULL;
41413 trace.prev = tracehead; tracehead = &trace;
41414 trace.file = LOCATE_parser;
41415 variable[0] = self;
41416 variable[1] = param0;
41417 variable[3] = NIT_NULL /*null*/;
41418 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41419 variable[4] = variable[5];
41420 variable[5] = variable[4] /*nodearraylist1*/;
41421 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41422 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction585___action, LOCATE_parser, 24812); nit_exit(1);}
41423 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
41424 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(76)) /*Parser::go_to*/;
41425 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
41426 return_label1202: while(false);
41427 tracehead = trace.prev;
41428 return;
41429 }
41430 void parser___ReduceAction585___init(val_t self, int* init_table) {
41431 struct trace_t trace = {NULL, NULL, 24816, LOCATE_parser___ReduceAction585___init};
41432 val_t variable[2];
41433 void **closurevariable = NULL;
41434 trace.prev = tracehead; tracehead = &trace;
41435 trace.file = LOCATE_parser;
41436 variable[0] = self;
41437 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction585].i]) return;
41438 return_label1203: while(false);
41439 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction585].i] = 1;
41440 tracehead = trace.prev;
41441 return;
41442 }
41443 void parser___ReduceAction586___action(val_t self, val_t param0) {
41444 struct trace_t trace = {NULL, NULL, 24820, LOCATE_parser___ReduceAction586___action};
41445 val_t variable[12];
41446 void **closurevariable = NULL;
41447 trace.prev = tracehead; tracehead = &trace;
41448 trace.file = LOCATE_parser;
41449 variable[0] = self;
41450 variable[1] = param0;
41451 variable[3] = NIT_NULL /*null*/;
41452 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41453 variable[4] = variable[5];
41454 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41455 variable[5] = variable[6];
41456 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41457 variable[6] = variable[7];
41458 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41459 variable[7] = variable[8];
41460 variable[8] = variable[7] /*nodearraylist1*/;
41461 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41462 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction586___action, LOCATE_parser, 24828); nit_exit(1);}
41463 variable[9] = variable[4] /*nodearraylist4*/;
41464 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41465 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction586___action, LOCATE_parser, 24830); nit_exit(1);}
41466 variable[11] = NEW_AEqExpr_parser_prod___AEqExpr___init_aeqexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AEqExpr*/
41467 variable[10] = variable[11];
41468 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
41469 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(76)) /*Parser::go_to*/;
41470 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
41471 return_label1204: while(false);
41472 tracehead = trace.prev;
41473 return;
41474 }
41475 void parser___ReduceAction586___init(val_t self, int* init_table) {
41476 struct trace_t trace = {NULL, NULL, 24838, LOCATE_parser___ReduceAction586___init};
41477 val_t variable[2];
41478 void **closurevariable = NULL;
41479 trace.prev = tracehead; tracehead = &trace;
41480 trace.file = LOCATE_parser;
41481 variable[0] = self;
41482 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction586].i]) return;
41483 return_label1205: while(false);
41484 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction586].i] = 1;
41485 tracehead = trace.prev;
41486 return;
41487 }
41488 void parser___ReduceAction587___action(val_t self, val_t param0) {
41489 struct trace_t trace = {NULL, NULL, 24842, LOCATE_parser___ReduceAction587___action};
41490 val_t variable[12];
41491 void **closurevariable = NULL;
41492 trace.prev = tracehead; tracehead = &trace;
41493 trace.file = LOCATE_parser;
41494 variable[0] = self;
41495 variable[1] = param0;
41496 variable[3] = NIT_NULL /*null*/;
41497 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41498 variable[4] = variable[5];
41499 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41500 variable[5] = variable[6];
41501 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41502 variable[6] = variable[7];
41503 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41504 variable[7] = variable[8];
41505 variable[8] = variable[7] /*nodearraylist1*/;
41506 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41507 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction587___action, LOCATE_parser, 24850); nit_exit(1);}
41508 variable[9] = variable[4] /*nodearraylist4*/;
41509 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41510 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction587___action, LOCATE_parser, 24852); nit_exit(1);}
41511 variable[11] = NEW_AEeExpr_parser_prod___AEeExpr___init_aeeexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AEeExpr*/
41512 variable[10] = variable[11];
41513 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
41514 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(76)) /*Parser::go_to*/;
41515 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
41516 return_label1206: while(false);
41517 tracehead = trace.prev;
41518 return;
41519 }
41520 void parser___ReduceAction587___init(val_t self, int* init_table) {
41521 struct trace_t trace = {NULL, NULL, 24860, LOCATE_parser___ReduceAction587___init};
41522 val_t variable[2];
41523 void **closurevariable = NULL;
41524 trace.prev = tracehead; tracehead = &trace;
41525 trace.file = LOCATE_parser;
41526 variable[0] = self;
41527 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction587].i]) return;
41528 return_label1207: while(false);
41529 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction587].i] = 1;
41530 tracehead = trace.prev;
41531 return;
41532 }
41533 void parser___ReduceAction588___action(val_t self, val_t param0) {
41534 struct trace_t trace = {NULL, NULL, 24864, LOCATE_parser___ReduceAction588___action};
41535 val_t variable[12];
41536 void **closurevariable = NULL;
41537 trace.prev = tracehead; tracehead = &trace;
41538 trace.file = LOCATE_parser;
41539 variable[0] = self;
41540 variable[1] = param0;
41541 variable[3] = NIT_NULL /*null*/;
41542 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41543 variable[4] = variable[5];
41544 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41545 variable[5] = variable[6];
41546 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41547 variable[6] = variable[7];
41548 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41549 variable[7] = variable[8];
41550 variable[8] = variable[7] /*nodearraylist1*/;
41551 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41552 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction588___action, LOCATE_parser, 24872); nit_exit(1);}
41553 variable[9] = variable[4] /*nodearraylist4*/;
41554 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41555 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction588___action, LOCATE_parser, 24874); nit_exit(1);}
41556 variable[11] = NEW_ANeExpr_parser_prod___ANeExpr___init_aneexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new ANeExpr*/
41557 variable[10] = variable[11];
41558 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
41559 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(76)) /*Parser::go_to*/;
41560 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
41561 return_label1208: while(false);
41562 tracehead = trace.prev;
41563 return;
41564 }
41565 void parser___ReduceAction588___init(val_t self, int* init_table) {
41566 struct trace_t trace = {NULL, NULL, 24882, LOCATE_parser___ReduceAction588___init};
41567 val_t variable[2];
41568 void **closurevariable = NULL;
41569 trace.prev = tracehead; tracehead = &trace;
41570 trace.file = LOCATE_parser;
41571 variable[0] = self;
41572 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction588].i]) return;
41573 return_label1209: while(false);
41574 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction588].i] = 1;
41575 tracehead = trace.prev;
41576 return;
41577 }
41578 void parser___ReduceAction589___action(val_t self, val_t param0) {
41579 struct trace_t trace = {NULL, NULL, 24886, LOCATE_parser___ReduceAction589___action};
41580 val_t variable[12];
41581 void **closurevariable = NULL;
41582 trace.prev = tracehead; tracehead = &trace;
41583 trace.file = LOCATE_parser;
41584 variable[0] = self;
41585 variable[1] = param0;
41586 variable[3] = NIT_NULL /*null*/;
41587 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41588 variable[4] = variable[5];
41589 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41590 variable[5] = variable[6];
41591 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41592 variable[6] = variable[7];
41593 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41594 variable[7] = variable[8];
41595 variable[8] = variable[7] /*nodearraylist1*/;
41596 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41597 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction589___action, LOCATE_parser, 24894); nit_exit(1);}
41598 variable[9] = variable[4] /*nodearraylist4*/;
41599 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41600 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction589___action, LOCATE_parser, 24896); nit_exit(1);}
41601 variable[11] = NEW_ALtExpr_parser_prod___ALtExpr___init_altexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new ALtExpr*/
41602 variable[10] = variable[11];
41603 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
41604 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(76)) /*Parser::go_to*/;
41605 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
41606 return_label1210: while(false);
41607 tracehead = trace.prev;
41608 return;
41609 }
41610 void parser___ReduceAction589___init(val_t self, int* init_table) {
41611 struct trace_t trace = {NULL, NULL, 24904, LOCATE_parser___ReduceAction589___init};
41612 val_t variable[2];
41613 void **closurevariable = NULL;
41614 trace.prev = tracehead; tracehead = &trace;
41615 trace.file = LOCATE_parser;
41616 variable[0] = self;
41617 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction589].i]) return;
41618 return_label1211: while(false);
41619 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction589].i] = 1;
41620 tracehead = trace.prev;
41621 return;
41622 }
41623 void parser___ReduceAction590___action(val_t self, val_t param0) {
41624 struct trace_t trace = {NULL, NULL, 24908, LOCATE_parser___ReduceAction590___action};
41625 val_t variable[12];
41626 void **closurevariable = NULL;
41627 trace.prev = tracehead; tracehead = &trace;
41628 trace.file = LOCATE_parser;
41629 variable[0] = self;
41630 variable[1] = param0;
41631 variable[3] = NIT_NULL /*null*/;
41632 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41633 variable[4] = variable[5];
41634 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41635 variable[5] = variable[6];
41636 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41637 variable[6] = variable[7];
41638 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41639 variable[7] = variable[8];
41640 variable[8] = variable[7] /*nodearraylist1*/;
41641 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41642 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction590___action, LOCATE_parser, 24916); nit_exit(1);}
41643 variable[9] = variable[4] /*nodearraylist4*/;
41644 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41645 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction590___action, LOCATE_parser, 24918); nit_exit(1);}
41646 variable[11] = NEW_ALeExpr_parser_prod___ALeExpr___init_aleexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new ALeExpr*/
41647 variable[10] = variable[11];
41648 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
41649 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(76)) /*Parser::go_to*/;
41650 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
41651 return_label1212: while(false);
41652 tracehead = trace.prev;
41653 return;
41654 }
41655 void parser___ReduceAction590___init(val_t self, int* init_table) {
41656 struct trace_t trace = {NULL, NULL, 24926, LOCATE_parser___ReduceAction590___init};
41657 val_t variable[2];
41658 void **closurevariable = NULL;
41659 trace.prev = tracehead; tracehead = &trace;
41660 trace.file = LOCATE_parser;
41661 variable[0] = self;
41662 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction590].i]) return;
41663 return_label1213: while(false);
41664 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction590].i] = 1;
41665 tracehead = trace.prev;
41666 return;
41667 }
41668 void parser___ReduceAction591___action(val_t self, val_t param0) {
41669 struct trace_t trace = {NULL, NULL, 24930, LOCATE_parser___ReduceAction591___action};
41670 val_t variable[12];
41671 void **closurevariable = NULL;
41672 trace.prev = tracehead; tracehead = &trace;
41673 trace.file = LOCATE_parser;
41674 variable[0] = self;
41675 variable[1] = param0;
41676 variable[3] = NIT_NULL /*null*/;
41677 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41678 variable[4] = variable[5];
41679 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41680 variable[5] = variable[6];
41681 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41682 variable[6] = variable[7];
41683 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41684 variable[7] = variable[8];
41685 variable[8] = variable[7] /*nodearraylist1*/;
41686 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41687 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction591___action, LOCATE_parser, 24938); nit_exit(1);}
41688 variable[9] = variable[4] /*nodearraylist4*/;
41689 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41690 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction591___action, LOCATE_parser, 24940); nit_exit(1);}
41691 variable[11] = NEW_AGtExpr_parser_prod___AGtExpr___init_agtexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AGtExpr*/
41692 variable[10] = variable[11];
41693 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
41694 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(76)) /*Parser::go_to*/;
41695 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
41696 return_label1214: while(false);
41697 tracehead = trace.prev;
41698 return;
41699 }
41700 void parser___ReduceAction591___init(val_t self, int* init_table) {
41701 struct trace_t trace = {NULL, NULL, 24948, LOCATE_parser___ReduceAction591___init};
41702 val_t variable[2];
41703 void **closurevariable = NULL;
41704 trace.prev = tracehead; tracehead = &trace;
41705 trace.file = LOCATE_parser;
41706 variable[0] = self;
41707 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction591].i]) return;
41708 return_label1215: while(false);
41709 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction591].i] = 1;
41710 tracehead = trace.prev;
41711 return;
41712 }
41713 void parser___ReduceAction592___action(val_t self, val_t param0) {
41714 struct trace_t trace = {NULL, NULL, 24952, LOCATE_parser___ReduceAction592___action};
41715 val_t variable[12];
41716 void **closurevariable = NULL;
41717 trace.prev = tracehead; tracehead = &trace;
41718 trace.file = LOCATE_parser;
41719 variable[0] = self;
41720 variable[1] = param0;
41721 variable[3] = NIT_NULL /*null*/;
41722 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41723 variable[4] = variable[5];
41724 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41725 variable[5] = variable[6];
41726 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41727 variable[6] = variable[7];
41728 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41729 variable[7] = variable[8];
41730 variable[8] = variable[7] /*nodearraylist1*/;
41731 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41732 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction592___action, LOCATE_parser, 24960); nit_exit(1);}
41733 variable[9] = variable[4] /*nodearraylist4*/;
41734 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41735 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction592___action, LOCATE_parser, 24962); nit_exit(1);}
41736 variable[11] = NEW_AGeExpr_parser_prod___AGeExpr___init_ageexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AGeExpr*/
41737 variable[10] = variable[11];
41738 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
41739 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(76)) /*Parser::go_to*/;
41740 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
41741 return_label1216: while(false);
41742 tracehead = trace.prev;
41743 return;
41744 }
41745 void parser___ReduceAction592___init(val_t self, int* init_table) {
41746 struct trace_t trace = {NULL, NULL, 24970, LOCATE_parser___ReduceAction592___init};
41747 val_t variable[2];
41748 void **closurevariable = NULL;
41749 trace.prev = tracehead; tracehead = &trace;
41750 trace.file = LOCATE_parser;
41751 variable[0] = self;
41752 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction592].i]) return;
41753 return_label1217: while(false);
41754 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction592].i] = 1;
41755 tracehead = trace.prev;
41756 return;
41757 }
41758 void parser___ReduceAction593___action(val_t self, val_t param0) {
41759 struct trace_t trace = {NULL, NULL, 24974, LOCATE_parser___ReduceAction593___action};
41760 val_t variable[12];
41761 void **closurevariable = NULL;
41762 trace.prev = tracehead; tracehead = &trace;
41763 trace.file = LOCATE_parser;
41764 variable[0] = self;
41765 variable[1] = param0;
41766 variable[3] = NIT_NULL /*null*/;
41767 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41768 variable[4] = variable[5];
41769 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41770 variable[5] = variable[6];
41771 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41772 variable[6] = variable[7];
41773 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41774 variable[7] = variable[8];
41775 variable[8] = variable[7] /*nodearraylist1*/;
41776 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41777 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction593___action, LOCATE_parser, 24982); nit_exit(1);}
41778 variable[9] = variable[4] /*nodearraylist4*/;
41779 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41780 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction593___action, LOCATE_parser, 24984); nit_exit(1);}
41781 variable[11] = NEW_AStarshipExpr_parser_prod___AStarshipExpr___init_astarshipexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AStarshipExpr*/
41782 variable[10] = variable[11];
41783 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
41784 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(76)) /*Parser::go_to*/;
41785 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
41786 return_label1218: while(false);
41787 tracehead = trace.prev;
41788 return;
41789 }
41790 void parser___ReduceAction593___init(val_t self, int* init_table) {
41791 struct trace_t trace = {NULL, NULL, 24992, LOCATE_parser___ReduceAction593___init};
41792 val_t variable[2];
41793 void **closurevariable = NULL;
41794 trace.prev = tracehead; tracehead = &trace;
41795 trace.file = LOCATE_parser;
41796 variable[0] = self;
41797 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction593].i]) return;
41798 return_label1219: while(false);
41799 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction593].i] = 1;
41800 tracehead = trace.prev;
41801 return;
41802 }
41803 void parser___ReduceAction594___action(val_t self, val_t param0) {
41804 struct trace_t trace = {NULL, NULL, 24996, LOCATE_parser___ReduceAction594___action};
41805 val_t variable[12];
41806 void **closurevariable = NULL;
41807 trace.prev = tracehead; tracehead = &trace;
41808 trace.file = LOCATE_parser;
41809 variable[0] = self;
41810 variable[1] = param0;
41811 variable[3] = NIT_NULL /*null*/;
41812 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41813 variable[4] = variable[5];
41814 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41815 variable[5] = variable[6];
41816 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41817 variable[6] = variable[7];
41818 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41819 variable[7] = variable[8];
41820 variable[8] = variable[7] /*nodearraylist1*/;
41821 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41822 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction594___action, LOCATE_parser, 25004); nit_exit(1);}
41823 variable[9] = variable[4] /*nodearraylist4*/;
41824 variable[10] = TAG_Bool(( variable[9] /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable[9] /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
41825 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction594___action, LOCATE_parser, 25006); nit_exit(1);}
41826 variable[11] = NEW_AIsaExpr_parser_prod___AIsaExpr___init_aisaexpr( variable[8] /*pexprnode2*/, variable[9] /*ptypenode3*/); /*new AIsaExpr*/
41827 variable[10] = variable[11];
41828 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
41829 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(76)) /*Parser::go_to*/;
41830 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
41831 return_label1220: while(false);
41832 tracehead = trace.prev;
41833 return;
41834 }
41835 void parser___ReduceAction594___init(val_t self, int* init_table) {
41836 struct trace_t trace = {NULL, NULL, 25014, LOCATE_parser___ReduceAction594___init};
41837 val_t variable[2];
41838 void **closurevariable = NULL;
41839 trace.prev = tracehead; tracehead = &trace;
41840 trace.file = LOCATE_parser;
41841 variable[0] = self;
41842 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction594].i]) return;
41843 return_label1221: while(false);
41844 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction594].i] = 1;
41845 tracehead = trace.prev;
41846 return;
41847 }
41848 void parser___ReduceAction595___action(val_t self, val_t param0) {
41849 struct trace_t trace = {NULL, NULL, 25018, LOCATE_parser___ReduceAction595___action};
41850 val_t variable[7];
41851 void **closurevariable = NULL;
41852 trace.prev = tracehead; tracehead = &trace;
41853 trace.file = LOCATE_parser;
41854 variable[0] = self;
41855 variable[1] = param0;
41856 variable[3] = NIT_NULL /*null*/;
41857 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41858 variable[4] = variable[5];
41859 variable[5] = variable[4] /*nodearraylist1*/;
41860 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41861 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction595___action, LOCATE_parser, 25023); nit_exit(1);}
41862 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
41863 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(77)) /*Parser::go_to*/;
41864 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
41865 return_label1222: while(false);
41866 tracehead = trace.prev;
41867 return;
41868 }
41869 void parser___ReduceAction595___init(val_t self, int* init_table) {
41870 struct trace_t trace = {NULL, NULL, 25027, LOCATE_parser___ReduceAction595___init};
41871 val_t variable[2];
41872 void **closurevariable = NULL;
41873 trace.prev = tracehead; tracehead = &trace;
41874 trace.file = LOCATE_parser;
41875 variable[0] = self;
41876 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction595].i]) return;
41877 return_label1223: while(false);
41878 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction595].i] = 1;
41879 tracehead = trace.prev;
41880 return;
41881 }
41882 void parser___ReduceAction596___action(val_t self, val_t param0) {
41883 struct trace_t trace = {NULL, NULL, 25031, LOCATE_parser___ReduceAction596___action};
41884 val_t variable[12];
41885 void **closurevariable = NULL;
41886 trace.prev = tracehead; tracehead = &trace;
41887 trace.file = LOCATE_parser;
41888 variable[0] = self;
41889 variable[1] = param0;
41890 variable[3] = NIT_NULL /*null*/;
41891 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41892 variable[4] = variable[5];
41893 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41894 variable[5] = variable[6];
41895 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41896 variable[6] = variable[7];
41897 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41898 variable[7] = variable[8];
41899 variable[8] = variable[7] /*nodearraylist1*/;
41900 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41901 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction596___action, LOCATE_parser, 25039); nit_exit(1);}
41902 variable[9] = variable[4] /*nodearraylist4*/;
41903 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41904 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction596___action, LOCATE_parser, 25041); nit_exit(1);}
41905 variable[11] = NEW_APlusExpr_parser_prod___APlusExpr___init_aplusexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new APlusExpr*/
41906 variable[10] = variable[11];
41907 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
41908 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(77)) /*Parser::go_to*/;
41909 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
41910 return_label1224: while(false);
41911 tracehead = trace.prev;
41912 return;
41913 }
41914 void parser___ReduceAction596___init(val_t self, int* init_table) {
41915 struct trace_t trace = {NULL, NULL, 25049, LOCATE_parser___ReduceAction596___init};
41916 val_t variable[2];
41917 void **closurevariable = NULL;
41918 trace.prev = tracehead; tracehead = &trace;
41919 trace.file = LOCATE_parser;
41920 variable[0] = self;
41921 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction596].i]) return;
41922 return_label1225: while(false);
41923 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction596].i] = 1;
41924 tracehead = trace.prev;
41925 return;
41926 }
41927 void parser___ReduceAction597___action(val_t self, val_t param0) {
41928 struct trace_t trace = {NULL, NULL, 25053, LOCATE_parser___ReduceAction597___action};
41929 val_t variable[12];
41930 void **closurevariable = NULL;
41931 trace.prev = tracehead; tracehead = &trace;
41932 trace.file = LOCATE_parser;
41933 variable[0] = self;
41934 variable[1] = param0;
41935 variable[3] = NIT_NULL /*null*/;
41936 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41937 variable[4] = variable[5];
41938 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41939 variable[5] = variable[6];
41940 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41941 variable[6] = variable[7];
41942 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41943 variable[7] = variable[8];
41944 variable[8] = variable[7] /*nodearraylist1*/;
41945 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41946 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction597___action, LOCATE_parser, 25061); nit_exit(1);}
41947 variable[9] = variable[4] /*nodearraylist4*/;
41948 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41949 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction597___action, LOCATE_parser, 25063); nit_exit(1);}
41950 variable[11] = NEW_AMinusExpr_parser_prod___AMinusExpr___init_aminusexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AMinusExpr*/
41951 variable[10] = variable[11];
41952 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
41953 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(77)) /*Parser::go_to*/;
41954 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
41955 return_label1226: while(false);
41956 tracehead = trace.prev;
41957 return;
41958 }
41959 void parser___ReduceAction597___init(val_t self, int* init_table) {
41960 struct trace_t trace = {NULL, NULL, 25071, LOCATE_parser___ReduceAction597___init};
41961 val_t variable[2];
41962 void **closurevariable = NULL;
41963 trace.prev = tracehead; tracehead = &trace;
41964 trace.file = LOCATE_parser;
41965 variable[0] = self;
41966 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction597].i]) return;
41967 return_label1227: while(false);
41968 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction597].i] = 1;
41969 tracehead = trace.prev;
41970 return;
41971 }
41972 void parser___ReduceAction598___action(val_t self, val_t param0) {
41973 struct trace_t trace = {NULL, NULL, 25075, LOCATE_parser___ReduceAction598___action};
41974 val_t variable[7];
41975 void **closurevariable = NULL;
41976 trace.prev = tracehead; tracehead = &trace;
41977 trace.file = LOCATE_parser;
41978 variable[0] = self;
41979 variable[1] = param0;
41980 variable[3] = NIT_NULL /*null*/;
41981 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
41982 variable[4] = variable[5];
41983 variable[5] = variable[4] /*nodearraylist1*/;
41984 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41985 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction598___action, LOCATE_parser, 25080); nit_exit(1);}
41986 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
41987 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(78)) /*Parser::go_to*/;
41988 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
41989 return_label1228: while(false);
41990 tracehead = trace.prev;
41991 return;
41992 }
41993 void parser___ReduceAction598___init(val_t self, int* init_table) {
41994 struct trace_t trace = {NULL, NULL, 25084, LOCATE_parser___ReduceAction598___init};
41995 val_t variable[2];
41996 void **closurevariable = NULL;
41997 trace.prev = tracehead; tracehead = &trace;
41998 trace.file = LOCATE_parser;
41999 variable[0] = self;
42000 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction598].i]) return;
42001 return_label1229: while(false);
42002 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction598].i] = 1;
42003 tracehead = trace.prev;
42004 return;
42005 }
42006 void parser___ReduceAction599___action(val_t self, val_t param0) {
42007 struct trace_t trace = {NULL, NULL, 25088, LOCATE_parser___ReduceAction599___action};
42008 val_t variable[12];
42009 void **closurevariable = NULL;
42010 trace.prev = tracehead; tracehead = &trace;
42011 trace.file = LOCATE_parser;
42012 variable[0] = self;
42013 variable[1] = param0;
42014 variable[3] = NIT_NULL /*null*/;
42015 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
42016 variable[4] = variable[5];
42017 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
42018 variable[5] = variable[6];
42019 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
42020 variable[6] = variable[7];
42021 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
42022 variable[7] = variable[8];
42023 variable[8] = variable[7] /*nodearraylist1*/;
42024 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
42025 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction599___action, LOCATE_parser, 25096); nit_exit(1);}
42026 variable[9] = variable[4] /*nodearraylist4*/;
42027 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
42028 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction599___action, LOCATE_parser, 25098); nit_exit(1);}
42029 variable[11] = NEW_AStarExpr_parser_prod___AStarExpr___init_astarexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AStarExpr*/
42030 variable[10] = variable[11];
42031 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
42032 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(78)) /*Parser::go_to*/;
42033 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
42034 return_label1230: while(false);
42035 tracehead = trace.prev;
42036 return;
42037 }
42038 void parser___ReduceAction599___init(val_t self, int* init_table) {
42039 struct trace_t trace = {NULL, NULL, 25106, LOCATE_parser___ReduceAction599___init};
42040 val_t variable[2];
42041 void **closurevariable = NULL;
42042 trace.prev = tracehead; tracehead = &trace;
42043 trace.file = LOCATE_parser;
42044 variable[0] = self;
42045 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction599].i]) return;
42046 return_label1231: while(false);
42047 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction599].i] = 1;
42048 tracehead = trace.prev;
42049 return;
42050 }
42051 void parser___ReduceAction600___action(val_t self, val_t param0) {
42052 struct trace_t trace = {NULL, NULL, 25110, LOCATE_parser___ReduceAction600___action};
42053 val_t variable[12];
42054 void **closurevariable = NULL;
42055 trace.prev = tracehead; tracehead = &trace;
42056 trace.file = LOCATE_parser;
42057 variable[0] = self;
42058 variable[1] = param0;
42059 variable[3] = NIT_NULL /*null*/;
42060 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
42061 variable[4] = variable[5];
42062 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
42063 variable[5] = variable[6];
42064 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
42065 variable[6] = variable[7];
42066 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
42067 variable[7] = variable[8];
42068 variable[8] = variable[7] /*nodearraylist1*/;
42069 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
42070 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction600___action, LOCATE_parser, 25118); nit_exit(1);}
42071 variable[9] = variable[4] /*nodearraylist4*/;
42072 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
42073 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction600___action, LOCATE_parser, 25120); nit_exit(1);}
42074 variable[11] = NEW_ASlashExpr_parser_prod___ASlashExpr___init_aslashexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new ASlashExpr*/
42075 variable[10] = variable[11];
42076 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
42077 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(78)) /*Parser::go_to*/;
42078 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
42079 return_label1232: while(false);
42080 tracehead = trace.prev;
42081 return;
42082 }
42083 void parser___ReduceAction600___init(val_t self, int* init_table) {
42084 struct trace_t trace = {NULL, NULL, 25128, LOCATE_parser___ReduceAction600___init};
42085 val_t variable[2];
42086 void **closurevariable = NULL;
42087 trace.prev = tracehead; tracehead = &trace;
42088 trace.file = LOCATE_parser;
42089 variable[0] = self;
42090 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction600].i]) return;
42091 return_label1233: while(false);
42092 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction600].i] = 1;
42093 tracehead = trace.prev;
42094 return;
42095 }
42096 void parser___ReduceAction601___action(val_t self, val_t param0) {
42097 struct trace_t trace = {NULL, NULL, 25132, LOCATE_parser___ReduceAction601___action};
42098 val_t variable[12];
42099 void **closurevariable = NULL;
42100 trace.prev = tracehead; tracehead = &trace;
42101 trace.file = LOCATE_parser;
42102 variable[0] = self;
42103 variable[1] = param0;
42104 variable[3] = NIT_NULL /*null*/;
42105 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
42106 variable[4] = variable[5];
42107 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
42108 variable[5] = variable[6];
42109 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
42110 variable[6] = variable[7];
42111 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
42112 variable[7] = variable[8];
42113 variable[8] = variable[7] /*nodearraylist1*/;
42114 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
42115 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction601___action, LOCATE_parser, 25140); nit_exit(1);}
42116 variable[9] = variable[4] /*nodearraylist4*/;
42117 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
42118 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction601___action, LOCATE_parser, 25142); nit_exit(1);}
42119 variable[11] = NEW_APercentExpr_parser_prod___APercentExpr___init_apercentexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new APercentExpr*/
42120 variable[10] = variable[11];
42121 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
42122 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(78)) /*Parser::go_to*/;
42123 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
42124 return_label1234: while(false);
42125 tracehead = trace.prev;
42126 return;
42127 }
42128 void parser___ReduceAction601___init(val_t self, int* init_table) {
42129 struct trace_t trace = {NULL, NULL, 25150, LOCATE_parser___ReduceAction601___init};
42130 val_t variable[2];
42131 void **closurevariable = NULL;
42132 trace.prev = tracehead; tracehead = &trace;
42133 trace.file = LOCATE_parser;
42134 variable[0] = self;
42135 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction601].i]) return;
42136 return_label1235: while(false);
42137 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction601].i] = 1;
42138 tracehead = trace.prev;
42139 return;
42140 }
42141 void parser___ReduceAction602___action(val_t self, val_t param0) {
42142 struct trace_t trace = {NULL, NULL, 25154, LOCATE_parser___ReduceAction602___action};
42143 val_t variable[7];
42144 void **closurevariable = NULL;
42145 trace.prev = tracehead; tracehead = &trace;
42146 trace.file = LOCATE_parser;
42147 variable[0] = self;
42148 variable[1] = param0;
42149 variable[3] = NIT_NULL /*null*/;
42150 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
42151 variable[4] = variable[5];
42152 variable[5] = variable[4] /*nodearraylist1*/;
42153 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
42154 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction602___action, LOCATE_parser, 25159); nit_exit(1);}
42155 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
42156 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(79)) /*Parser::go_to*/;
42157 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
42158 return_label1236: while(false);
42159 tracehead = trace.prev;
42160 return;
42161 }
42162 void parser___ReduceAction602___init(val_t self, int* init_table) {
42163 struct trace_t trace = {NULL, NULL, 25163, LOCATE_parser___ReduceAction602___init};
42164 val_t variable[2];
42165 void **closurevariable = NULL;
42166 trace.prev = tracehead; tracehead = &trace;
42167 trace.file = LOCATE_parser;
42168 variable[0] = self;
42169 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction602].i]) return;
42170 return_label1237: while(false);
42171 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction602].i] = 1;
42172 tracehead = trace.prev;
42173 return;
42174 }
42175 void parser___ReduceAction603___action(val_t self, val_t param0) {
42176 struct trace_t trace = {NULL, NULL, 25167, LOCATE_parser___ReduceAction603___action};
42177 val_t variable[11];
42178 void **closurevariable = NULL;
42179 trace.prev = tracehead; tracehead = &trace;
42180 trace.file = LOCATE_parser;
42181 variable[0] = self;
42182 variable[1] = param0;
42183 variable[3] = NIT_NULL /*null*/;
42184 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
42185 variable[4] = variable[5];
42186 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
42187 variable[5] = variable[6];
42188 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
42189 variable[6] = variable[7];
42190 variable[7] = variable[6] /*nodearraylist1*/;
42191 variable[8] = TAG_Bool(( variable[7] /*tminusnode2*/==NIT_NULL) || VAL_ISA( variable[7] /*tminusnode2*/, COLOR_TMinus, ID_TMinus)) /*cast TMinus*/;
42192 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction603___action, LOCATE_parser, 25174); nit_exit(1);}
42193 variable[8] = variable[4] /*nodearraylist3*/;
42194 variable[9] = TAG_Bool(( variable[8] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
42195 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction603___action, LOCATE_parser, 25176); nit_exit(1);}
42196 variable[10] = NEW_AUminusExpr_parser_prod___AUminusExpr___init_auminusexpr( variable[7] /*tminusnode2*/, variable[8] /*pexprnode3*/); /*new AUminusExpr*/
42197 variable[9] = variable[10];
42198 variable[3] = variable[9] /*pexprnode1*/ /*node_list=*/;
42199 variable[10] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(79)) /*Parser::go_to*/;
42200 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
42201 return_label1238: while(false);
42202 tracehead = trace.prev;
42203 return;
42204 }
42205 void parser___ReduceAction603___init(val_t self, int* init_table) {
42206 struct trace_t trace = {NULL, NULL, 25184, LOCATE_parser___ReduceAction603___init};
42207 val_t variable[2];
42208 void **closurevariable = NULL;
42209 trace.prev = tracehead; tracehead = &trace;
42210 trace.file = LOCATE_parser;
42211 variable[0] = self;
42212 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction603].i]) return;
42213 return_label1239: while(false);
42214 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction603].i] = 1;
42215 tracehead = trace.prev;
42216 return;
42217 }
42218 void parser___ReduceAction604___action(val_t self, val_t param0) {
42219 struct trace_t trace = {NULL, NULL, 25188, LOCATE_parser___ReduceAction604___action};
42220 val_t variable[11];
42221 void **closurevariable = NULL;
42222 trace.prev = tracehead; tracehead = &trace;
42223 trace.file = LOCATE_parser;
42224 variable[0] = self;
42225 variable[1] = param0;
42226 variable[3] = NIT_NULL /*null*/;
42227 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
42228 variable[4] = variable[5];
42229 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
42230 variable[5] = variable[6];
42231 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
42232 variable[6] = variable[7];
42233 variable[7] = variable[6] /*nodearraylist1*/;
42234 variable[8] = TAG_Bool(( variable[7] /*tkwoncenode2*/==NIT_NULL) || VAL_ISA( variable[7] /*tkwoncenode2*/, COLOR_TKwonce, ID_TKwonce)) /*cast TKwonce*/;
42235 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction604___action, LOCATE_parser, 25195); nit_exit(1);}
42236 variable[8] = variable[4] /*nodearraylist3*/;
42237 variable[9] = TAG_Bool(( variable[8] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
42238 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction604___action, LOCATE_parser, 25197); nit_exit(1);}
42239 variable[10] = NEW_AOnceExpr_parser_prod___AOnceExpr___init_aonceexpr( variable[7] /*tkwoncenode2*/, variable[8] /*pexprnode3*/); /*new AOnceExpr*/
42240 variable[9] = variable[10];
42241 variable[3] = variable[9] /*pexprnode1*/ /*node_list=*/;
42242 variable[10] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(79)) /*Parser::go_to*/;
42243 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
42244 return_label1240: while(false);
42245 tracehead = trace.prev;
42246 return;
42247 }
42248 void parser___ReduceAction604___init(val_t self, int* init_table) {
42249 struct trace_t trace = {NULL, NULL, 25205, LOCATE_parser___ReduceAction604___init};
42250 val_t variable[2];
42251 void **closurevariable = NULL;
42252 trace.prev = tracehead; tracehead = &trace;
42253 trace.file = LOCATE_parser;
42254 variable[0] = self;
42255 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction604].i]) return;
42256 return_label1241: while(false);
42257 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction604].i] = 1;
42258 tracehead = trace.prev;
42259 return;
42260 }
42261 void parser___ReduceAction605___action(val_t self, val_t param0) {
42262 struct trace_t trace = {NULL, NULL, 25209, LOCATE_parser___ReduceAction605___action};
42263 val_t variable[7];
42264 void **closurevariable = NULL;
42265 trace.prev = tracehead; tracehead = &trace;
42266 trace.file = LOCATE_parser;
42267 variable[0] = self;
42268 variable[1] = param0;
42269 variable[3] = NIT_NULL /*null*/;
42270 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
42271 variable[4] = variable[5];
42272 variable[5] = variable[4] /*nodearraylist1*/;
42273 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
42274 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction605___action, LOCATE_parser, 25214); nit_exit(1);}
42275 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
42276 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(80)) /*Parser::go_to*/;
42277 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
42278 return_label1242: while(false);
42279 tracehead = trace.prev;
42280 return;
42281 }
42282 void parser___ReduceAction605___init(val_t self, int* init_table) {
42283 struct trace_t trace = {NULL, NULL, 25218, LOCATE_parser___ReduceAction605___init};
42284 val_t variable[2];
42285 void **closurevariable = NULL;
42286 trace.prev = tracehead; tracehead = &trace;
42287 trace.file = LOCATE_parser;
42288 variable[0] = self;
42289 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction605].i]) return;
42290 return_label1243: while(false);
42291 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction605].i] = 1;
42292 tracehead = trace.prev;
42293 return;
42294 }
42295 void parser___ReduceAction606___action(val_t self, val_t param0) {
42296 struct trace_t trace = {NULL, NULL, 25222, LOCATE_parser___ReduceAction606___action};
42297 val_t variable[14];
42298 void **closurevariable = NULL;
42299 trace.prev = tracehead; tracehead = &trace;
42300 trace.file = LOCATE_parser;
42301 variable[0] = self;
42302 variable[1] = param0;
42303 variable[3] = NIT_NULL /*null*/;
42304 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
42305 variable[4] = variable[5];
42306 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
42307 variable[5] = variable[6];
42308 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
42309 variable[6] = variable[7];
42310 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
42311 variable[7] = variable[8];
42312 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
42313 variable[8] = variable[9];
42314 variable[9] = variable[7] /*nodearraylist1*/;
42315 variable[10] = TAG_Bool(( variable[9] /*tkwnewnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwnewnode2*/, COLOR_TKwnew, ID_TKwnew)) /*cast TKwnew*/;
42316 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction606___action, LOCATE_parser, 25231); nit_exit(1);}
42317 variable[10] = variable[5] /*nodearraylist3*/;
42318 variable[11] = TAG_Bool(( variable[10] /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable[10] /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
42319 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction606___action, LOCATE_parser, 25233); nit_exit(1);}
42320 variable[11] = variable[4] /*nodearraylist4*/;
42321 variable[12] = TAG_Bool(( variable[11] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
42322 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction606___action, LOCATE_parser, 25235); nit_exit(1);}
42323 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode5*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable[11] /*listnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
42324 if (UNTAG_Bool(variable[12])) { /*if*/
42325 variable[12] = ((array___AbstractArray___is_empty_t)CALL( variable[8] /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable[8] /*listnode6*/) /*AbstractArray::is_empty*/;
42326 if (UNTAG_Bool(variable[12])) { /*if*/
42327 variable[8] = variable[11] /*listnode5*/ /*listnode6=*/;
42328 } else { /*if*/
42329 ((abstract_collection___IndexedCollection___append_t)CALL( variable[8] /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable[8] /*listnode6*/, variable[11] /*listnode5*/) /*IndexedCollection::append*/;
42330 }
42331 }
42332 variable[13] = NEW_ANewExpr_parser_prod___ANewExpr___init_anewexpr( variable[9] /*tkwnewnode2*/, variable[10] /*ptypenode3*/, NIT_NULL /*null*/, variable[8] /*listnode6*/); /*new ANewExpr*/
42333 variable[12] = variable[13];
42334 variable[3] = variable[12] /*pexprnode1*/ /*node_list=*/;
42335 variable[13] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(80)) /*Parser::go_to*/;
42336 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
42337 return_label1244: while(false);
42338 tracehead = trace.prev;
42339 return;
42340 }
42341 void parser___ReduceAction606___init(val_t self, int* init_table) {
42342 struct trace_t trace = {NULL, NULL, 25252, LOCATE_parser___ReduceAction606___init};
42343 val_t variable[2];
42344 void **closurevariable = NULL;
42345 trace.prev = tracehead; tracehead = &trace;
42346 trace.file = LOCATE_parser;
42347 variable[0] = self;
42348 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction606].i]) return;
42349 return_label1245: while(false);
42350 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction606].i] = 1;
42351 tracehead = trace.prev;
42352 return;
42353 }
42354 void parser___ReduceAction607___action(val_t self, val_t param0) {
42355 struct trace_t trace = {NULL, NULL, 25256, LOCATE_parser___ReduceAction607___action};
42356 val_t variable[12];
42357 void **closurevariable = NULL;
42358 trace.prev = tracehead; tracehead = &trace;
42359 trace.file = LOCATE_parser;
42360 variable[0] = self;
42361 variable[1] = param0;
42362 variable[3] = NIT_NULL /*null*/;
42363 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
42364 variable[4] = variable[5];
42365 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
42366 variable[5] = variable[6];
42367 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
42368 variable[6] = variable[7];
42369 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
42370 variable[7] = variable[8];
42371 variable[8] = variable[7] /*nodearraylist1*/;
42372 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
42373 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction607___action, LOCATE_parser, 25264); nit_exit(1);}
42374 variable[9] = variable[4] /*nodearraylist4*/;
42375 variable[10] = TAG_Bool(( variable[9] /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
42376 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction607___action, LOCATE_parser, 25266); nit_exit(1);}
42377 variable[11] = NEW_AAttrExpr_parser_prod___AAttrExpr___init_aattrexpr( variable[8] /*pexprnode2*/, variable[9] /*tattridnode3*/); /*new AAttrExpr*/
42378 variable[10] = variable[11];
42379 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
42380 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(81)) /*Parser::go_to*/;
42381 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
42382 return_label1246: while(false);
42383 tracehead = trace.prev;
42384 return;
42385 }
42386 void parser___ReduceAction607___init(val_t self, int* init_table) {
42387 struct trace_t trace = {NULL, NULL, 25274, LOCATE_parser___ReduceAction607___init};
42388 val_t variable[2];
42389 void **closurevariable = NULL;
42390 trace.prev = tracehead; tracehead = &trace;
42391 trace.file = LOCATE_parser;
42392 variable[0] = self;
42393 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction607].i]) return;
42394 return_label1247: while(false);
42395 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction607].i] = 1;
42396 tracehead = trace.prev;
42397 return;
42398 }
42399 void parser___ReduceAction608___action(val_t self, val_t param0) {
42400 struct trace_t trace = {NULL, NULL, 25278, LOCATE_parser___ReduceAction608___action};
42401 val_t variable[9];
42402 void **closurevariable = NULL;
42403 trace.prev = tracehead; tracehead = &trace;
42404 trace.file = LOCATE_parser;
42405 variable[0] = self;
42406 variable[1] = param0;
42407 variable[3] = NIT_NULL /*null*/;
42408 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
42409 variable[4] = variable[5];
42410 variable[6] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
42411 variable[5] = variable[6];
42412 variable[6] = variable[4] /*nodearraylist1*/;
42413 variable[7] = TAG_Bool(( variable[6] /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable[6] /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
42414 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction608___action, LOCATE_parser, 25285); nit_exit(1);}
42415 variable[8] = NEW_AAttrExpr_parser_prod___AAttrExpr___init_aattrexpr( variable[5] /*pexprnode2*/, variable[6] /*tattridnode3*/); /*new AAttrExpr*/
42416 variable[7] = variable[8];
42417 variable[3] = variable[7] /*pexprnode1*/ /*node_list=*/;
42418 variable[8] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(81)) /*Parser::go_to*/;
42419 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
42420 return_label1248: while(false);
42421 tracehead = trace.prev;
42422 return;
42423 }
42424 void parser___ReduceAction608___init(val_t self, int* init_table) {
42425 struct trace_t trace = {NULL, NULL, 25293, LOCATE_parser___ReduceAction608___init};
42426 val_t variable[2];
42427 void **closurevariable = NULL;
42428 trace.prev = tracehead; tracehead = &trace;
42429 trace.file = LOCATE_parser;
42430 variable[0] = self;
42431 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction608].i]) return;
42432 return_label1249: while(false);
42433 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction608].i] = 1;
42434 tracehead = trace.prev;
42435 return;
42436 }
42437 void parser___ReduceAction609___action(val_t self, val_t param0) {
42438 struct trace_t trace = {NULL, NULL, 25297, LOCATE_parser___ReduceAction609___action};
42439 val_t variable[16];
42440 void **closurevariable = NULL;
42441 trace.prev = tracehead; tracehead = &trace;
42442 trace.file = LOCATE_parser;
42443 variable[0] = self;
42444 variable[1] = param0;
42445 variable[3] = NIT_NULL /*null*/;
42446 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
42447 variable[4] = variable[5];
42448 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
42449 variable[5] = variable[6];
42450 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
42451 variable[6] = variable[7];
42452 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
42453 variable[7] = variable[8];
42454 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
42455 variable[8] = variable[9];
42456 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
42457 variable[9] = variable[10];
42458 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
42459 variable[10] = variable[11];
42460 variable[11] = variable[8] /*nodearraylist1*/;
42461 variable[12] = TAG_Bool(( variable[11] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
42462 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction609___action, LOCATE_parser, 25308); nit_exit(1);}
42463 variable[12] = variable[5] /*nodearraylist4*/;
42464 variable[13] = TAG_Bool(( variable[12] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[12] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
42465 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction609___action, LOCATE_parser, 25310); nit_exit(1);}
42466 variable[13] = variable[4] /*nodearraylist5*/;
42467 variable[14] = TAG_Bool(( variable[13] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[13] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
42468 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction609___action, LOCATE_parser, 25312); nit_exit(1);}
42469 variable[14] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[13] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[13] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[13] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[13] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[13] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[13] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
42470 if (UNTAG_Bool(variable[14])) { /*if*/
42471 variable[14] = ((array___AbstractArray___is_empty_t)CALL( variable[9] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[9] /*listnode5*/) /*AbstractArray::is_empty*/;
42472 if (UNTAG_Bool(variable[14])) { /*if*/
42473 variable[9] = variable[13] /*listnode4*/ /*listnode5=*/;
42474 } else { /*if*/
42475 ((abstract_collection___IndexedCollection___append_t)CALL( variable[9] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[9] /*listnode5*/, variable[13] /*listnode4*/) /*IndexedCollection::append*/;
42476 }
42477 }
42478 variable[15] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[11] /*pexprnode2*/, variable[12] /*tidnode3*/, variable[9] /*listnode5*/, variable[10] /*listnode6*/); /*new ACallExpr*/
42479 variable[14] = variable[15];
42480 variable[3] = variable[14] /*pexprnode1*/ /*node_list=*/;
42481 variable[15] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(81)) /*Parser::go_to*/;
42482 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
42483 return_label1250: while(false);
42484 tracehead = trace.prev;
42485 return;
42486 }
42487 void parser___ReduceAction609___init(val_t self, int* init_table) {
42488 struct trace_t trace = {NULL, NULL, 25329, LOCATE_parser___ReduceAction609___init};
42489 val_t variable[2];
42490 void **closurevariable = NULL;
42491 trace.prev = tracehead; tracehead = &trace;
42492 trace.file = LOCATE_parser;
42493 variable[0] = self;
42494 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction609].i]) return;
42495 return_label1251: while(false);
42496 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction609].i] = 1;
42497 tracehead = trace.prev;
42498 return;
42499 }
42500 void parser___ReduceAction610___action(val_t self, val_t param0) {
42501 struct trace_t trace = {NULL, NULL, 25333, LOCATE_parser___ReduceAction610___action};
42502 val_t variable[13];
42503 void **closurevariable = NULL;
42504 trace.prev = tracehead; tracehead = &trace;
42505 trace.file = LOCATE_parser;
42506 variable[0] = self;
42507 variable[1] = param0;
42508 variable[3] = NIT_NULL /*null*/;
42509 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
42510 variable[4] = variable[5];
42511 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
42512 variable[5] = variable[6];
42513 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
42514 variable[6] = variable[7];
42515 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
42516 variable[7] = variable[8];
42517 variable[9] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
42518 variable[8] = variable[9];
42519 variable[9] = variable[5] /*nodearraylist1*/;
42520 variable[10] = TAG_Bool(( variable[9] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
42521 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction610___action, LOCATE_parser, 25343); nit_exit(1);}
42522 variable[10] = variable[4] /*nodearraylist2*/;
42523 variable[11] = TAG_Bool(( variable[10] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
42524 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction610___action, LOCATE_parser, 25345); nit_exit(1);}
42525 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[10] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
42526 if (UNTAG_Bool(variable[11])) { /*if*/
42527 variable[11] = ((array___AbstractArray___is_empty_t)CALL( variable[6] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[6] /*listnode5*/) /*AbstractArray::is_empty*/;
42528 if (UNTAG_Bool(variable[11])) { /*if*/
42529 variable[6] = variable[10] /*listnode4*/ /*listnode5=*/;
42530 } else { /*if*/
42531 ((abstract_collection___IndexedCollection___append_t)CALL( variable[6] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[6] /*listnode5*/, variable[10] /*listnode4*/) /*IndexedCollection::append*/;
42532 }
42533 }
42534 variable[12] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[8] /*pexprnode2*/, variable[9] /*tidnode3*/, variable[6] /*listnode5*/, variable[7] /*listnode6*/); /*new ACallExpr*/
42535 variable[11] = variable[12];
42536 variable[3] = variable[11] /*pexprnode1*/ /*node_list=*/;
42537 variable[12] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(81)) /*Parser::go_to*/;
42538 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
42539 return_label1252: while(false);
42540 tracehead = trace.prev;
42541 return;
42542 }
42543 void parser___ReduceAction610___init(val_t self, int* init_table) {
42544 struct trace_t trace = {NULL, NULL, 25362, LOCATE_parser___ReduceAction610___init};
42545 val_t variable[2];
42546 void **closurevariable = NULL;
42547 trace.prev = tracehead; tracehead = &trace;
42548 trace.file = LOCATE_parser;
42549 variable[0] = self;
42550 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction610].i]) return;
42551 return_label1253: while(false);
42552 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction610].i] = 1;
42553 tracehead = trace.prev;
42554 return;
42555 }
42556 void parser___ReduceAction611___action(val_t self, val_t param0) {
42557 struct trace_t trace = {NULL, NULL, 25366, LOCATE_parser___ReduceAction611___action};
42558 val_t variable[11];
42559 void **closurevariable = NULL;
42560 trace.prev = tracehead; tracehead = &trace;
42561 trace.file = LOCATE_parser;
42562 variable[0] = self;
42563 variable[1] = param0;
42564 variable[3] = NIT_NULL /*null*/;
42565 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
42566 variable[4] = variable[5];
42567 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
42568 variable[5] = variable[6];
42569 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
42570 variable[6] = variable[7];
42571 variable[7] = variable[5] /*nodearraylist1*/;
42572 variable[8] = TAG_Bool(( variable[7] /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable[7] /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
42573 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction611___action, LOCATE_parser, 25373); nit_exit(1);}
42574 variable[8] = variable[4] /*nodearraylist2*/;
42575 variable[9] = TAG_Bool(( variable[8] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[8] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
42576 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction611___action, LOCATE_parser, 25375); nit_exit(1);}
42577 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[8] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[8] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[8] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[8] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
42578 if (UNTAG_Bool(variable[9])) { /*if*/
42579 variable[9] = ((array___AbstractArray___is_empty_t)CALL( variable[6] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[6] /*listnode5*/) /*AbstractArray::is_empty*/;
42580 if (UNTAG_Bool(variable[9])) { /*if*/
42581 variable[6] = variable[8] /*listnode4*/ /*listnode5=*/;
42582 } else { /*if*/
42583 ((abstract_collection___IndexedCollection___append_t)CALL( variable[6] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[6] /*listnode5*/, variable[8] /*listnode4*/) /*IndexedCollection::append*/;
42584 }
42585 }
42586 variable[10] = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr( NIT_NULL /*null*/, variable[7] /*tkwsupernode3*/, variable[6] /*listnode5*/); /*new ASuperExpr*/
42587 variable[9] = variable[10];
42588 variable[3] = variable[9] /*pexprnode1*/ /*node_list=*/;
42589 variable[10] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(81)) /*Parser::go_to*/;
42590 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
42591 return_label1254: while(false);
42592 tracehead = trace.prev;
42593 return;
42594 }
42595 void parser___ReduceAction611___init(val_t self, int* init_table) {
42596 struct trace_t trace = {NULL, NULL, 25391, LOCATE_parser___ReduceAction611___init};
42597 val_t variable[2];
42598 void **closurevariable = NULL;
42599 trace.prev = tracehead; tracehead = &trace;
42600 trace.file = LOCATE_parser;
42601 variable[0] = self;
42602 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction611].i]) return;
42603 return_label1255: while(false);
42604 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction611].i] = 1;
42605 tracehead = trace.prev;
42606 return;
42607 }
42608 void parser___ReduceAction612___action(val_t self, val_t param0) {
42609 struct trace_t trace = {NULL, NULL, 25395, LOCATE_parser___ReduceAction612___action};
42610 val_t variable[13];
42611 void **closurevariable = NULL;
42612 trace.prev = tracehead; tracehead = &trace;
42613 trace.file = LOCATE_parser;
42614 variable[0] = self;
42615 variable[1] = param0;
42616 variable[3] = NIT_NULL /*null*/;
42617 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
42618 variable[4] = variable[5];
42619 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
42620 variable[5] = variable[6];
42621 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
42622 variable[6] = variable[7];
42623 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
42624 variable[7] = variable[8];
42625 variable[8] = variable[6] /*nodearraylist1*/;
42626 variable[9] = TAG_Bool(( variable[8] /*pqualifiednode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pqualifiednode2*/, COLOR_PQualified, ID_PQualified)) /*cast PQualified*/;
42627 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction612___action, LOCATE_parser, 25403); nit_exit(1);}
42628 variable[9] = variable[5] /*nodearraylist2*/;
42629 variable[10] = TAG_Bool(( variable[9] /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
42630 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction612___action, LOCATE_parser, 25405); nit_exit(1);}
42631 variable[10] = variable[4] /*nodearraylist3*/;
42632 variable[11] = TAG_Bool(( variable[10] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
42633 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction612___action, LOCATE_parser, 25407); nit_exit(1);}
42634 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[10] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
42635 if (UNTAG_Bool(variable[11])) { /*if*/
42636 variable[11] = ((array___AbstractArray___is_empty_t)CALL( variable[7] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[7] /*listnode5*/) /*AbstractArray::is_empty*/;
42637 if (UNTAG_Bool(variable[11])) { /*if*/
42638 variable[7] = variable[10] /*listnode4*/ /*listnode5=*/;
42639 } else { /*if*/
42640 ((abstract_collection___IndexedCollection___append_t)CALL( variable[7] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[7] /*listnode5*/, variable[10] /*listnode4*/) /*IndexedCollection::append*/;
42641 }
42642 }
42643 variable[12] = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr( variable[8] /*pqualifiednode2*/, variable[9] /*tkwsupernode3*/, variable[7] /*listnode5*/); /*new ASuperExpr*/
42644 variable[11] = variable[12];
42645 variable[3] = variable[11] /*pexprnode1*/ /*node_list=*/;
42646 variable[12] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(81)) /*Parser::go_to*/;
42647 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
42648 return_label1256: while(false);
42649 tracehead = trace.prev;
42650 return;
42651 }
42652 void parser___ReduceAction612___init(val_t self, int* init_table) {
42653 struct trace_t trace = {NULL, NULL, 25423, LOCATE_parser___ReduceAction612___init};
42654 val_t variable[2];
42655 void **closurevariable = NULL;
42656 trace.prev = tracehead; tracehead = &trace;
42657 trace.file = LOCATE_parser;
42658 variable[0] = self;
42659 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction612].i]) return;
42660 return_label1257: while(false);
42661 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction612].i] = 1;
42662 tracehead = trace.prev;
42663 return;
42664 }
42665 void parser___ReduceAction613___action(val_t self, val_t param0) {
42666 struct trace_t trace = {NULL, NULL, 25427, LOCATE_parser___ReduceAction613___action};
42667 val_t variable[15];
42668 void **closurevariable = NULL;
42669 trace.prev = tracehead; tracehead = &trace;
42670 trace.file = LOCATE_parser;
42671 variable[0] = self;
42672 variable[1] = param0;
42673 variable[3] = NIT_NULL /*null*/;
42674 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
42675 variable[4] = variable[5];
42676 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
42677 variable[5] = variable[6];
42678 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
42679 variable[6] = variable[7];
42680 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
42681 variable[7] = variable[8];
42682 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
42683 variable[8] = variable[9];
42684 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
42685 variable[9] = variable[10];
42686 variable[10] = variable[8] /*nodearraylist1*/;
42687 variable[11] = TAG_Bool(( variable[10] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
42688 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction613___action, LOCATE_parser, 25437); nit_exit(1);}
42689 variable[11] = variable[5] /*nodearraylist4*/;
42690 variable[12] = TAG_Bool(( variable[11] /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
42691 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction613___action, LOCATE_parser, 25439); nit_exit(1);}
42692 variable[12] = variable[4] /*nodearraylist5*/;
42693 variable[13] = TAG_Bool(( variable[12] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
42694 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction613___action, LOCATE_parser, 25441); nit_exit(1);}
42695 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[12] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
42696 if (UNTAG_Bool(variable[13])) { /*if*/
42697 variable[13] = ((array___AbstractArray___is_empty_t)CALL( variable[9] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[9] /*listnode5*/) /*AbstractArray::is_empty*/;
42698 if (UNTAG_Bool(variable[13])) { /*if*/
42699 variable[9] = variable[12] /*listnode4*/ /*listnode5=*/;
42700 } else { /*if*/
42701 ((abstract_collection___IndexedCollection___append_t)CALL( variable[9] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[9] /*listnode5*/, variable[12] /*listnode4*/) /*IndexedCollection::append*/;
42702 }
42703 }
42704 variable[14] = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr( variable[10] /*pexprnode2*/, variable[11] /*tkwinitnode3*/, variable[9] /*listnode5*/); /*new AInitExpr*/
42705 variable[13] = variable[14];
42706 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
42707 variable[14] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(81)) /*Parser::go_to*/;
42708 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
42709 return_label1258: while(false);
42710 tracehead = trace.prev;
42711 return;
42712 }
42713 void parser___ReduceAction613___init(val_t self, int* init_table) {
42714 struct trace_t trace = {NULL, NULL, 25457, LOCATE_parser___ReduceAction613___init};
42715 val_t variable[2];
42716 void **closurevariable = NULL;
42717 trace.prev = tracehead; tracehead = &trace;
42718 trace.file = LOCATE_parser;
42719 variable[0] = self;
42720 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction613].i]) return;
42721 return_label1259: while(false);
42722 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction613].i] = 1;
42723 tracehead = trace.prev;
42724 return;
42725 }
42726 void parser___ReduceAction614___action(val_t self, val_t param0) {
42727 struct trace_t trace = {NULL, NULL, 25461, LOCATE_parser___ReduceAction614___action};
42728 val_t variable[12];
42729 void **closurevariable = NULL;
42730 trace.prev = tracehead; tracehead = &trace;
42731 trace.file = LOCATE_parser;
42732 variable[0] = self;
42733 variable[1] = param0;
42734 variable[3] = NIT_NULL /*null*/;
42735 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
42736 variable[4] = variable[5];
42737 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
42738 variable[5] = variable[6];
42739 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
42740 variable[6] = variable[7];
42741 variable[8] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
42742 variable[7] = variable[8];
42743 variable[8] = variable[5] /*nodearraylist1*/;
42744 variable[9] = TAG_Bool(( variable[8] /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
42745 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction614___action, LOCATE_parser, 25470); nit_exit(1);}
42746 variable[9] = variable[4] /*nodearraylist2*/;
42747 variable[10] = TAG_Bool(( variable[9] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[9] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
42748 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction614___action, LOCATE_parser, 25472); nit_exit(1);}
42749 variable[10] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[9] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[9] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[9] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[9] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[9] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[9] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
42750 if (UNTAG_Bool(variable[10])) { /*if*/
42751 variable[10] = ((array___AbstractArray___is_empty_t)CALL( variable[6] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[6] /*listnode5*/) /*AbstractArray::is_empty*/;
42752 if (UNTAG_Bool(variable[10])) { /*if*/
42753 variable[6] = variable[9] /*listnode4*/ /*listnode5=*/;
42754 } else { /*if*/
42755 ((abstract_collection___IndexedCollection___append_t)CALL( variable[6] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[6] /*listnode5*/, variable[9] /*listnode4*/) /*IndexedCollection::append*/;
42756 }
42757 }
42758 variable[11] = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr( variable[7] /*pexprnode2*/, variable[8] /*tkwinitnode3*/, variable[6] /*listnode5*/); /*new AInitExpr*/
42759 variable[10] = variable[11];
42760 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
42761 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(81)) /*Parser::go_to*/;
42762 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
42763 return_label1260: while(false);
42764 tracehead = trace.prev;
42765 return;
42766 }
42767 void parser___ReduceAction614___init(val_t self, int* init_table) {
42768 struct trace_t trace = {NULL, NULL, 25488, LOCATE_parser___ReduceAction614___init};
42769 val_t variable[2];
42770 void **closurevariable = NULL;
42771 trace.prev = tracehead; tracehead = &trace;
42772 trace.file = LOCATE_parser;
42773 variable[0] = self;
42774 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction614].i]) return;
42775 return_label1261: while(false);
42776 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction614].i] = 1;
42777 tracehead = trace.prev;
42778 return;
42779 }
42780 void parser___ReduceAction615___action(val_t self, val_t param0) {
42781 struct trace_t trace = {NULL, NULL, 25492, LOCATE_parser___ReduceAction615___action};
42782 val_t variable[18];
42783 void **closurevariable = NULL;
42784 trace.prev = tracehead; tracehead = &trace;
42785 trace.file = LOCATE_parser;
42786 variable[0] = self;
42787 variable[1] = param0;
42788 variable[3] = NIT_NULL /*null*/;
42789 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
42790 variable[4] = variable[5];
42791 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
42792 variable[5] = variable[6];
42793 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
42794 variable[6] = variable[7];
42795 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
42796 variable[7] = variable[8];
42797 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
42798 variable[8] = variable[9];
42799 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
42800 variable[9] = variable[10];
42801 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
42802 variable[10] = variable[11];
42803 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
42804 variable[11] = variable[12];
42805 variable[12] = variable[10] /*nodearraylist1*/;
42806 variable[13] = TAG_Bool(( variable[12] /*tkwnewnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwnewnode2*/, COLOR_TKwnew, ID_TKwnew)) /*cast TKwnew*/;
42807 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction615___action, LOCATE_parser, 25504); nit_exit(1);}
42808 variable[13] = variable[8] /*nodearraylist3*/;
42809 variable[14] = TAG_Bool(( variable[13] /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable[13] /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
42810 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction615___action, LOCATE_parser, 25506); nit_exit(1);}
42811 variable[14] = variable[5] /*nodearraylist6*/;
42812 variable[15] = TAG_Bool(( variable[14] /*tidnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*tidnode4*/, COLOR_TId, ID_TId)) /*cast TId*/;
42813 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction615___action, LOCATE_parser, 25508); nit_exit(1);}
42814 variable[15] = variable[4] /*nodearraylist7*/;
42815 variable[16] = TAG_Bool(( variable[15] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
42816 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction615___action, LOCATE_parser, 25510); nit_exit(1);}
42817 variable[16] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*listnode5*/ == NIT_NULL /*null*/) || (( variable[15] /*listnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[15] /*listnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*listnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[15] /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable[15] /*listnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
42818 if (UNTAG_Bool(variable[16])) { /*if*/
42819 variable[16] = ((array___AbstractArray___is_empty_t)CALL( variable[11] /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable[11] /*listnode6*/) /*AbstractArray::is_empty*/;
42820 if (UNTAG_Bool(variable[16])) { /*if*/
42821 variable[11] = variable[15] /*listnode5*/ /*listnode6=*/;
42822 } else { /*if*/
42823 ((abstract_collection___IndexedCollection___append_t)CALL( variable[11] /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable[11] /*listnode6*/, variable[15] /*listnode5*/) /*IndexedCollection::append*/;
42824 }
42825 }
42826 variable[17] = NEW_ANewExpr_parser_prod___ANewExpr___init_anewexpr( variable[12] /*tkwnewnode2*/, variable[13] /*ptypenode3*/, variable[14] /*tidnode4*/, variable[11] /*listnode6*/); /*new ANewExpr*/
42827 variable[16] = variable[17];
42828 variable[3] = variable[16] /*pexprnode1*/ /*node_list=*/;
42829 variable[17] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(81)) /*Parser::go_to*/;
42830 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
42831 return_label1262: while(false);
42832 tracehead = trace.prev;
42833 return;
42834 }
42835 void parser___ReduceAction615___init(val_t self, int* init_table) {
42836 struct trace_t trace = {NULL, NULL, 25527, LOCATE_parser___ReduceAction615___init};
42837 val_t variable[2];
42838 void **closurevariable = NULL;
42839 trace.prev = tracehead; tracehead = &trace;
42840 trace.file = LOCATE_parser;
42841 variable[0] = self;
42842 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction615].i]) return;
42843 return_label1263: while(false);
42844 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction615].i] = 1;
42845 tracehead = trace.prev;
42846 return;
42847 }
42848 void parser___ReduceAction616___action(val_t self, val_t param0) {
42849 struct trace_t trace = {NULL, NULL, 25531, LOCATE_parser___ReduceAction616___action};
42850 val_t variable[8];
42851 void **closurevariable = NULL;
42852 trace.prev = tracehead; tracehead = &trace;
42853 trace.file = LOCATE_parser;
42854 variable[0] = self;
42855 variable[1] = param0;
42856 variable[3] = NIT_NULL /*null*/;
42857 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
42858 variable[4] = variable[5];
42859 variable[5] = variable[4] /*nodearraylist1*/;
42860 variable[6] = TAG_Bool(( variable[5] /*tkwselfnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwselfnode2*/, COLOR_TKwself, ID_TKwself)) /*cast TKwself*/;
42861 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction616___action, LOCATE_parser, 25536); nit_exit(1);}
42862 variable[7] = NEW_ASelfExpr_parser_prod___ASelfExpr___init_aselfexpr( variable[5] /*tkwselfnode2*/); /*new ASelfExpr*/
42863 variable[6] = variable[7];
42864 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
42865 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(81)) /*Parser::go_to*/;
42866 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
42867 return_label1264: while(false);
42868 tracehead = trace.prev;
42869 return;
42870 }
42871 void parser___ReduceAction616___init(val_t self, int* init_table) {
42872 struct trace_t trace = {NULL, NULL, 25543, LOCATE_parser___ReduceAction616___init};
42873 val_t variable[2];
42874 void **closurevariable = NULL;
42875 trace.prev = tracehead; tracehead = &trace;
42876 trace.file = LOCATE_parser;
42877 variable[0] = self;
42878 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction616].i]) return;
42879 return_label1265: while(false);
42880 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction616].i] = 1;
42881 tracehead = trace.prev;
42882 return;
42883 }
42884 void parser___ReduceAction617___action(val_t self, val_t param0) {
42885 struct trace_t trace = {NULL, NULL, 25547, LOCATE_parser___ReduceAction617___action};
42886 val_t variable[8];
42887 void **closurevariable = NULL;
42888 trace.prev = tracehead; tracehead = &trace;
42889 trace.file = LOCATE_parser;
42890 variable[0] = self;
42891 variable[1] = param0;
42892 variable[3] = NIT_NULL /*null*/;
42893 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
42894 variable[4] = variable[5];
42895 variable[5] = variable[4] /*nodearraylist1*/;
42896 variable[6] = TAG_Bool(( variable[5] /*tkwtruenode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwtruenode2*/, COLOR_TKwtrue, ID_TKwtrue)) /*cast TKwtrue*/;
42897 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction617___action, LOCATE_parser, 25552); nit_exit(1);}
42898 variable[7] = NEW_ATrueExpr_parser_prod___ATrueExpr___init_atrueexpr( variable[5] /*tkwtruenode2*/); /*new ATrueExpr*/
42899 variable[6] = variable[7];
42900 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
42901 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(81)) /*Parser::go_to*/;
42902 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
42903 return_label1266: while(false);
42904 tracehead = trace.prev;
42905 return;
42906 }
42907 void parser___ReduceAction617___init(val_t self, int* init_table) {
42908 struct trace_t trace = {NULL, NULL, 25559, LOCATE_parser___ReduceAction617___init};
42909 val_t variable[2];
42910 void **closurevariable = NULL;
42911 trace.prev = tracehead; tracehead = &trace;
42912 trace.file = LOCATE_parser;
42913 variable[0] = self;
42914 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction617].i]) return;
42915 return_label1267: while(false);
42916 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction617].i] = 1;
42917 tracehead = trace.prev;
42918 return;
42919 }
42920 void parser___ReduceAction618___action(val_t self, val_t param0) {
42921 struct trace_t trace = {NULL, NULL, 25563, LOCATE_parser___ReduceAction618___action};
42922 val_t variable[8];
42923 void **closurevariable = NULL;
42924 trace.prev = tracehead; tracehead = &trace;
42925 trace.file = LOCATE_parser;
42926 variable[0] = self;
42927 variable[1] = param0;
42928 variable[3] = NIT_NULL /*null*/;
42929 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
42930 variable[4] = variable[5];
42931 variable[5] = variable[4] /*nodearraylist1*/;
42932 variable[6] = TAG_Bool(( variable[5] /*tkwfalsenode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwfalsenode2*/, COLOR_TKwfalse, ID_TKwfalse)) /*cast TKwfalse*/;
42933 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction618___action, LOCATE_parser, 25568); nit_exit(1);}
42934 variable[7] = NEW_AFalseExpr_parser_prod___AFalseExpr___init_afalseexpr( variable[5] /*tkwfalsenode2*/); /*new AFalseExpr*/
42935 variable[6] = variable[7];
42936 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
42937 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(81)) /*Parser::go_to*/;
42938 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
42939 return_label1268: while(false);
42940 tracehead = trace.prev;
42941 return;
42942 }
42943 void parser___ReduceAction618___init(val_t self, int* init_table) {
42944 struct trace_t trace = {NULL, NULL, 25575, LOCATE_parser___ReduceAction618___init};
42945 val_t variable[2];
42946 void **closurevariable = NULL;
42947 trace.prev = tracehead; tracehead = &trace;
42948 trace.file = LOCATE_parser;
42949 variable[0] = self;
42950 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction618].i]) return;
42951 return_label1269: while(false);
42952 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction618].i] = 1;
42953 tracehead = trace.prev;
42954 return;
42955 }
42956 void parser___ReduceAction619___action(val_t self, val_t param0) {
42957 struct trace_t trace = {NULL, NULL, 25579, LOCATE_parser___ReduceAction619___action};
42958 val_t variable[8];
42959 void **closurevariable = NULL;
42960 trace.prev = tracehead; tracehead = &trace;
42961 trace.file = LOCATE_parser;
42962 variable[0] = self;
42963 variable[1] = param0;
42964 variable[3] = NIT_NULL /*null*/;
42965 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
42966 variable[4] = variable[5];
42967 variable[5] = variable[4] /*nodearraylist1*/;
42968 variable[6] = TAG_Bool(( variable[5] /*tkwnullnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwnullnode2*/, COLOR_TKwnull, ID_TKwnull)) /*cast TKwnull*/;
42969 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction619___action, LOCATE_parser, 25584); nit_exit(1);}
42970 variable[7] = NEW_ANullExpr_parser_prod___ANullExpr___init_anullexpr( variable[5] /*tkwnullnode2*/); /*new ANullExpr*/
42971 variable[6] = variable[7];
42972 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
42973 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(81)) /*Parser::go_to*/;
42974 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
42975 return_label1270: while(false);
42976 tracehead = trace.prev;
42977 return;
42978 }
42979 void parser___ReduceAction619___init(val_t self, int* init_table) {
42980 struct trace_t trace = {NULL, NULL, 25591, LOCATE_parser___ReduceAction619___init};
42981 val_t variable[2];
42982 void **closurevariable = NULL;
42983 trace.prev = tracehead; tracehead = &trace;
42984 trace.file = LOCATE_parser;
42985 variable[0] = self;
42986 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction619].i]) return;
42987 return_label1271: while(false);
42988 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction619].i] = 1;
42989 tracehead = trace.prev;
42990 return;
42991 }
42992 void parser___ReduceAction620___action(val_t self, val_t param0) {
42993 struct trace_t trace = {NULL, NULL, 25595, LOCATE_parser___ReduceAction620___action};
42994 val_t variable[8];
42995 void **closurevariable = NULL;
42996 trace.prev = tracehead; tracehead = &trace;
42997 trace.file = LOCATE_parser;
42998 variable[0] = self;
42999 variable[1] = param0;
43000 variable[3] = NIT_NULL /*null*/;
43001 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
43002 variable[4] = variable[5];
43003 variable[5] = variable[4] /*nodearraylist1*/;
43004 variable[6] = TAG_Bool(( variable[5] /*tnumbernode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tnumbernode2*/, COLOR_TNumber, ID_TNumber)) /*cast TNumber*/;
43005 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction620___action, LOCATE_parser, 25600); nit_exit(1);}
43006 variable[7] = NEW_AIntExpr_parser_prod___AIntExpr___init_aintexpr( variable[5] /*tnumbernode2*/); /*new AIntExpr*/
43007 variable[6] = variable[7];
43008 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
43009 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(81)) /*Parser::go_to*/;
43010 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
43011 return_label1272: while(false);
43012 tracehead = trace.prev;
43013 return;
43014 }
43015 void parser___ReduceAction620___init(val_t self, int* init_table) {
43016 struct trace_t trace = {NULL, NULL, 25607, LOCATE_parser___ReduceAction620___init};
43017 val_t variable[2];
43018 void **closurevariable = NULL;
43019 trace.prev = tracehead; tracehead = &trace;
43020 trace.file = LOCATE_parser;
43021 variable[0] = self;
43022 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction620].i]) return;
43023 return_label1273: while(false);
43024 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction620].i] = 1;
43025 tracehead = trace.prev;
43026 return;
43027 }
43028 void parser___ReduceAction621___action(val_t self, val_t param0) {
43029 struct trace_t trace = {NULL, NULL, 25611, LOCATE_parser___ReduceAction621___action};
43030 val_t variable[8];
43031 void **closurevariable = NULL;
43032 trace.prev = tracehead; tracehead = &trace;
43033 trace.file = LOCATE_parser;
43034 variable[0] = self;
43035 variable[1] = param0;
43036 variable[3] = NIT_NULL /*null*/;
43037 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
43038 variable[4] = variable[5];
43039 variable[5] = variable[4] /*nodearraylist1*/;
43040 variable[6] = TAG_Bool(( variable[5] /*tfloatnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tfloatnode2*/, COLOR_TFloat, ID_TFloat)) /*cast TFloat*/;
43041 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction621___action, LOCATE_parser, 25616); nit_exit(1);}
43042 variable[7] = NEW_AFloatExpr_parser_prod___AFloatExpr___init_afloatexpr( variable[5] /*tfloatnode2*/); /*new AFloatExpr*/
43043 variable[6] = variable[7];
43044 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
43045 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(81)) /*Parser::go_to*/;
43046 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
43047 return_label1274: while(false);
43048 tracehead = trace.prev;
43049 return;
43050 }
43051 void parser___ReduceAction621___init(val_t self, int* init_table) {
43052 struct trace_t trace = {NULL, NULL, 25623, LOCATE_parser___ReduceAction621___init};
43053 val_t variable[2];
43054 void **closurevariable = NULL;
43055 trace.prev = tracehead; tracehead = &trace;
43056 trace.file = LOCATE_parser;
43057 variable[0] = self;
43058 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction621].i]) return;
43059 return_label1275: while(false);
43060 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction621].i] = 1;
43061 tracehead = trace.prev;
43062 return;
43063 }
43064 void parser___ReduceAction622___action(val_t self, val_t param0) {
43065 struct trace_t trace = {NULL, NULL, 25627, LOCATE_parser___ReduceAction622___action};
43066 val_t variable[8];
43067 void **closurevariable = NULL;
43068 trace.prev = tracehead; tracehead = &trace;
43069 trace.file = LOCATE_parser;
43070 variable[0] = self;
43071 variable[1] = param0;
43072 variable[3] = NIT_NULL /*null*/;
43073 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
43074 variable[4] = variable[5];
43075 variable[5] = variable[4] /*nodearraylist1*/;
43076 variable[6] = TAG_Bool(( variable[5] /*tcharnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tcharnode2*/, COLOR_TChar, ID_TChar)) /*cast TChar*/;
43077 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction622___action, LOCATE_parser, 25632); nit_exit(1);}
43078 variable[7] = NEW_ACharExpr_parser_prod___ACharExpr___init_acharexpr( variable[5] /*tcharnode2*/); /*new ACharExpr*/
43079 variable[6] = variable[7];
43080 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
43081 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(81)) /*Parser::go_to*/;
43082 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
43083 return_label1276: while(false);
43084 tracehead = trace.prev;
43085 return;
43086 }
43087 void parser___ReduceAction622___init(val_t self, int* init_table) {
43088 struct trace_t trace = {NULL, NULL, 25639, LOCATE_parser___ReduceAction622___init};
43089 val_t variable[2];
43090 void **closurevariable = NULL;
43091 trace.prev = tracehead; tracehead = &trace;
43092 trace.file = LOCATE_parser;
43093 variable[0] = self;
43094 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction622].i]) return;
43095 return_label1277: while(false);
43096 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction622].i] = 1;
43097 tracehead = trace.prev;
43098 return;
43099 }
43100 void parser___ReduceAction623___action(val_t self, val_t param0) {
43101 struct trace_t trace = {NULL, NULL, 25643, LOCATE_parser___ReduceAction623___action};
43102 val_t variable[8];
43103 void **closurevariable = NULL;
43104 trace.prev = tracehead; tracehead = &trace;
43105 trace.file = LOCATE_parser;
43106 variable[0] = self;
43107 variable[1] = param0;
43108 variable[3] = NIT_NULL /*null*/;
43109 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
43110 variable[4] = variable[5];
43111 variable[5] = variable[4] /*nodearraylist1*/;
43112 variable[6] = TAG_Bool(( variable[5] /*tstringnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tstringnode2*/, COLOR_TString, ID_TString)) /*cast TString*/;
43113 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction623___action, LOCATE_parser, 25648); nit_exit(1);}
43114 variable[7] = NEW_AStringExpr_parser_prod___AStringExpr___init_astringexpr( variable[5] /*tstringnode2*/); /*new AStringExpr*/
43115 variable[6] = variable[7];
43116 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
43117 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(81)) /*Parser::go_to*/;
43118 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
43119 return_label1278: while(false);
43120 tracehead = trace.prev;
43121 return;
43122 }
43123 void parser___ReduceAction623___init(val_t self, int* init_table) {
43124 struct trace_t trace = {NULL, NULL, 25655, LOCATE_parser___ReduceAction623___init};
43125 val_t variable[2];
43126 void **closurevariable = NULL;
43127 trace.prev = tracehead; tracehead = &trace;
43128 trace.file = LOCATE_parser;
43129 variable[0] = self;
43130 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction623].i]) return;
43131 return_label1279: while(false);
43132 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction623].i] = 1;
43133 tracehead = trace.prev;
43134 return;
43135 }
43136 void parser___ReduceAction624___action(val_t self, val_t param0) {
43137 struct trace_t trace = {NULL, NULL, 25659, LOCATE_parser___ReduceAction624___action};
43138 val_t variable[7];
43139 void **closurevariable = NULL;
43140 trace.prev = tracehead; tracehead = &trace;
43141 trace.file = LOCATE_parser;
43142 variable[0] = self;
43143 variable[1] = param0;
43144 variable[3] = NIT_NULL /*null*/;
43145 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
43146 variable[4] = variable[5];
43147 variable[5] = variable[4] /*nodearraylist1*/;
43148 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
43149 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction624___action, LOCATE_parser, 25664); nit_exit(1);}
43150 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
43151 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(81)) /*Parser::go_to*/;
43152 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
43153 return_label1280: while(false);
43154 tracehead = trace.prev;
43155 return;
43156 }
43157 void parser___ReduceAction624___init(val_t self, int* init_table) {
43158 struct trace_t trace = {NULL, NULL, 25668, LOCATE_parser___ReduceAction624___init};
43159 val_t variable[2];
43160 void **closurevariable = NULL;
43161 trace.prev = tracehead; tracehead = &trace;
43162 trace.file = LOCATE_parser;
43163 variable[0] = self;
43164 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction624].i]) return;
43165 return_label1281: while(false);
43166 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction624].i] = 1;
43167 tracehead = trace.prev;
43168 return;
43169 }
43170 void parser___ReduceAction625___action(val_t self, val_t param0) {
43171 struct trace_t trace = {NULL, NULL, 25672, LOCATE_parser___ReduceAction625___action};
43172 val_t variable[9];
43173 void **closurevariable = NULL;
43174 trace.prev = tracehead; tracehead = &trace;
43175 trace.file = LOCATE_parser;
43176 variable[0] = self;
43177 variable[1] = param0;
43178 variable[3] = NIT_NULL /*null*/;
43179 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
43180 variable[4] = variable[5];
43181 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
43182 variable[5] = variable[6];
43183 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
43184 variable[6] = variable[7];
43185 variable[7] = variable[5] /*nodearraylist2*/;
43186 variable[8] = TAG_Bool(( variable[7] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
43187 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction625___action, LOCATE_parser, 25679); nit_exit(1);}
43188 variable[3] = variable[7] /*pexprnode1*/ /*node_list=*/;
43189 variable[8] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(81)) /*Parser::go_to*/;
43190 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
43191 return_label1282: while(false);
43192 tracehead = trace.prev;
43193 return;
43194 }
43195 void parser___ReduceAction625___init(val_t self, int* init_table) {
43196 struct trace_t trace = {NULL, NULL, 25683, LOCATE_parser___ReduceAction625___init};
43197 val_t variable[2];
43198 void **closurevariable = NULL;
43199 trace.prev = tracehead; tracehead = &trace;
43200 trace.file = LOCATE_parser;
43201 variable[0] = self;
43202 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction625].i]) return;
43203 return_label1283: while(false);
43204 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction625].i] = 1;
43205 tracehead = trace.prev;
43206 return;
43207 }
43208 void parser___ReduceAction626___action(val_t self, val_t param0) {
43209 struct trace_t trace = {NULL, NULL, 25687, LOCATE_parser___ReduceAction626___action};
43210 val_t variable[19];
43211 void **closurevariable = NULL;
43212 trace.prev = tracehead; tracehead = &trace;
43213 trace.file = LOCATE_parser;
43214 variable[0] = self;
43215 variable[1] = param0;
43216 variable[3] = NIT_NULL /*null*/;
43217 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
43218 variable[4] = variable[5];
43219 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
43220 variable[5] = variable[6];
43221 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
43222 variable[6] = variable[7];
43223 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
43224 variable[7] = variable[8];
43225 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
43226 variable[8] = variable[9];
43227 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
43228 variable[9] = variable[10];
43229 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
43230 variable[10] = variable[11];
43231 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
43232 variable[11] = variable[12];
43233 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
43234 variable[12] = variable[13];
43235 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
43236 variable[13] = variable[14];
43237 variable[14] = variable[13] /*nodearraylist1*/;
43238 variable[15] = TAG_Bool(( variable[14] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
43239 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction626___action, LOCATE_parser, 25701); nit_exit(1);}
43240 variable[15] = variable[10] /*nodearraylist4*/;
43241 variable[16] = TAG_Bool(( variable[15] /*tkwasnode3*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwasnode3*/, COLOR_TKwas, ID_TKwas)) /*cast TKwas*/;
43242 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction626___action, LOCATE_parser, 25703); nit_exit(1);}
43243 variable[16] = variable[6] /*nodearraylist8*/;
43244 variable[17] = TAG_Bool(( variable[16] /*ptypenode4*/==NIT_NULL) || VAL_ISA( variable[16] /*ptypenode4*/, COLOR_PType, ID_PType)) /*cast PType*/;
43245 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction626___action, LOCATE_parser, 25705); nit_exit(1);}
43246 variable[18] = NEW_AAsCastExpr_parser_prod___AAsCastExpr___init_aascastexpr( variable[14] /*pexprnode2*/, variable[15] /*tkwasnode3*/, variable[16] /*ptypenode4*/); /*new AAsCastExpr*/
43247 variable[17] = variable[18];
43248 variable[3] = variable[17] /*pexprnode1*/ /*node_list=*/;
43249 variable[18] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(81)) /*Parser::go_to*/;
43250 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
43251 return_label1284: while(false);
43252 tracehead = trace.prev;
43253 return;
43254 }
43255 void parser___ReduceAction626___init(val_t self, int* init_table) {
43256 struct trace_t trace = {NULL, NULL, 25714, LOCATE_parser___ReduceAction626___init};
43257 val_t variable[2];
43258 void **closurevariable = NULL;
43259 trace.prev = tracehead; tracehead = &trace;
43260 trace.file = LOCATE_parser;
43261 variable[0] = self;
43262 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction626].i]) return;
43263 return_label1285: while(false);
43264 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction626].i] = 1;
43265 tracehead = trace.prev;
43266 return;
43267 }
43268 void parser___ReduceAction627___action(val_t self, val_t param0) {
43269 struct trace_t trace = {NULL, NULL, 25718, LOCATE_parser___ReduceAction627___action};
43270 val_t variable[7];
43271 void **closurevariable = NULL;
43272 trace.prev = tracehead; tracehead = &trace;
43273 trace.file = LOCATE_parser;
43274 variable[0] = self;
43275 variable[1] = param0;
43276 variable[3] = NIT_NULL /*null*/;
43277 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
43278 variable[4] = variable[5];
43279 variable[5] = variable[4] /*nodearraylist1*/;
43280 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
43281 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction627___action, LOCATE_parser, 25723); nit_exit(1);}
43282 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
43283 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(82)) /*Parser::go_to*/;
43284 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
43285 return_label1286: while(false);
43286 tracehead = trace.prev;
43287 return;
43288 }
43289 void parser___ReduceAction627___init(val_t self, int* init_table) {
43290 struct trace_t trace = {NULL, NULL, 25727, LOCATE_parser___ReduceAction627___init};
43291 val_t variable[2];
43292 void **closurevariable = NULL;
43293 trace.prev = tracehead; tracehead = &trace;
43294 trace.file = LOCATE_parser;
43295 variable[0] = self;
43296 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction627].i]) return;
43297 return_label1287: while(false);
43298 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction627].i] = 1;
43299 tracehead = trace.prev;
43300 return;
43301 }
43302 void parser___ReduceAction628___action(val_t self, val_t param0) {
43303 struct trace_t trace = {NULL, NULL, 25731, LOCATE_parser___ReduceAction628___action};
43304 val_t variable[12];
43305 void **closurevariable = NULL;
43306 trace.prev = tracehead; tracehead = &trace;
43307 trace.file = LOCATE_parser;
43308 variable[0] = self;
43309 variable[1] = param0;
43310 variable[3] = NIT_NULL /*null*/;
43311 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
43312 variable[4] = variable[5];
43313 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
43314 variable[5] = variable[6];
43315 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
43316 variable[6] = variable[7];
43317 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
43318 variable[7] = variable[8];
43319 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
43320 variable[8] = variable[9];
43321 variable[9] = variable[6] /*nodearraylist2*/;
43322 variable[10] = TAG_Bool(( variable[9] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
43323 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction628___action, LOCATE_parser, 25740); nit_exit(1);}
43324 variable[10] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[9] /*pexprnode2*/ == NIT_NULL /*null*/) || (( variable[9] /*pexprnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[9] /*pexprnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[9] /*pexprnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[9] /*pexprnode2*/,COLOR_kernel___Object_____eqeq))( variable[9] /*pexprnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
43325 if (UNTAG_Bool(variable[10])) { /*if*/
43326 ((array___AbstractArray___add_t)CALL( variable[8] /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable[8] /*listnode3*/, variable[9] /*pexprnode2*/) /*AbstractArray::add*/;
43327 }
43328 variable[11] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr( variable[8] /*listnode3*/); /*new ABlockExpr*/
43329 variable[10] = variable[11];
43330 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
43331 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(82)) /*Parser::go_to*/;
43332 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
43333 return_label1288: while(false);
43334 tracehead = trace.prev;
43335 return;
43336 }
43337 void parser___ReduceAction628___init(val_t self, int* init_table) {
43338 struct trace_t trace = {NULL, NULL, 25750, LOCATE_parser___ReduceAction628___init};
43339 val_t variable[2];
43340 void **closurevariable = NULL;
43341 trace.prev = tracehead; tracehead = &trace;
43342 trace.file = LOCATE_parser;
43343 variable[0] = self;
43344 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction628].i]) return;
43345 return_label1289: while(false);
43346 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction628].i] = 1;
43347 tracehead = trace.prev;
43348 return;
43349 }
43350 void parser___ReduceAction629___action(val_t self, val_t param0) {
43351 struct trace_t trace = {NULL, NULL, 25754, LOCATE_parser___ReduceAction629___action};
43352 val_t variable[14];
43353 void **closurevariable = NULL;
43354 trace.prev = tracehead; tracehead = &trace;
43355 trace.file = LOCATE_parser;
43356 variable[0] = self;
43357 variable[1] = param0;
43358 variable[3] = NIT_NULL /*null*/;
43359 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
43360 variable[4] = variable[5];
43361 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
43362 variable[5] = variable[6];
43363 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
43364 variable[6] = variable[7];
43365 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
43366 variable[7] = variable[8];
43367 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
43368 variable[8] = variable[9];
43369 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
43370 variable[9] = variable[10];
43371 variable[10] = variable[7] /*nodearraylist2*/;
43372 variable[11] = TAG_Bool(( variable[10] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
43373 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction629___action, LOCATE_parser, 25764); nit_exit(1);}
43374 variable[11] = variable[6] /*nodearraylist3*/;
43375 variable[12] = TAG_Bool(( variable[11] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
43376 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction629___action, LOCATE_parser, 25766); nit_exit(1);}
43377 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*pexprnode2*/ == NIT_NULL /*null*/) || (( variable[10] /*pexprnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[10] /*pexprnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*pexprnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[10] /*pexprnode2*/,COLOR_kernel___Object_____eqeq))( variable[10] /*pexprnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
43378 if (UNTAG_Bool(variable[12])) { /*if*/
43379 ((array___AbstractArray___add_t)CALL( variable[9] /*listnode4*/,COLOR_abstract_collection___SimpleCollection___add))( variable[9] /*listnode4*/, variable[10] /*pexprnode2*/) /*AbstractArray::add*/;
43380 }
43381 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable[11] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
43382 if (UNTAG_Bool(variable[12])) { /*if*/
43383 variable[12] = ((array___AbstractArray___is_empty_t)CALL( variable[9] /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable[9] /*listnode4*/) /*AbstractArray::is_empty*/;
43384 if (UNTAG_Bool(variable[12])) { /*if*/
43385 variable[9] = variable[11] /*listnode3*/ /*listnode4=*/;
43386 } else { /*if*/
43387 ((abstract_collection___IndexedCollection___append_t)CALL( variable[9] /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable[9] /*listnode4*/, variable[11] /*listnode3*/) /*IndexedCollection::append*/;
43388 }
43389 }
43390 variable[13] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr( variable[9] /*listnode4*/); /*new ABlockExpr*/
43391 variable[12] = variable[13];
43392 variable[3] = variable[12] /*pexprnode1*/ /*node_list=*/;
43393 variable[13] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(82)) /*Parser::go_to*/;
43394 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
43395 return_label1290: while(false);
43396 tracehead = trace.prev;
43397 return;
43398 }
43399 void parser___ReduceAction629___init(val_t self, int* init_table) {
43400 struct trace_t trace = {NULL, NULL, 25783, LOCATE_parser___ReduceAction629___init};
43401 val_t variable[2];
43402 void **closurevariable = NULL;
43403 trace.prev = tracehead; tracehead = &trace;
43404 trace.file = LOCATE_parser;
43405 variable[0] = self;
43406 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction629].i]) return;
43407 return_label1291: while(false);
43408 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction629].i] = 1;
43409 tracehead = trace.prev;
43410 return;
43411 }
43412 void parser___ReduceAction630___action(val_t self, val_t param0) {
43413 struct trace_t trace = {NULL, NULL, 25787, LOCATE_parser___ReduceAction630___action};
43414 val_t variable[7];
43415 void **closurevariable = NULL;
43416 trace.prev = tracehead; tracehead = &trace;
43417 trace.file = LOCATE_parser;
43418 variable[0] = self;
43419 variable[1] = param0;
43420 variable[3] = NIT_NULL /*null*/;
43421 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
43422 variable[4] = variable[5];
43423 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
43424 variable[5] = variable[6];
43425 variable[3] = NIT_NULL /*null*/ /*node_list=*/;
43426 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(82)) /*Parser::go_to*/;
43427 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
43428 return_label1292: while(false);
43429 tracehead = trace.prev;
43430 return;
43431 }
43432 void parser___ReduceAction630___init(val_t self, int* init_table) {
43433 struct trace_t trace = {NULL, NULL, 25795, LOCATE_parser___ReduceAction630___init};
43434 val_t variable[2];
43435 void **closurevariable = NULL;
43436 trace.prev = tracehead; tracehead = &trace;
43437 trace.file = LOCATE_parser;
43438 variable[0] = self;
43439 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction630].i]) return;
43440 return_label1293: while(false);
43441 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction630].i] = 1;
43442 tracehead = trace.prev;
43443 return;
43444 }
43445 void parser___ReduceAction631___action(val_t self, val_t param0) {
43446 struct trace_t trace = {NULL, NULL, 25799, LOCATE_parser___ReduceAction631___action};
43447 val_t variable[6];
43448 void **closurevariable = NULL;
43449 trace.prev = tracehead; tracehead = &trace;
43450 trace.file = LOCATE_parser;
43451 variable[0] = self;
43452 variable[1] = param0;
43453 variable[3] = NIT_NULL /*null*/;
43454 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
43455 variable[4] = variable[5];
43456 variable[3] = NIT_NULL /*null*/ /*node_list=*/;
43457 variable[5] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(82)) /*Parser::go_to*/;
43458 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[5], variable[3] /*node_list*/) /*Parser::push*/;
43459 return_label1294: while(false);
43460 tracehead = trace.prev;
43461 return;
43462 }
43463 void parser___ReduceAction631___init(val_t self, int* init_table) {
43464 struct trace_t trace = {NULL, NULL, 25806, LOCATE_parser___ReduceAction631___init};
43465 val_t variable[2];
43466 void **closurevariable = NULL;
43467 trace.prev = tracehead; tracehead = &trace;
43468 trace.file = LOCATE_parser;
43469 variable[0] = self;
43470 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction631].i]) return;
43471 return_label1295: while(false);
43472 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction631].i] = 1;
43473 tracehead = trace.prev;
43474 return;
43475 }
43476 void parser___ReduceAction632___action(val_t self, val_t param0) {
43477 struct trace_t trace = {NULL, NULL, 25810, LOCATE_parser___ReduceAction632___action};
43478 val_t variable[7];
43479 void **closurevariable = NULL;
43480 trace.prev = tracehead; tracehead = &trace;
43481 trace.file = LOCATE_parser;
43482 variable[0] = self;
43483 variable[1] = param0;
43484 variable[3] = NIT_NULL /*null*/;
43485 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
43486 variable[4] = variable[5];
43487 variable[5] = variable[4] /*nodearraylist1*/;
43488 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
43489 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction632___action, LOCATE_parser, 25815); nit_exit(1);}
43490 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
43491 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(83)) /*Parser::go_to*/;
43492 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
43493 return_label1296: while(false);
43494 tracehead = trace.prev;
43495 return;
43496 }
43497 void parser___ReduceAction632___init(val_t self, int* init_table) {
43498 struct trace_t trace = {NULL, NULL, 25819, LOCATE_parser___ReduceAction632___init};
43499 val_t variable[2];
43500 void **closurevariable = NULL;
43501 trace.prev = tracehead; tracehead = &trace;
43502 trace.file = LOCATE_parser;
43503 variable[0] = self;
43504 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction632].i]) return;
43505 return_label1297: while(false);
43506 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction632].i] = 1;
43507 tracehead = trace.prev;
43508 return;
43509 }
43510 void parser___ReduceAction633___action(val_t self, val_t param0) {
43511 struct trace_t trace = {NULL, NULL, 25823, LOCATE_parser___ReduceAction633___action};
43512 val_t variable[7];
43513 void **closurevariable = NULL;
43514 trace.prev = tracehead; tracehead = &trace;
43515 trace.file = LOCATE_parser;
43516 variable[0] = self;
43517 variable[1] = param0;
43518 variable[3] = NIT_NULL /*null*/;
43519 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
43520 variable[4] = variable[5];
43521 variable[5] = variable[4] /*nodearraylist1*/;
43522 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
43523 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction633___action, LOCATE_parser, 25828); nit_exit(1);}
43524 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
43525 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(83)) /*Parser::go_to*/;
43526 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
43527 return_label1298: while(false);
43528 tracehead = trace.prev;
43529 return;
43530 }
43531 void parser___ReduceAction633___init(val_t self, int* init_table) {
43532 struct trace_t trace = {NULL, NULL, 25832, LOCATE_parser___ReduceAction633___init};
43533 val_t variable[2];
43534 void **closurevariable = NULL;
43535 trace.prev = tracehead; tracehead = &trace;
43536 trace.file = LOCATE_parser;
43537 variable[0] = self;
43538 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction633].i]) return;
43539 return_label1299: while(false);
43540 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction633].i] = 1;
43541 tracehead = trace.prev;
43542 return;
43543 }
43544 void parser___ReduceAction634___action(val_t self, val_t param0) {
43545 struct trace_t trace = {NULL, NULL, 25836, LOCATE_parser___ReduceAction634___action};
43546 val_t variable[8];
43547 void **closurevariable = NULL;
43548 trace.prev = tracehead; tracehead = &trace;
43549 trace.file = LOCATE_parser;
43550 variable[0] = self;
43551 variable[1] = param0;
43552 variable[3] = NIT_NULL /*null*/;
43553 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
43554 variable[4] = variable[5];
43555 variable[5] = variable[4] /*nodearraylist1*/;
43556 variable[6] = TAG_Bool(( variable[5] /*tkwreturnnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwreturnnode2*/, COLOR_TKwreturn, ID_TKwreturn)) /*cast TKwreturn*/;
43557 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction634___action, LOCATE_parser, 25841); nit_exit(1);}
43558 variable[7] = NEW_AReturnExpr_parser_prod___AReturnExpr___init_areturnexpr( variable[5] /*tkwreturnnode2*/, NIT_NULL /*null*/); /*new AReturnExpr*/
43559 variable[6] = variable[7];
43560 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
43561 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(83)) /*Parser::go_to*/;
43562 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
43563 return_label1300: while(false);
43564 tracehead = trace.prev;
43565 return;
43566 }
43567 void parser___ReduceAction634___init(val_t self, int* init_table) {
43568 struct trace_t trace = {NULL, NULL, 25849, LOCATE_parser___ReduceAction634___init};
43569 val_t variable[2];
43570 void **closurevariable = NULL;
43571 trace.prev = tracehead; tracehead = &trace;
43572 trace.file = LOCATE_parser;
43573 variable[0] = self;
43574 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction634].i]) return;
43575 return_label1301: while(false);
43576 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction634].i] = 1;
43577 tracehead = trace.prev;
43578 return;
43579 }
43580 void parser___ReduceAction635___action(val_t self, val_t param0) {
43581 struct trace_t trace = {NULL, NULL, 25853, LOCATE_parser___ReduceAction635___action};
43582 val_t variable[10];
43583 void **closurevariable = NULL;
43584 trace.prev = tracehead; tracehead = &trace;
43585 trace.file = LOCATE_parser;
43586 variable[0] = self;
43587 variable[1] = param0;
43588 variable[3] = NIT_NULL /*null*/;
43589 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
43590 variable[4] = variable[5];
43591 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
43592 variable[5] = variable[6];
43593 variable[6] = variable[5] /*nodearraylist1*/;
43594 variable[7] = TAG_Bool(( variable[6] /*tkwreturnnode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tkwreturnnode2*/, COLOR_TKwreturn, ID_TKwreturn)) /*cast TKwreturn*/;
43595 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction635___action, LOCATE_parser, 25859); nit_exit(1);}
43596 variable[7] = variable[4] /*nodearraylist2*/;
43597 variable[8] = TAG_Bool(( variable[7] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[7] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
43598 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction635___action, LOCATE_parser, 25861); nit_exit(1);}
43599 variable[9] = NEW_AReturnExpr_parser_prod___AReturnExpr___init_areturnexpr( variable[6] /*tkwreturnnode2*/, variable[7] /*pexprnode3*/); /*new AReturnExpr*/
43600 variable[8] = variable[9];
43601 variable[3] = variable[8] /*pexprnode1*/ /*node_list=*/;
43602 variable[9] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(83)) /*Parser::go_to*/;
43603 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
43604 return_label1302: while(false);
43605 tracehead = trace.prev;
43606 return;
43607 }
43608 void parser___ReduceAction635___init(val_t self, int* init_table) {
43609 struct trace_t trace = {NULL, NULL, 25869, LOCATE_parser___ReduceAction635___init};
43610 val_t variable[2];
43611 void **closurevariable = NULL;
43612 trace.prev = tracehead; tracehead = &trace;
43613 trace.file = LOCATE_parser;
43614 variable[0] = self;
43615 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction635].i]) return;
43616 return_label1303: while(false);
43617 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction635].i] = 1;
43618 tracehead = trace.prev;
43619 return;
43620 }
43621 void parser___ReduceAction636___action(val_t self, val_t param0) {
43622 struct trace_t trace = {NULL, NULL, 25873, LOCATE_parser___ReduceAction636___action};
43623 val_t variable[8];
43624 void **closurevariable = NULL;
43625 trace.prev = tracehead; tracehead = &trace;
43626 trace.file = LOCATE_parser;
43627 variable[0] = self;
43628 variable[1] = param0;
43629 variable[3] = NIT_NULL /*null*/;
43630 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
43631 variable[4] = variable[5];
43632 variable[5] = variable[4] /*nodearraylist1*/;
43633 variable[6] = TAG_Bool(( variable[5] /*tkwbreaknode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwbreaknode2*/, COLOR_TKwbreak, ID_TKwbreak)) /*cast TKwbreak*/;
43634 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction636___action, LOCATE_parser, 25878); nit_exit(1);}
43635 variable[7] = NEW_ABreakExpr_parser_prod___ABreakExpr___init_abreakexpr( variable[5] /*tkwbreaknode2*/, NIT_NULL /*null*/); /*new ABreakExpr*/
43636 variable[6] = variable[7];
43637 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
43638 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(83)) /*Parser::go_to*/;
43639 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
43640 return_label1304: while(false);
43641 tracehead = trace.prev;
43642 return;
43643 }
43644 void parser___ReduceAction636___init(val_t self, int* init_table) {
43645 struct trace_t trace = {NULL, NULL, 25886, LOCATE_parser___ReduceAction636___init};
43646 val_t variable[2];
43647 void **closurevariable = NULL;
43648 trace.prev = tracehead; tracehead = &trace;
43649 trace.file = LOCATE_parser;
43650 variable[0] = self;
43651 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction636].i]) return;
43652 return_label1305: while(false);
43653 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction636].i] = 1;
43654 tracehead = trace.prev;
43655 return;
43656 }
43657 void parser___ReduceAction637___action(val_t self, val_t param0) {
43658 struct trace_t trace = {NULL, NULL, 25890, LOCATE_parser___ReduceAction637___action};
43659 val_t variable[10];
43660 void **closurevariable = NULL;
43661 trace.prev = tracehead; tracehead = &trace;
43662 trace.file = LOCATE_parser;
43663 variable[0] = self;
43664 variable[1] = param0;
43665 variable[3] = NIT_NULL /*null*/;
43666 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
43667 variable[4] = variable[5];
43668 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
43669 variable[5] = variable[6];
43670 variable[6] = variable[5] /*nodearraylist1*/;
43671 variable[7] = TAG_Bool(( variable[6] /*tkwbreaknode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tkwbreaknode2*/, COLOR_TKwbreak, ID_TKwbreak)) /*cast TKwbreak*/;
43672 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction637___action, LOCATE_parser, 25896); nit_exit(1);}
43673 variable[7] = variable[4] /*nodearraylist2*/;
43674 variable[8] = TAG_Bool(( variable[7] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[7] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
43675 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction637___action, LOCATE_parser, 25898); nit_exit(1);}
43676 variable[9] = NEW_ABreakExpr_parser_prod___ABreakExpr___init_abreakexpr( variable[6] /*tkwbreaknode2*/, variable[7] /*pexprnode3*/); /*new ABreakExpr*/
43677 variable[8] = variable[9];
43678 variable[3] = variable[8] /*pexprnode1*/ /*node_list=*/;
43679 variable[9] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(83)) /*Parser::go_to*/;
43680 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
43681 return_label1306: while(false);
43682 tracehead = trace.prev;
43683 return;
43684 }
43685 void parser___ReduceAction637___init(val_t self, int* init_table) {
43686 struct trace_t trace = {NULL, NULL, 25906, LOCATE_parser___ReduceAction637___init};
43687 val_t variable[2];
43688 void **closurevariable = NULL;
43689 trace.prev = tracehead; tracehead = &trace;
43690 trace.file = LOCATE_parser;
43691 variable[0] = self;
43692 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction637].i]) return;
43693 return_label1307: while(false);
43694 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction637].i] = 1;
43695 tracehead = trace.prev;
43696 return;
43697 }
43698 void parser___ReduceAction638___action(val_t self, val_t param0) {
43699 struct trace_t trace = {NULL, NULL, 25910, LOCATE_parser___ReduceAction638___action};
43700 val_t variable[8];
43701 void **closurevariable = NULL;
43702 trace.prev = tracehead; tracehead = &trace;
43703 trace.file = LOCATE_parser;
43704 variable[0] = self;
43705 variable[1] = param0;
43706 variable[3] = NIT_NULL /*null*/;
43707 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
43708 variable[4] = variable[5];
43709 variable[5] = variable[4] /*nodearraylist1*/;
43710 variable[6] = TAG_Bool(( variable[5] /*tkwabortnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwabortnode2*/, COLOR_TKwabort, ID_TKwabort)) /*cast TKwabort*/;
43711 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction638___action, LOCATE_parser, 25915); nit_exit(1);}
43712 variable[7] = NEW_AAbortExpr_parser_prod___AAbortExpr___init_aabortexpr( variable[5] /*tkwabortnode2*/); /*new AAbortExpr*/
43713 variable[6] = variable[7];
43714 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
43715 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(83)) /*Parser::go_to*/;
43716 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
43717 return_label1308: while(false);
43718 tracehead = trace.prev;
43719 return;
43720 }
43721 void parser___ReduceAction638___init(val_t self, int* init_table) {
43722 struct trace_t trace = {NULL, NULL, 25922, LOCATE_parser___ReduceAction638___init};
43723 val_t variable[2];
43724 void **closurevariable = NULL;
43725 trace.prev = tracehead; tracehead = &trace;
43726 trace.file = LOCATE_parser;
43727 variable[0] = self;
43728 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction638].i]) return;
43729 return_label1309: while(false);
43730 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction638].i] = 1;
43731 tracehead = trace.prev;
43732 return;
43733 }
43734 void parser___ReduceAction639___action(val_t self, val_t param0) {
43735 struct trace_t trace = {NULL, NULL, 25926, LOCATE_parser___ReduceAction639___action};
43736 val_t variable[8];
43737 void **closurevariable = NULL;
43738 trace.prev = tracehead; tracehead = &trace;
43739 trace.file = LOCATE_parser;
43740 variable[0] = self;
43741 variable[1] = param0;
43742 variable[3] = NIT_NULL /*null*/;
43743 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
43744 variable[4] = variable[5];
43745 variable[5] = variable[4] /*nodearraylist1*/;
43746 variable[6] = TAG_Bool(( variable[5] /*tkwcontinuenode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwcontinuenode2*/, COLOR_TKwcontinue, ID_TKwcontinue)) /*cast TKwcontinue*/;
43747 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction639___action, LOCATE_parser, 25931); nit_exit(1);}
43748 variable[7] = NEW_AContinueExpr_parser_prod___AContinueExpr___init_acontinueexpr( variable[5] /*tkwcontinuenode2*/, NIT_NULL /*null*/); /*new AContinueExpr*/
43749 variable[6] = variable[7];
43750 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
43751 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(83)) /*Parser::go_to*/;
43752 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
43753 return_label1310: while(false);
43754 tracehead = trace.prev;
43755 return;
43756 }
43757 void parser___ReduceAction639___init(val_t self, int* init_table) {
43758 struct trace_t trace = {NULL, NULL, 25939, LOCATE_parser___ReduceAction639___init};
43759 val_t variable[2];
43760 void **closurevariable = NULL;
43761 trace.prev = tracehead; tracehead = &trace;
43762 trace.file = LOCATE_parser;
43763 variable[0] = self;
43764 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction639].i]) return;
43765 return_label1311: while(false);
43766 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction639].i] = 1;
43767 tracehead = trace.prev;
43768 return;
43769 }
43770 void parser___ReduceAction640___action(val_t self, val_t param0) {
43771 struct trace_t trace = {NULL, NULL, 25943, LOCATE_parser___ReduceAction640___action};
43772 val_t variable[10];
43773 void **closurevariable = NULL;
43774 trace.prev = tracehead; tracehead = &trace;
43775 trace.file = LOCATE_parser;
43776 variable[0] = self;
43777 variable[1] = param0;
43778 variable[3] = NIT_NULL /*null*/;
43779 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
43780 variable[4] = variable[5];
43781 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
43782 variable[5] = variable[6];
43783 variable[6] = variable[5] /*nodearraylist1*/;
43784 variable[7] = TAG_Bool(( variable[6] /*tkwcontinuenode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tkwcontinuenode2*/, COLOR_TKwcontinue, ID_TKwcontinue)) /*cast TKwcontinue*/;
43785 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction640___action, LOCATE_parser, 25949); nit_exit(1);}
43786 variable[7] = variable[4] /*nodearraylist2*/;
43787 variable[8] = TAG_Bool(( variable[7] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[7] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
43788 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction640___action, LOCATE_parser, 25951); nit_exit(1);}
43789 variable[9] = NEW_AContinueExpr_parser_prod___AContinueExpr___init_acontinueexpr( variable[6] /*tkwcontinuenode2*/, variable[7] /*pexprnode3*/); /*new AContinueExpr*/
43790 variable[8] = variable[9];
43791 variable[3] = variable[8] /*pexprnode1*/ /*node_list=*/;
43792 variable[9] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(83)) /*Parser::go_to*/;
43793 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
43794 return_label1312: while(false);
43795 tracehead = trace.prev;
43796 return;
43797 }
43798 void parser___ReduceAction640___init(val_t self, int* init_table) {
43799 struct trace_t trace = {NULL, NULL, 25959, LOCATE_parser___ReduceAction640___init};
43800 val_t variable[2];
43801 void **closurevariable = NULL;
43802 trace.prev = tracehead; tracehead = &trace;
43803 trace.file = LOCATE_parser;
43804 variable[0] = self;
43805 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction640].i]) return;
43806 return_label1313: while(false);
43807 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction640].i] = 1;
43808 tracehead = trace.prev;
43809 return;
43810 }
43811 void parser___ReduceAction641___action(val_t self, val_t param0) {
43812 struct trace_t trace = {NULL, NULL, 25963, LOCATE_parser___ReduceAction641___action};
43813 val_t variable[7];
43814 void **closurevariable = NULL;
43815 trace.prev = tracehead; tracehead = &trace;
43816 trace.file = LOCATE_parser;
43817 variable[0] = self;
43818 variable[1] = param0;
43819 variable[3] = NIT_NULL /*null*/;
43820 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
43821 variable[4] = variable[5];
43822 variable[5] = variable[4] /*nodearraylist1*/;
43823 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
43824 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction641___action, LOCATE_parser, 25968); nit_exit(1);}
43825 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
43826 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(83)) /*Parser::go_to*/;
43827 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
43828 return_label1314: while(false);
43829 tracehead = trace.prev;
43830 return;
43831 }
43832 void parser___ReduceAction641___init(val_t self, int* init_table) {
43833 struct trace_t trace = {NULL, NULL, 25972, LOCATE_parser___ReduceAction641___init};
43834 val_t variable[2];
43835 void **closurevariable = NULL;
43836 trace.prev = tracehead; tracehead = &trace;
43837 trace.file = LOCATE_parser;
43838 variable[0] = self;
43839 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction641].i]) return;
43840 return_label1315: while(false);
43841 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction641].i] = 1;
43842 tracehead = trace.prev;
43843 return;
43844 }
43845 void parser___ReduceAction642___action(val_t self, val_t param0) {
43846 struct trace_t trace = {NULL, NULL, 25976, LOCATE_parser___ReduceAction642___action};
43847 val_t variable[7];
43848 void **closurevariable = NULL;
43849 trace.prev = tracehead; tracehead = &trace;
43850 trace.file = LOCATE_parser;
43851 variable[0] = self;
43852 variable[1] = param0;
43853 variable[3] = NIT_NULL /*null*/;
43854 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
43855 variable[4] = variable[5];
43856 variable[5] = variable[4] /*nodearraylist1*/;
43857 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
43858 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction642___action, LOCATE_parser, 25981); nit_exit(1);}
43859 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
43860 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(83)) /*Parser::go_to*/;
43861 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
43862 return_label1316: while(false);
43863 tracehead = trace.prev;
43864 return;
43865 }
43866 void parser___ReduceAction642___init(val_t self, int* init_table) {
43867 struct trace_t trace = {NULL, NULL, 25985, LOCATE_parser___ReduceAction642___init};
43868 val_t variable[2];
43869 void **closurevariable = NULL;
43870 trace.prev = tracehead; tracehead = &trace;
43871 trace.file = LOCATE_parser;
43872 variable[0] = self;
43873 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction642].i]) return;
43874 return_label1317: while(false);
43875 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction642].i] = 1;
43876 tracehead = trace.prev;
43877 return;
43878 }
43879 void parser___ReduceAction643___action(val_t self, val_t param0) {
43880 struct trace_t trace = {NULL, NULL, 25989, LOCATE_parser___ReduceAction643___action};
43881 val_t variable[7];
43882 void **closurevariable = NULL;
43883 trace.prev = tracehead; tracehead = &trace;
43884 trace.file = LOCATE_parser;
43885 variable[0] = self;
43886 variable[1] = param0;
43887 variable[3] = NIT_NULL /*null*/;
43888 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
43889 variable[4] = variable[5];
43890 variable[5] = variable[4] /*nodearraylist1*/;
43891 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
43892 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction643___action, LOCATE_parser, 25994); nit_exit(1);}
43893 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
43894 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(83)) /*Parser::go_to*/;
43895 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
43896 return_label1318: while(false);
43897 tracehead = trace.prev;
43898 return;
43899 }
43900 void parser___ReduceAction643___init(val_t self, int* init_table) {
43901 struct trace_t trace = {NULL, NULL, 25998, LOCATE_parser___ReduceAction643___init};
43902 val_t variable[2];
43903 void **closurevariable = NULL;
43904 trace.prev = tracehead; tracehead = &trace;
43905 trace.file = LOCATE_parser;
43906 variable[0] = self;
43907 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction643].i]) return;
43908 return_label1319: while(false);
43909 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction643].i] = 1;
43910 tracehead = trace.prev;
43911 return;
43912 }
43913 void parser___ReduceAction644___action(val_t self, val_t param0) {
43914 struct trace_t trace = {NULL, NULL, 26002, LOCATE_parser___ReduceAction644___action};
43915 val_t variable[7];
43916 void **closurevariable = NULL;
43917 trace.prev = tracehead; tracehead = &trace;
43918 trace.file = LOCATE_parser;
43919 variable[0] = self;
43920 variable[1] = param0;
43921 variable[3] = NIT_NULL /*null*/;
43922 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
43923 variable[4] = variable[5];
43924 variable[5] = variable[4] /*nodearraylist1*/;
43925 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
43926 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction644___action, LOCATE_parser, 26007); nit_exit(1);}
43927 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
43928 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(83)) /*Parser::go_to*/;
43929 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
43930 return_label1320: while(false);
43931 tracehead = trace.prev;
43932 return;
43933 }
43934 void parser___ReduceAction644___init(val_t self, int* init_table) {
43935 struct trace_t trace = {NULL, NULL, 26011, LOCATE_parser___ReduceAction644___init};
43936 val_t variable[2];
43937 void **closurevariable = NULL;
43938 trace.prev = tracehead; tracehead = &trace;
43939 trace.file = LOCATE_parser;
43940 variable[0] = self;
43941 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction644].i]) return;
43942 return_label1321: while(false);
43943 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction644].i] = 1;
43944 tracehead = trace.prev;
43945 return;
43946 }
43947 void parser___ReduceAction645___action(val_t self, val_t param0) {
43948 struct trace_t trace = {NULL, NULL, 26015, LOCATE_parser___ReduceAction645___action};
43949 val_t variable[7];
43950 void **closurevariable = NULL;
43951 trace.prev = tracehead; tracehead = &trace;
43952 trace.file = LOCATE_parser;
43953 variable[0] = self;
43954 variable[1] = param0;
43955 variable[3] = NIT_NULL /*null*/;
43956 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
43957 variable[4] = variable[5];
43958 variable[5] = variable[4] /*nodearraylist1*/;
43959 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
43960 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction645___action, LOCATE_parser, 26020); nit_exit(1);}
43961 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
43962 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(83)) /*Parser::go_to*/;
43963 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
43964 return_label1322: while(false);
43965 tracehead = trace.prev;
43966 return;
43967 }
43968 void parser___ReduceAction645___init(val_t self, int* init_table) {
43969 struct trace_t trace = {NULL, NULL, 26024, LOCATE_parser___ReduceAction645___init};
43970 val_t variable[2];
43971 void **closurevariable = NULL;
43972 trace.prev = tracehead; tracehead = &trace;
43973 trace.file = LOCATE_parser;
43974 variable[0] = self;
43975 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction645].i]) return;
43976 return_label1323: while(false);
43977 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction645].i] = 1;
43978 tracehead = trace.prev;
43979 return;
43980 }
43981 void parser___ReduceAction646___action(val_t self, val_t param0) {
43982 struct trace_t trace = {NULL, NULL, 26028, LOCATE_parser___ReduceAction646___action};
43983 val_t variable[16];
43984 void **closurevariable = NULL;
43985 trace.prev = tracehead; tracehead = &trace;
43986 trace.file = LOCATE_parser;
43987 variable[0] = self;
43988 variable[1] = param0;
43989 variable[3] = NIT_NULL /*null*/;
43990 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
43991 variable[4] = variable[5];
43992 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
43993 variable[5] = variable[6];
43994 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
43995 variable[6] = variable[7];
43996 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
43997 variable[7] = variable[8];
43998 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
43999 variable[8] = variable[9];
44000 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
44001 variable[9] = variable[10];
44002 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
44003 variable[10] = variable[11];
44004 variable[11] = variable[8] /*nodearraylist1*/;
44005 variable[12] = TAG_Bool(( variable[11] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
44006 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction646___action, LOCATE_parser, 26039); nit_exit(1);}
44007 variable[12] = variable[5] /*nodearraylist4*/;
44008 variable[13] = TAG_Bool(( variable[12] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[12] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
44009 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction646___action, LOCATE_parser, 26041); nit_exit(1);}
44010 variable[13] = variable[4] /*nodearraylist5*/;
44011 variable[14] = TAG_Bool(( variable[13] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[13] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
44012 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction646___action, LOCATE_parser, 26043); nit_exit(1);}
44013 variable[14] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[13] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[13] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[13] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[13] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[13] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[13] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
44014 if (UNTAG_Bool(variable[14])) { /*if*/
44015 variable[14] = ((array___AbstractArray___is_empty_t)CALL( variable[9] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[9] /*listnode5*/) /*AbstractArray::is_empty*/;
44016 if (UNTAG_Bool(variable[14])) { /*if*/
44017 variable[9] = variable[13] /*listnode4*/ /*listnode5=*/;
44018 } else { /*if*/
44019 ((abstract_collection___IndexedCollection___append_t)CALL( variable[9] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[9] /*listnode5*/, variable[13] /*listnode4*/) /*IndexedCollection::append*/;
44020 }
44021 }
44022 variable[15] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[11] /*pexprnode2*/, variable[12] /*tidnode3*/, variable[9] /*listnode5*/, variable[10] /*listnode6*/); /*new ACallExpr*/
44023 variable[14] = variable[15];
44024 variable[3] = variable[14] /*pexprnode1*/ /*node_list=*/;
44025 variable[15] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(83)) /*Parser::go_to*/;
44026 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
44027 return_label1324: while(false);
44028 tracehead = trace.prev;
44029 return;
44030 }
44031 void parser___ReduceAction646___init(val_t self, int* init_table) {
44032 struct trace_t trace = {NULL, NULL, 26060, LOCATE_parser___ReduceAction646___init};
44033 val_t variable[2];
44034 void **closurevariable = NULL;
44035 trace.prev = tracehead; tracehead = &trace;
44036 trace.file = LOCATE_parser;
44037 variable[0] = self;
44038 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction646].i]) return;
44039 return_label1325: while(false);
44040 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction646].i] = 1;
44041 tracehead = trace.prev;
44042 return;
44043 }
44044 void parser___ReduceAction647___action(val_t self, val_t param0) {
44045 struct trace_t trace = {NULL, NULL, 26064, LOCATE_parser___ReduceAction647___action};
44046 val_t variable[13];
44047 void **closurevariable = NULL;
44048 trace.prev = tracehead; tracehead = &trace;
44049 trace.file = LOCATE_parser;
44050 variable[0] = self;
44051 variable[1] = param0;
44052 variable[3] = NIT_NULL /*null*/;
44053 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44054 variable[4] = variable[5];
44055 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44056 variable[5] = variable[6];
44057 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
44058 variable[6] = variable[7];
44059 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
44060 variable[7] = variable[8];
44061 variable[9] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
44062 variable[8] = variable[9];
44063 variable[9] = variable[5] /*nodearraylist1*/;
44064 variable[10] = TAG_Bool(( variable[9] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
44065 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction647___action, LOCATE_parser, 26074); nit_exit(1);}
44066 variable[10] = variable[4] /*nodearraylist2*/;
44067 variable[11] = TAG_Bool(( variable[10] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
44068 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction647___action, LOCATE_parser, 26076); nit_exit(1);}
44069 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[10] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
44070 if (UNTAG_Bool(variable[11])) { /*if*/
44071 variable[11] = ((array___AbstractArray___is_empty_t)CALL( variable[6] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[6] /*listnode5*/) /*AbstractArray::is_empty*/;
44072 if (UNTAG_Bool(variable[11])) { /*if*/
44073 variable[6] = variable[10] /*listnode4*/ /*listnode5=*/;
44074 } else { /*if*/
44075 ((abstract_collection___IndexedCollection___append_t)CALL( variable[6] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[6] /*listnode5*/, variable[10] /*listnode4*/) /*IndexedCollection::append*/;
44076 }
44077 }
44078 variable[12] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[8] /*pexprnode2*/, variable[9] /*tidnode3*/, variable[6] /*listnode5*/, variable[7] /*listnode6*/); /*new ACallExpr*/
44079 variable[11] = variable[12];
44080 variable[3] = variable[11] /*pexprnode1*/ /*node_list=*/;
44081 variable[12] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(83)) /*Parser::go_to*/;
44082 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
44083 return_label1326: while(false);
44084 tracehead = trace.prev;
44085 return;
44086 }
44087 void parser___ReduceAction647___init(val_t self, int* init_table) {
44088 struct trace_t trace = {NULL, NULL, 26093, LOCATE_parser___ReduceAction647___init};
44089 val_t variable[2];
44090 void **closurevariable = NULL;
44091 trace.prev = tracehead; tracehead = &trace;
44092 trace.file = LOCATE_parser;
44093 variable[0] = self;
44094 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction647].i]) return;
44095 return_label1327: while(false);
44096 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction647].i] = 1;
44097 tracehead = trace.prev;
44098 return;
44099 }
44100 void parser___ReduceAction648___action(val_t self, val_t param0) {
44101 struct trace_t trace = {NULL, NULL, 26097, LOCATE_parser___ReduceAction648___action};
44102 val_t variable[18];
44103 void **closurevariable = NULL;
44104 trace.prev = tracehead; tracehead = &trace;
44105 trace.file = LOCATE_parser;
44106 variable[0] = self;
44107 variable[1] = param0;
44108 variable[3] = NIT_NULL /*null*/;
44109 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44110 variable[4] = variable[5];
44111 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44112 variable[5] = variable[6];
44113 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44114 variable[6] = variable[7];
44115 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44116 variable[7] = variable[8];
44117 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44118 variable[8] = variable[9];
44119 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44120 variable[9] = variable[10];
44121 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
44122 variable[10] = variable[11];
44123 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
44124 variable[11] = variable[12];
44125 variable[12] = variable[9] /*nodearraylist1*/;
44126 variable[13] = TAG_Bool(( variable[12] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
44127 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction648___action, LOCATE_parser, 26109); nit_exit(1);}
44128 variable[13] = variable[6] /*nodearraylist4*/;
44129 variable[14] = TAG_Bool(( variable[13] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
44130 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction648___action, LOCATE_parser, 26111); nit_exit(1);}
44131 variable[14] = variable[5] /*nodearraylist5*/;
44132 variable[15] = TAG_Bool(( variable[14] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
44133 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction648___action, LOCATE_parser, 26113); nit_exit(1);}
44134 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[14] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[14] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[14] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[14] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
44135 if (UNTAG_Bool(variable[15])) { /*if*/
44136 variable[15] = ((array___AbstractArray___is_empty_t)CALL( variable[10] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[10] /*listnode5*/) /*AbstractArray::is_empty*/;
44137 if (UNTAG_Bool(variable[15])) { /*if*/
44138 variable[10] = variable[14] /*listnode4*/ /*listnode5=*/;
44139 } else { /*if*/
44140 ((abstract_collection___IndexedCollection___append_t)CALL( variable[10] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[10] /*listnode5*/, variable[14] /*listnode4*/) /*IndexedCollection::append*/;
44141 }
44142 }
44143 variable[15] = variable[4] /*nodearraylist6*/;
44144 variable[16] = TAG_Bool(( variable[15] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
44145 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction648___action, LOCATE_parser, 26122); nit_exit(1);}
44146 variable[16] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*listnode6*/ == NIT_NULL /*null*/) || (( variable[15] /*listnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[15] /*listnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*listnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[15] /*listnode6*/,COLOR_kernel___Object_____eqeq))( variable[15] /*listnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
44147 if (UNTAG_Bool(variable[16])) { /*if*/
44148 variable[16] = ((array___AbstractArray___is_empty_t)CALL( variable[11] /*listnode7*/,COLOR_abstract_collection___Collection___is_empty))( variable[11] /*listnode7*/) /*AbstractArray::is_empty*/;
44149 if (UNTAG_Bool(variable[16])) { /*if*/
44150 variable[11] = variable[15] /*listnode6*/ /*listnode7=*/;
44151 } else { /*if*/
44152 ((abstract_collection___IndexedCollection___append_t)CALL( variable[11] /*listnode7*/,COLOR_abstract_collection___IndexedCollection___append))( variable[11] /*listnode7*/, variable[15] /*listnode6*/) /*IndexedCollection::append*/;
44153 }
44154 }
44155 variable[17] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[12] /*pexprnode2*/, variable[13] /*tidnode3*/, variable[10] /*listnode5*/, variable[11] /*listnode7*/); /*new ACallExpr*/
44156 variable[16] = variable[17];
44157 variable[3] = variable[16] /*pexprnode1*/ /*node_list=*/;
44158 variable[17] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(83)) /*Parser::go_to*/;
44159 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
44160 return_label1328: while(false);
44161 tracehead = trace.prev;
44162 return;
44163 }
44164 void parser___ReduceAction648___init(val_t self, int* init_table) {
44165 struct trace_t trace = {NULL, NULL, 26139, LOCATE_parser___ReduceAction648___init};
44166 val_t variable[2];
44167 void **closurevariable = NULL;
44168 trace.prev = tracehead; tracehead = &trace;
44169 trace.file = LOCATE_parser;
44170 variable[0] = self;
44171 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction648].i]) return;
44172 return_label1329: while(false);
44173 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction648].i] = 1;
44174 tracehead = trace.prev;
44175 return;
44176 }
44177 void parser___ReduceAction649___action(val_t self, val_t param0) {
44178 struct trace_t trace = {NULL, NULL, 26143, LOCATE_parser___ReduceAction649___action};
44179 val_t variable[15];
44180 void **closurevariable = NULL;
44181 trace.prev = tracehead; tracehead = &trace;
44182 trace.file = LOCATE_parser;
44183 variable[0] = self;
44184 variable[1] = param0;
44185 variable[3] = NIT_NULL /*null*/;
44186 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44187 variable[4] = variable[5];
44188 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44189 variable[5] = variable[6];
44190 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44191 variable[6] = variable[7];
44192 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
44193 variable[7] = variable[8];
44194 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
44195 variable[8] = variable[9];
44196 variable[10] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
44197 variable[9] = variable[10];
44198 variable[10] = variable[6] /*nodearraylist1*/;
44199 variable[11] = TAG_Bool(( variable[10] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
44200 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction649___action, LOCATE_parser, 26154); nit_exit(1);}
44201 variable[11] = variable[5] /*nodearraylist2*/;
44202 variable[12] = TAG_Bool(( variable[11] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
44203 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction649___action, LOCATE_parser, 26156); nit_exit(1);}
44204 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[11] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
44205 if (UNTAG_Bool(variable[12])) { /*if*/
44206 variable[12] = ((array___AbstractArray___is_empty_t)CALL( variable[7] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[7] /*listnode5*/) /*AbstractArray::is_empty*/;
44207 if (UNTAG_Bool(variable[12])) { /*if*/
44208 variable[7] = variable[11] /*listnode4*/ /*listnode5=*/;
44209 } else { /*if*/
44210 ((abstract_collection___IndexedCollection___append_t)CALL( variable[7] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[7] /*listnode5*/, variable[11] /*listnode4*/) /*IndexedCollection::append*/;
44211 }
44212 }
44213 variable[12] = variable[4] /*nodearraylist3*/;
44214 variable[13] = TAG_Bool(( variable[12] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
44215 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction649___action, LOCATE_parser, 26165); nit_exit(1);}
44216 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode6*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode6*/,COLOR_kernel___Object_____eqeq))( variable[12] /*listnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
44217 if (UNTAG_Bool(variable[13])) { /*if*/
44218 variable[13] = ((array___AbstractArray___is_empty_t)CALL( variable[8] /*listnode7*/,COLOR_abstract_collection___Collection___is_empty))( variable[8] /*listnode7*/) /*AbstractArray::is_empty*/;
44219 if (UNTAG_Bool(variable[13])) { /*if*/
44220 variable[8] = variable[12] /*listnode6*/ /*listnode7=*/;
44221 } else { /*if*/
44222 ((abstract_collection___IndexedCollection___append_t)CALL( variable[8] /*listnode7*/,COLOR_abstract_collection___IndexedCollection___append))( variable[8] /*listnode7*/, variable[12] /*listnode6*/) /*IndexedCollection::append*/;
44223 }
44224 }
44225 variable[14] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[9] /*pexprnode2*/, variable[10] /*tidnode3*/, variable[7] /*listnode5*/, variable[8] /*listnode7*/); /*new ACallExpr*/
44226 variable[13] = variable[14];
44227 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
44228 variable[14] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(83)) /*Parser::go_to*/;
44229 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
44230 return_label1330: while(false);
44231 tracehead = trace.prev;
44232 return;
44233 }
44234 void parser___ReduceAction649___init(val_t self, int* init_table) {
44235 struct trace_t trace = {NULL, NULL, 26182, LOCATE_parser___ReduceAction649___init};
44236 val_t variable[2];
44237 void **closurevariable = NULL;
44238 trace.prev = tracehead; tracehead = &trace;
44239 trace.file = LOCATE_parser;
44240 variable[0] = self;
44241 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction649].i]) return;
44242 return_label1331: while(false);
44243 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction649].i] = 1;
44244 tracehead = trace.prev;
44245 return;
44246 }
44247 void parser___ReduceAction650___action(val_t self, val_t param0) {
44248 struct trace_t trace = {NULL, NULL, 26186, LOCATE_parser___ReduceAction650___action};
44249 val_t variable[11];
44250 void **closurevariable = NULL;
44251 trace.prev = tracehead; tracehead = &trace;
44252 trace.file = LOCATE_parser;
44253 variable[0] = self;
44254 variable[1] = param0;
44255 variable[3] = NIT_NULL /*null*/;
44256 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44257 variable[4] = variable[5];
44258 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44259 variable[5] = variable[6];
44260 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
44261 variable[6] = variable[7];
44262 variable[7] = variable[5] /*nodearraylist1*/;
44263 variable[8] = TAG_Bool(( variable[7] /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable[7] /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
44264 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction650___action, LOCATE_parser, 26193); nit_exit(1);}
44265 variable[8] = variable[4] /*nodearraylist2*/;
44266 variable[9] = TAG_Bool(( variable[8] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[8] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
44267 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction650___action, LOCATE_parser, 26195); nit_exit(1);}
44268 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[8] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[8] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[8] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[8] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
44269 if (UNTAG_Bool(variable[9])) { /*if*/
44270 variable[9] = ((array___AbstractArray___is_empty_t)CALL( variable[6] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[6] /*listnode5*/) /*AbstractArray::is_empty*/;
44271 if (UNTAG_Bool(variable[9])) { /*if*/
44272 variable[6] = variable[8] /*listnode4*/ /*listnode5=*/;
44273 } else { /*if*/
44274 ((abstract_collection___IndexedCollection___append_t)CALL( variable[6] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[6] /*listnode5*/, variable[8] /*listnode4*/) /*IndexedCollection::append*/;
44275 }
44276 }
44277 variable[10] = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr( NIT_NULL /*null*/, variable[7] /*tkwsupernode3*/, variable[6] /*listnode5*/); /*new ASuperExpr*/
44278 variable[9] = variable[10];
44279 variable[3] = variable[9] /*pexprnode1*/ /*node_list=*/;
44280 variable[10] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(83)) /*Parser::go_to*/;
44281 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
44282 return_label1332: while(false);
44283 tracehead = trace.prev;
44284 return;
44285 }
44286 void parser___ReduceAction650___init(val_t self, int* init_table) {
44287 struct trace_t trace = {NULL, NULL, 26211, LOCATE_parser___ReduceAction650___init};
44288 val_t variable[2];
44289 void **closurevariable = NULL;
44290 trace.prev = tracehead; tracehead = &trace;
44291 trace.file = LOCATE_parser;
44292 variable[0] = self;
44293 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction650].i]) return;
44294 return_label1333: while(false);
44295 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction650].i] = 1;
44296 tracehead = trace.prev;
44297 return;
44298 }
44299 void parser___ReduceAction651___action(val_t self, val_t param0) {
44300 struct trace_t trace = {NULL, NULL, 26215, LOCATE_parser___ReduceAction651___action};
44301 val_t variable[13];
44302 void **closurevariable = NULL;
44303 trace.prev = tracehead; tracehead = &trace;
44304 trace.file = LOCATE_parser;
44305 variable[0] = self;
44306 variable[1] = param0;
44307 variable[3] = NIT_NULL /*null*/;
44308 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44309 variable[4] = variable[5];
44310 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44311 variable[5] = variable[6];
44312 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44313 variable[6] = variable[7];
44314 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
44315 variable[7] = variable[8];
44316 variable[8] = variable[6] /*nodearraylist1*/;
44317 variable[9] = TAG_Bool(( variable[8] /*pqualifiednode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pqualifiednode2*/, COLOR_PQualified, ID_PQualified)) /*cast PQualified*/;
44318 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction651___action, LOCATE_parser, 26223); nit_exit(1);}
44319 variable[9] = variable[5] /*nodearraylist2*/;
44320 variable[10] = TAG_Bool(( variable[9] /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
44321 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction651___action, LOCATE_parser, 26225); nit_exit(1);}
44322 variable[10] = variable[4] /*nodearraylist3*/;
44323 variable[11] = TAG_Bool(( variable[10] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
44324 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction651___action, LOCATE_parser, 26227); nit_exit(1);}
44325 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[10] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
44326 if (UNTAG_Bool(variable[11])) { /*if*/
44327 variable[11] = ((array___AbstractArray___is_empty_t)CALL( variable[7] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[7] /*listnode5*/) /*AbstractArray::is_empty*/;
44328 if (UNTAG_Bool(variable[11])) { /*if*/
44329 variable[7] = variable[10] /*listnode4*/ /*listnode5=*/;
44330 } else { /*if*/
44331 ((abstract_collection___IndexedCollection___append_t)CALL( variable[7] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[7] /*listnode5*/, variable[10] /*listnode4*/) /*IndexedCollection::append*/;
44332 }
44333 }
44334 variable[12] = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr( variable[8] /*pqualifiednode2*/, variable[9] /*tkwsupernode3*/, variable[7] /*listnode5*/); /*new ASuperExpr*/
44335 variable[11] = variable[12];
44336 variable[3] = variable[11] /*pexprnode1*/ /*node_list=*/;
44337 variable[12] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(83)) /*Parser::go_to*/;
44338 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
44339 return_label1334: while(false);
44340 tracehead = trace.prev;
44341 return;
44342 }
44343 void parser___ReduceAction651___init(val_t self, int* init_table) {
44344 struct trace_t trace = {NULL, NULL, 26243, LOCATE_parser___ReduceAction651___init};
44345 val_t variable[2];
44346 void **closurevariable = NULL;
44347 trace.prev = tracehead; tracehead = &trace;
44348 trace.file = LOCATE_parser;
44349 variable[0] = self;
44350 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction651].i]) return;
44351 return_label1335: while(false);
44352 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction651].i] = 1;
44353 tracehead = trace.prev;
44354 return;
44355 }
44356 void parser___ReduceAction652___action(val_t self, val_t param0) {
44357 struct trace_t trace = {NULL, NULL, 26247, LOCATE_parser___ReduceAction652___action};
44358 val_t variable[15];
44359 void **closurevariable = NULL;
44360 trace.prev = tracehead; tracehead = &trace;
44361 trace.file = LOCATE_parser;
44362 variable[0] = self;
44363 variable[1] = param0;
44364 variable[3] = NIT_NULL /*null*/;
44365 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44366 variable[4] = variable[5];
44367 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44368 variable[5] = variable[6];
44369 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44370 variable[6] = variable[7];
44371 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44372 variable[7] = variable[8];
44373 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44374 variable[8] = variable[9];
44375 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
44376 variable[9] = variable[10];
44377 variable[10] = variable[8] /*nodearraylist1*/;
44378 variable[11] = TAG_Bool(( variable[10] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
44379 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction652___action, LOCATE_parser, 26257); nit_exit(1);}
44380 variable[11] = variable[5] /*nodearraylist4*/;
44381 variable[12] = TAG_Bool(( variable[11] /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
44382 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction652___action, LOCATE_parser, 26259); nit_exit(1);}
44383 variable[12] = variable[4] /*nodearraylist5*/;
44384 variable[13] = TAG_Bool(( variable[12] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
44385 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction652___action, LOCATE_parser, 26261); nit_exit(1);}
44386 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[12] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
44387 if (UNTAG_Bool(variable[13])) { /*if*/
44388 variable[13] = ((array___AbstractArray___is_empty_t)CALL( variable[9] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[9] /*listnode5*/) /*AbstractArray::is_empty*/;
44389 if (UNTAG_Bool(variable[13])) { /*if*/
44390 variable[9] = variable[12] /*listnode4*/ /*listnode5=*/;
44391 } else { /*if*/
44392 ((abstract_collection___IndexedCollection___append_t)CALL( variable[9] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[9] /*listnode5*/, variable[12] /*listnode4*/) /*IndexedCollection::append*/;
44393 }
44394 }
44395 variable[14] = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr( variable[10] /*pexprnode2*/, variable[11] /*tkwinitnode3*/, variable[9] /*listnode5*/); /*new AInitExpr*/
44396 variable[13] = variable[14];
44397 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
44398 variable[14] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(83)) /*Parser::go_to*/;
44399 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
44400 return_label1336: while(false);
44401 tracehead = trace.prev;
44402 return;
44403 }
44404 void parser___ReduceAction652___init(val_t self, int* init_table) {
44405 struct trace_t trace = {NULL, NULL, 26277, LOCATE_parser___ReduceAction652___init};
44406 val_t variable[2];
44407 void **closurevariable = NULL;
44408 trace.prev = tracehead; tracehead = &trace;
44409 trace.file = LOCATE_parser;
44410 variable[0] = self;
44411 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction652].i]) return;
44412 return_label1337: while(false);
44413 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction652].i] = 1;
44414 tracehead = trace.prev;
44415 return;
44416 }
44417 void parser___ReduceAction653___action(val_t self, val_t param0) {
44418 struct trace_t trace = {NULL, NULL, 26281, LOCATE_parser___ReduceAction653___action};
44419 val_t variable[12];
44420 void **closurevariable = NULL;
44421 trace.prev = tracehead; tracehead = &trace;
44422 trace.file = LOCATE_parser;
44423 variable[0] = self;
44424 variable[1] = param0;
44425 variable[3] = NIT_NULL /*null*/;
44426 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44427 variable[4] = variable[5];
44428 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44429 variable[5] = variable[6];
44430 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
44431 variable[6] = variable[7];
44432 variable[8] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
44433 variable[7] = variable[8];
44434 variable[8] = variable[5] /*nodearraylist1*/;
44435 variable[9] = TAG_Bool(( variable[8] /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
44436 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction653___action, LOCATE_parser, 26290); nit_exit(1);}
44437 variable[9] = variable[4] /*nodearraylist2*/;
44438 variable[10] = TAG_Bool(( variable[9] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[9] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
44439 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction653___action, LOCATE_parser, 26292); nit_exit(1);}
44440 variable[10] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[9] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[9] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[9] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[9] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[9] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[9] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
44441 if (UNTAG_Bool(variable[10])) { /*if*/
44442 variable[10] = ((array___AbstractArray___is_empty_t)CALL( variable[6] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[6] /*listnode5*/) /*AbstractArray::is_empty*/;
44443 if (UNTAG_Bool(variable[10])) { /*if*/
44444 variable[6] = variable[9] /*listnode4*/ /*listnode5=*/;
44445 } else { /*if*/
44446 ((abstract_collection___IndexedCollection___append_t)CALL( variable[6] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[6] /*listnode5*/, variable[9] /*listnode4*/) /*IndexedCollection::append*/;
44447 }
44448 }
44449 variable[11] = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr( variable[7] /*pexprnode2*/, variable[8] /*tkwinitnode3*/, variable[6] /*listnode5*/); /*new AInitExpr*/
44450 variable[10] = variable[11];
44451 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
44452 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(83)) /*Parser::go_to*/;
44453 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
44454 return_label1338: while(false);
44455 tracehead = trace.prev;
44456 return;
44457 }
44458 void parser___ReduceAction653___init(val_t self, int* init_table) {
44459 struct trace_t trace = {NULL, NULL, 26308, LOCATE_parser___ReduceAction653___init};
44460 val_t variable[2];
44461 void **closurevariable = NULL;
44462 trace.prev = tracehead; tracehead = &trace;
44463 trace.file = LOCATE_parser;
44464 variable[0] = self;
44465 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction653].i]) return;
44466 return_label1339: while(false);
44467 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction653].i] = 1;
44468 tracehead = trace.prev;
44469 return;
44470 }
44471 void parser___ReduceAction654___action(val_t self, val_t param0) {
44472 struct trace_t trace = {NULL, NULL, 26312, LOCATE_parser___ReduceAction654___action};
44473 val_t variable[8];
44474 void **closurevariable = NULL;
44475 trace.prev = tracehead; tracehead = &trace;
44476 trace.file = LOCATE_parser;
44477 variable[0] = self;
44478 variable[1] = param0;
44479 variable[3] = NIT_NULL /*null*/;
44480 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44481 variable[4] = variable[5];
44482 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
44483 variable[5] = variable[6];
44484 variable[6] = variable[4] /*nodearraylist1*/;
44485 variable[7] = TAG_Bool(( variable[6] /*pclosuredefnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*pclosuredefnode1*/, COLOR_PClosureDef, ID_PClosureDef)) /*cast PClosureDef*/;
44486 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction654___action, LOCATE_parser, 26318); nit_exit(1);}
44487 variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[6] /*pclosuredefnode1*/ == NIT_NULL /*null*/) || (( variable[6] /*pclosuredefnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[6] /*pclosuredefnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*pclosuredefnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[6] /*pclosuredefnode1*/,COLOR_kernel___Object_____eqeq))( variable[6] /*pclosuredefnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
44488 if (UNTAG_Bool(variable[7])) { /*if*/
44489 ((array___AbstractArray___add_t)CALL( variable[5] /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable[5] /*listnode2*/, variable[6] /*pclosuredefnode1*/) /*AbstractArray::add*/;
44490 }
44491 variable[3] = variable[5] /*listnode2*/ /*node_list=*/;
44492 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(84)) /*Parser::go_to*/;
44493 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
44494 return_label1340: while(false);
44495 tracehead = trace.prev;
44496 return;
44497 }
44498 void parser___ReduceAction654___init(val_t self, int* init_table) {
44499 struct trace_t trace = {NULL, NULL, 26325, LOCATE_parser___ReduceAction654___init};
44500 val_t variable[2];
44501 void **closurevariable = NULL;
44502 trace.prev = tracehead; tracehead = &trace;
44503 trace.file = LOCATE_parser;
44504 variable[0] = self;
44505 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction654].i]) return;
44506 return_label1341: while(false);
44507 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction654].i] = 1;
44508 tracehead = trace.prev;
44509 return;
44510 }
44511 void parser___ReduceAction655___action(val_t self, val_t param0) {
44512 struct trace_t trace = {NULL, NULL, 26329, LOCATE_parser___ReduceAction655___action};
44513 val_t variable[10];
44514 void **closurevariable = NULL;
44515 trace.prev = tracehead; tracehead = &trace;
44516 trace.file = LOCATE_parser;
44517 variable[0] = self;
44518 variable[1] = param0;
44519 variable[3] = NIT_NULL /*null*/;
44520 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44521 variable[4] = variable[5];
44522 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44523 variable[5] = variable[6];
44524 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
44525 variable[6] = variable[7];
44526 variable[7] = variable[5] /*nodearraylist1*/;
44527 variable[8] = TAG_Bool(( variable[7] /*pclosuredefnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*pclosuredefnode1*/, COLOR_PClosureDef, ID_PClosureDef)) /*cast PClosureDef*/;
44528 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction655___action, LOCATE_parser, 26336); nit_exit(1);}
44529 variable[8] = variable[4] /*nodearraylist2*/;
44530 variable[9] = TAG_Bool(( variable[8] /*listnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
44531 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction655___action, LOCATE_parser, 26338); nit_exit(1);}
44532 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[7] /*pclosuredefnode1*/ == NIT_NULL /*null*/) || (( variable[7] /*pclosuredefnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[7] /*pclosuredefnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[7] /*pclosuredefnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[7] /*pclosuredefnode1*/,COLOR_kernel___Object_____eqeq))( variable[7] /*pclosuredefnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
44533 if (UNTAG_Bool(variable[9])) { /*if*/
44534 ((array___AbstractArray___add_t)CALL( variable[6] /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable[6] /*listnode3*/, variable[7] /*pclosuredefnode1*/) /*AbstractArray::add*/;
44535 }
44536 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*listnode2*/ == NIT_NULL /*null*/) || (( variable[8] /*listnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[8] /*listnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*listnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[8] /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable[8] /*listnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
44537 if (UNTAG_Bool(variable[9])) { /*if*/
44538 variable[9] = ((array___AbstractArray___is_empty_t)CALL( variable[6] /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable[6] /*listnode3*/) /*AbstractArray::is_empty*/;
44539 if (UNTAG_Bool(variable[9])) { /*if*/
44540 variable[6] = variable[8] /*listnode2*/ /*listnode3=*/;
44541 } else { /*if*/
44542 ((abstract_collection___IndexedCollection___append_t)CALL( variable[6] /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable[6] /*listnode3*/, variable[8] /*listnode2*/) /*IndexedCollection::append*/;
44543 }
44544 }
44545 variable[3] = variable[6] /*listnode3*/ /*node_list=*/;
44546 variable[9] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(84)) /*Parser::go_to*/;
44547 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
44548 return_label1342: while(false);
44549 tracehead = trace.prev;
44550 return;
44551 }
44552 void parser___ReduceAction655___init(val_t self, int* init_table) {
44553 struct trace_t trace = {NULL, NULL, 26352, LOCATE_parser___ReduceAction655___init};
44554 val_t variable[2];
44555 void **closurevariable = NULL;
44556 trace.prev = tracehead; tracehead = &trace;
44557 trace.file = LOCATE_parser;
44558 variable[0] = self;
44559 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction655].i]) return;
44560 return_label1343: while(false);
44561 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction655].i] = 1;
44562 tracehead = trace.prev;
44563 return;
44564 }
44565 void parser___ReduceAction656___action(val_t self, val_t param0) {
44566 struct trace_t trace = {NULL, NULL, 26356, LOCATE_parser___ReduceAction656___action};
44567 val_t variable[13];
44568 void **closurevariable = NULL;
44569 trace.prev = tracehead; tracehead = &trace;
44570 trace.file = LOCATE_parser;
44571 variable[0] = self;
44572 variable[1] = param0;
44573 variable[3] = NIT_NULL /*null*/;
44574 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44575 variable[4] = variable[5];
44576 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44577 variable[5] = variable[6];
44578 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44579 variable[6] = variable[7];
44580 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
44581 variable[7] = variable[8];
44582 variable[8] = variable[6] /*nodearraylist1*/;
44583 variable[9] = TAG_Bool(( variable[8] /*tkwwithnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*tkwwithnode2*/, COLOR_TKwwith, ID_TKwwith)) /*cast TKwwith*/;
44584 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction656___action, LOCATE_parser, 26364); nit_exit(1);}
44585 variable[9] = variable[5] /*nodearraylist2*/;
44586 variable[10] = TAG_Bool(( variable[9] /*tkwdonode4*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwdonode4*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
44587 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction656___action, LOCATE_parser, 26366); nit_exit(1);}
44588 variable[10] = variable[4] /*nodearraylist3*/;
44589 variable[11] = TAG_Bool(( variable[10] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
44590 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction656___action, LOCATE_parser, 26368); nit_exit(1);}
44591 variable[12] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef( variable[8] /*tkwwithnode2*/, variable[7] /*listnode3*/, variable[9] /*tkwdonode4*/, variable[10] /*pexprnode5*/); /*new AClosureDef*/
44592 variable[11] = variable[12];
44593 variable[3] = variable[11] /*pclosuredefnode1*/ /*node_list=*/;
44594 variable[12] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(85)) /*Parser::go_to*/;
44595 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
44596 return_label1344: while(false);
44597 tracehead = trace.prev;
44598 return;
44599 }
44600 void parser___ReduceAction656___init(val_t self, int* init_table) {
44601 struct trace_t trace = {NULL, NULL, 26378, LOCATE_parser___ReduceAction656___init};
44602 val_t variable[2];
44603 void **closurevariable = NULL;
44604 trace.prev = tracehead; tracehead = &trace;
44605 trace.file = LOCATE_parser;
44606 variable[0] = self;
44607 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction656].i]) return;
44608 return_label1345: while(false);
44609 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction656].i] = 1;
44610 tracehead = trace.prev;
44611 return;
44612 }
44613 void parser___ReduceAction657___action(val_t self, val_t param0) {
44614 struct trace_t trace = {NULL, NULL, 26382, LOCATE_parser___ReduceAction657___action};
44615 val_t variable[15];
44616 void **closurevariable = NULL;
44617 trace.prev = tracehead; tracehead = &trace;
44618 trace.file = LOCATE_parser;
44619 variable[0] = self;
44620 variable[1] = param0;
44621 variable[3] = NIT_NULL /*null*/;
44622 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44623 variable[4] = variable[5];
44624 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44625 variable[5] = variable[6];
44626 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44627 variable[6] = variable[7];
44628 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44629 variable[7] = variable[8];
44630 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
44631 variable[8] = variable[9];
44632 variable[9] = variable[7] /*nodearraylist1*/;
44633 variable[10] = TAG_Bool(( variable[9] /*tkwwithnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwwithnode2*/, COLOR_TKwwith, ID_TKwwith)) /*cast TKwwith*/;
44634 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction657___action, LOCATE_parser, 26391); nit_exit(1);}
44635 variable[10] = variable[6] /*nodearraylist2*/;
44636 variable[11] = TAG_Bool(( variable[10] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
44637 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction657___action, LOCATE_parser, 26393); nit_exit(1);}
44638 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable[10] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
44639 if (UNTAG_Bool(variable[11])) { /*if*/
44640 variable[11] = ((array___AbstractArray___is_empty_t)CALL( variable[8] /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable[8] /*listnode4*/) /*AbstractArray::is_empty*/;
44641 if (UNTAG_Bool(variable[11])) { /*if*/
44642 variable[8] = variable[10] /*listnode3*/ /*listnode4=*/;
44643 } else { /*if*/
44644 ((abstract_collection___IndexedCollection___append_t)CALL( variable[8] /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable[8] /*listnode4*/, variable[10] /*listnode3*/) /*IndexedCollection::append*/;
44645 }
44646 }
44647 variable[11] = variable[5] /*nodearraylist3*/;
44648 variable[12] = TAG_Bool(( variable[11] /*tkwdonode5*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwdonode5*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
44649 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction657___action, LOCATE_parser, 26402); nit_exit(1);}
44650 variable[12] = variable[4] /*nodearraylist4*/;
44651 variable[13] = TAG_Bool(( variable[12] /*pexprnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode6*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
44652 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction657___action, LOCATE_parser, 26404); nit_exit(1);}
44653 variable[14] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef( variable[9] /*tkwwithnode2*/, variable[8] /*listnode4*/, variable[11] /*tkwdonode5*/, variable[12] /*pexprnode6*/); /*new AClosureDef*/
44654 variable[13] = variable[14];
44655 variable[3] = variable[13] /*pclosuredefnode1*/ /*node_list=*/;
44656 variable[14] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(85)) /*Parser::go_to*/;
44657 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
44658 return_label1346: while(false);
44659 tracehead = trace.prev;
44660 return;
44661 }
44662 void parser___ReduceAction657___init(val_t self, int* init_table) {
44663 struct trace_t trace = {NULL, NULL, 26414, LOCATE_parser___ReduceAction657___init};
44664 val_t variable[2];
44665 void **closurevariable = NULL;
44666 trace.prev = tracehead; tracehead = &trace;
44667 trace.file = LOCATE_parser;
44668 variable[0] = self;
44669 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction657].i]) return;
44670 return_label1347: while(false);
44671 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction657].i] = 1;
44672 tracehead = trace.prev;
44673 return;
44674 }
44675 void parser___ReduceAction658___action(val_t self, val_t param0) {
44676 struct trace_t trace = {NULL, NULL, 26418, LOCATE_parser___ReduceAction658___action};
44677 val_t variable[10];
44678 void **closurevariable = NULL;
44679 trace.prev = tracehead; tracehead = &trace;
44680 trace.file = LOCATE_parser;
44681 variable[0] = self;
44682 variable[1] = param0;
44683 variable[3] = NIT_NULL /*null*/;
44684 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44685 variable[4] = variable[5];
44686 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44687 variable[5] = variable[6];
44688 variable[6] = variable[5] /*nodearraylist1*/;
44689 variable[7] = TAG_Bool(( variable[6] /*tkwvarnode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tkwvarnode2*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
44690 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction658___action, LOCATE_parser, 26424); nit_exit(1);}
44691 variable[7] = variable[4] /*nodearraylist2*/;
44692 variable[8] = TAG_Bool(( variable[7] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[7] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
44693 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction658___action, LOCATE_parser, 26426); nit_exit(1);}
44694 variable[9] = NEW_AVardeclExpr_parser_prod___AVardeclExpr___init_avardeclexpr( variable[6] /*tkwvarnode2*/, variable[7] /*tidnode3*/, NIT_NULL /*null*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AVardeclExpr*/
44695 variable[8] = variable[9];
44696 variable[3] = variable[8] /*pexprnode1*/ /*node_list=*/;
44697 variable[9] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(86)) /*Parser::go_to*/;
44698 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
44699 return_label1348: while(false);
44700 tracehead = trace.prev;
44701 return;
44702 }
44703 void parser___ReduceAction658___init(val_t self, int* init_table) {
44704 struct trace_t trace = {NULL, NULL, 26437, LOCATE_parser___ReduceAction658___init};
44705 val_t variable[2];
44706 void **closurevariable = NULL;
44707 trace.prev = tracehead; tracehead = &trace;
44708 trace.file = LOCATE_parser;
44709 variable[0] = self;
44710 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction658].i]) return;
44711 return_label1349: while(false);
44712 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction658].i] = 1;
44713 tracehead = trace.prev;
44714 return;
44715 }
44716 void parser___ReduceAction659___action(val_t self, val_t param0) {
44717 struct trace_t trace = {NULL, NULL, 26441, LOCATE_parser___ReduceAction659___action};
44718 val_t variable[12];
44719 void **closurevariable = NULL;
44720 trace.prev = tracehead; tracehead = &trace;
44721 trace.file = LOCATE_parser;
44722 variable[0] = self;
44723 variable[1] = param0;
44724 variable[3] = NIT_NULL /*null*/;
44725 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44726 variable[4] = variable[5];
44727 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44728 variable[5] = variable[6];
44729 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44730 variable[6] = variable[7];
44731 variable[7] = variable[6] /*nodearraylist1*/;
44732 variable[8] = TAG_Bool(( variable[7] /*tkwvarnode2*/==NIT_NULL) || VAL_ISA( variable[7] /*tkwvarnode2*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
44733 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction659___action, LOCATE_parser, 26448); nit_exit(1);}
44734 variable[8] = variable[5] /*nodearraylist2*/;
44735 variable[9] = TAG_Bool(( variable[8] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
44736 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction659___action, LOCATE_parser, 26450); nit_exit(1);}
44737 variable[9] = variable[4] /*nodearraylist3*/;
44738 variable[10] = TAG_Bool(( variable[9] /*ptypenode4*/==NIT_NULL) || VAL_ISA( variable[9] /*ptypenode4*/, COLOR_PType, ID_PType)) /*cast PType*/;
44739 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction659___action, LOCATE_parser, 26452); nit_exit(1);}
44740 variable[11] = NEW_AVardeclExpr_parser_prod___AVardeclExpr___init_avardeclexpr( variable[7] /*tkwvarnode2*/, variable[8] /*tidnode3*/, variable[9] /*ptypenode4*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AVardeclExpr*/
44741 variable[10] = variable[11];
44742 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
44743 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(86)) /*Parser::go_to*/;
44744 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
44745 return_label1350: while(false);
44746 tracehead = trace.prev;
44747 return;
44748 }
44749 void parser___ReduceAction659___init(val_t self, int* init_table) {
44750 struct trace_t trace = {NULL, NULL, 26463, LOCATE_parser___ReduceAction659___init};
44751 val_t variable[2];
44752 void **closurevariable = NULL;
44753 trace.prev = tracehead; tracehead = &trace;
44754 trace.file = LOCATE_parser;
44755 variable[0] = self;
44756 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction659].i]) return;
44757 return_label1351: while(false);
44758 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction659].i] = 1;
44759 tracehead = trace.prev;
44760 return;
44761 }
44762 void parser___ReduceAction660___action(val_t self, val_t param0) {
44763 struct trace_t trace = {NULL, NULL, 26467, LOCATE_parser___ReduceAction660___action};
44764 val_t variable[15];
44765 void **closurevariable = NULL;
44766 trace.prev = tracehead; tracehead = &trace;
44767 trace.file = LOCATE_parser;
44768 variable[0] = self;
44769 variable[1] = param0;
44770 variable[3] = NIT_NULL /*null*/;
44771 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44772 variable[4] = variable[5];
44773 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44774 variable[5] = variable[6];
44775 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44776 variable[6] = variable[7];
44777 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44778 variable[7] = variable[8];
44779 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44780 variable[8] = variable[9];
44781 variable[9] = variable[8] /*nodearraylist1*/;
44782 variable[10] = TAG_Bool(( variable[9] /*tkwvarnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwvarnode2*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
44783 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction660___action, LOCATE_parser, 26476); nit_exit(1);}
44784 variable[10] = variable[7] /*nodearraylist2*/;
44785 variable[11] = TAG_Bool(( variable[10] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
44786 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction660___action, LOCATE_parser, 26478); nit_exit(1);}
44787 variable[11] = variable[6] /*nodearraylist3*/;
44788 variable[12] = TAG_Bool(( variable[11] /*tassignnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*tassignnode5*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
44789 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction660___action, LOCATE_parser, 26480); nit_exit(1);}
44790 variable[12] = variable[4] /*nodearraylist5*/;
44791 variable[13] = TAG_Bool(( variable[12] /*pexprnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode6*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
44792 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction660___action, LOCATE_parser, 26482); nit_exit(1);}
44793 variable[14] = NEW_AVardeclExpr_parser_prod___AVardeclExpr___init_avardeclexpr( variable[9] /*tkwvarnode2*/, variable[10] /*tidnode3*/, NIT_NULL /*null*/, variable[11] /*tassignnode5*/, variable[12] /*pexprnode6*/); /*new AVardeclExpr*/
44794 variable[13] = variable[14];
44795 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
44796 variable[14] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(86)) /*Parser::go_to*/;
44797 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
44798 return_label1352: while(false);
44799 tracehead = trace.prev;
44800 return;
44801 }
44802 void parser___ReduceAction660___init(val_t self, int* init_table) {
44803 struct trace_t trace = {NULL, NULL, 26493, LOCATE_parser___ReduceAction660___init};
44804 val_t variable[2];
44805 void **closurevariable = NULL;
44806 trace.prev = tracehead; tracehead = &trace;
44807 trace.file = LOCATE_parser;
44808 variable[0] = self;
44809 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction660].i]) return;
44810 return_label1353: while(false);
44811 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction660].i] = 1;
44812 tracehead = trace.prev;
44813 return;
44814 }
44815 void parser___ReduceAction661___action(val_t self, val_t param0) {
44816 struct trace_t trace = {NULL, NULL, 26497, LOCATE_parser___ReduceAction661___action};
44817 val_t variable[17];
44818 void **closurevariable = NULL;
44819 trace.prev = tracehead; tracehead = &trace;
44820 trace.file = LOCATE_parser;
44821 variable[0] = self;
44822 variable[1] = param0;
44823 variable[3] = NIT_NULL /*null*/;
44824 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44825 variable[4] = variable[5];
44826 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44827 variable[5] = variable[6];
44828 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44829 variable[6] = variable[7];
44830 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44831 variable[7] = variable[8];
44832 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44833 variable[8] = variable[9];
44834 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44835 variable[9] = variable[10];
44836 variable[10] = variable[9] /*nodearraylist1*/;
44837 variable[11] = TAG_Bool(( variable[10] /*tkwvarnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*tkwvarnode2*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
44838 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction661___action, LOCATE_parser, 26507); nit_exit(1);}
44839 variable[11] = variable[8] /*nodearraylist2*/;
44840 variable[12] = TAG_Bool(( variable[11] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
44841 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction661___action, LOCATE_parser, 26509); nit_exit(1);}
44842 variable[12] = variable[7] /*nodearraylist3*/;
44843 variable[13] = TAG_Bool(( variable[12] /*ptypenode4*/==NIT_NULL) || VAL_ISA( variable[12] /*ptypenode4*/, COLOR_PType, ID_PType)) /*cast PType*/;
44844 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction661___action, LOCATE_parser, 26511); nit_exit(1);}
44845 variable[13] = variable[6] /*nodearraylist4*/;
44846 variable[14] = TAG_Bool(( variable[13] /*tassignnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tassignnode5*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
44847 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction661___action, LOCATE_parser, 26513); nit_exit(1);}
44848 variable[14] = variable[4] /*nodearraylist6*/;
44849 variable[15] = TAG_Bool(( variable[14] /*pexprnode6*/==NIT_NULL) || VAL_ISA( variable[14] /*pexprnode6*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
44850 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction661___action, LOCATE_parser, 26515); nit_exit(1);}
44851 variable[16] = NEW_AVardeclExpr_parser_prod___AVardeclExpr___init_avardeclexpr( variable[10] /*tkwvarnode2*/, variable[11] /*tidnode3*/, variable[12] /*ptypenode4*/, variable[13] /*tassignnode5*/, variable[14] /*pexprnode6*/); /*new AVardeclExpr*/
44852 variable[15] = variable[16];
44853 variable[3] = variable[15] /*pexprnode1*/ /*node_list=*/;
44854 variable[16] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(86)) /*Parser::go_to*/;
44855 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[16], variable[3] /*node_list*/) /*Parser::push*/;
44856 return_label1354: while(false);
44857 tracehead = trace.prev;
44858 return;
44859 }
44860 void parser___ReduceAction661___init(val_t self, int* init_table) {
44861 struct trace_t trace = {NULL, NULL, 26526, LOCATE_parser___ReduceAction661___init};
44862 val_t variable[2];
44863 void **closurevariable = NULL;
44864 trace.prev = tracehead; tracehead = &trace;
44865 trace.file = LOCATE_parser;
44866 variable[0] = self;
44867 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction661].i]) return;
44868 return_label1355: while(false);
44869 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction661].i] = 1;
44870 tracehead = trace.prev;
44871 return;
44872 }
44873 void parser___ReduceAction662___action(val_t self, val_t param0) {
44874 struct trace_t trace = {NULL, NULL, 26530, LOCATE_parser___ReduceAction662___action};
44875 val_t variable[16];
44876 void **closurevariable = NULL;
44877 trace.prev = tracehead; tracehead = &trace;
44878 trace.file = LOCATE_parser;
44879 variable[0] = self;
44880 variable[1] = param0;
44881 variable[3] = NIT_NULL /*null*/;
44882 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44883 variable[4] = variable[5];
44884 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44885 variable[5] = variable[6];
44886 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44887 variable[6] = variable[7];
44888 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44889 variable[7] = variable[8];
44890 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44891 variable[8] = variable[9];
44892 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44893 variable[9] = variable[10];
44894 variable[10] = variable[9] /*nodearraylist1*/;
44895 variable[11] = TAG_Bool(( variable[10] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
44896 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction662___action, LOCATE_parser, 26540); nit_exit(1);}
44897 variable[11] = variable[6] /*nodearraylist4*/;
44898 variable[12] = TAG_Bool(( variable[11] /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
44899 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction662___action, LOCATE_parser, 26542); nit_exit(1);}
44900 variable[12] = variable[5] /*nodearraylist5*/;
44901 variable[13] = TAG_Bool(( variable[12] /*tassignnode4*/==NIT_NULL) || VAL_ISA( variable[12] /*tassignnode4*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
44902 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction662___action, LOCATE_parser, 26544); nit_exit(1);}
44903 variable[13] = variable[4] /*nodearraylist6*/;
44904 variable[14] = TAG_Bool(( variable[13] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
44905 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction662___action, LOCATE_parser, 26546); nit_exit(1);}
44906 variable[15] = NEW_AAttrAssignExpr_parser_prod___AAttrAssignExpr___init_aattrassignexpr( variable[10] /*pexprnode2*/, variable[11] /*tattridnode3*/, variable[12] /*tassignnode4*/, variable[13] /*pexprnode5*/); /*new AAttrAssignExpr*/
44907 variable[14] = variable[15];
44908 variable[3] = variable[14] /*pexprnode1*/ /*node_list=*/;
44909 variable[15] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(87)) /*Parser::go_to*/;
44910 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
44911 return_label1356: while(false);
44912 tracehead = trace.prev;
44913 return;
44914 }
44915 void parser___ReduceAction662___init(val_t self, int* init_table) {
44916 struct trace_t trace = {NULL, NULL, 26556, LOCATE_parser___ReduceAction662___init};
44917 val_t variable[2];
44918 void **closurevariable = NULL;
44919 trace.prev = tracehead; tracehead = &trace;
44920 trace.file = LOCATE_parser;
44921 variable[0] = self;
44922 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction662].i]) return;
44923 return_label1357: while(false);
44924 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction662].i] = 1;
44925 tracehead = trace.prev;
44926 return;
44927 }
44928 void parser___ReduceAction663___action(val_t self, val_t param0) {
44929 struct trace_t trace = {NULL, NULL, 26560, LOCATE_parser___ReduceAction663___action};
44930 val_t variable[13];
44931 void **closurevariable = NULL;
44932 trace.prev = tracehead; tracehead = &trace;
44933 trace.file = LOCATE_parser;
44934 variable[0] = self;
44935 variable[1] = param0;
44936 variable[3] = NIT_NULL /*null*/;
44937 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44938 variable[4] = variable[5];
44939 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44940 variable[5] = variable[6];
44941 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44942 variable[6] = variable[7];
44943 variable[8] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
44944 variable[7] = variable[8];
44945 variable[8] = variable[6] /*nodearraylist1*/;
44946 variable[9] = TAG_Bool(( variable[8] /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
44947 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction663___action, LOCATE_parser, 26569); nit_exit(1);}
44948 variable[9] = variable[5] /*nodearraylist2*/;
44949 variable[10] = TAG_Bool(( variable[9] /*tassignnode4*/==NIT_NULL) || VAL_ISA( variable[9] /*tassignnode4*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
44950 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction663___action, LOCATE_parser, 26571); nit_exit(1);}
44951 variable[10] = variable[4] /*nodearraylist3*/;
44952 variable[11] = TAG_Bool(( variable[10] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
44953 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction663___action, LOCATE_parser, 26573); nit_exit(1);}
44954 variable[12] = NEW_AAttrAssignExpr_parser_prod___AAttrAssignExpr___init_aattrassignexpr( variable[7] /*pexprnode2*/, variable[8] /*tattridnode3*/, variable[9] /*tassignnode4*/, variable[10] /*pexprnode5*/); /*new AAttrAssignExpr*/
44955 variable[11] = variable[12];
44956 variable[3] = variable[11] /*pexprnode1*/ /*node_list=*/;
44957 variable[12] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(87)) /*Parser::go_to*/;
44958 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
44959 return_label1358: while(false);
44960 tracehead = trace.prev;
44961 return;
44962 }
44963 void parser___ReduceAction663___init(val_t self, int* init_table) {
44964 struct trace_t trace = {NULL, NULL, 26583, LOCATE_parser___ReduceAction663___init};
44965 val_t variable[2];
44966 void **closurevariable = NULL;
44967 trace.prev = tracehead; tracehead = &trace;
44968 trace.file = LOCATE_parser;
44969 variable[0] = self;
44970 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction663].i]) return;
44971 return_label1359: while(false);
44972 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction663].i] = 1;
44973 tracehead = trace.prev;
44974 return;
44975 }
44976 void parser___ReduceAction664___action(val_t self, val_t param0) {
44977 struct trace_t trace = {NULL, NULL, 26587, LOCATE_parser___ReduceAction664___action};
44978 val_t variable[19];
44979 void **closurevariable = NULL;
44980 trace.prev = tracehead; tracehead = &trace;
44981 trace.file = LOCATE_parser;
44982 variable[0] = self;
44983 variable[1] = param0;
44984 variable[3] = NIT_NULL /*null*/;
44985 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44986 variable[4] = variable[5];
44987 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44988 variable[5] = variable[6];
44989 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44990 variable[6] = variable[7];
44991 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44992 variable[7] = variable[8];
44993 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44994 variable[8] = variable[9];
44995 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44996 variable[9] = variable[10];
44997 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
44998 variable[10] = variable[11];
44999 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
45000 variable[11] = variable[12];
45001 variable[12] = variable[10] /*nodearraylist1*/;
45002 variable[13] = TAG_Bool(( variable[12] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
45003 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction664___action, LOCATE_parser, 26599); nit_exit(1);}
45004 variable[13] = variable[7] /*nodearraylist4*/;
45005 variable[14] = TAG_Bool(( variable[13] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
45006 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction664___action, LOCATE_parser, 26601); nit_exit(1);}
45007 variable[14] = variable[6] /*nodearraylist5*/;
45008 variable[15] = TAG_Bool(( variable[14] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
45009 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction664___action, LOCATE_parser, 26603); nit_exit(1);}
45010 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[14] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[14] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[14] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[14] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
45011 if (UNTAG_Bool(variable[15])) { /*if*/
45012 variable[15] = ((array___AbstractArray___is_empty_t)CALL( variable[11] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[11] /*listnode5*/) /*AbstractArray::is_empty*/;
45013 if (UNTAG_Bool(variable[15])) { /*if*/
45014 variable[11] = variable[14] /*listnode4*/ /*listnode5=*/;
45015 } else { /*if*/
45016 ((abstract_collection___IndexedCollection___append_t)CALL( variable[11] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[11] /*listnode5*/, variable[14] /*listnode4*/) /*IndexedCollection::append*/;
45017 }
45018 }
45019 variable[15] = variable[5] /*nodearraylist6*/;
45020 variable[16] = TAG_Bool(( variable[15] /*tassignnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*tassignnode6*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
45021 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction664___action, LOCATE_parser, 26612); nit_exit(1);}
45022 variable[16] = variable[4] /*nodearraylist7*/;
45023 variable[17] = TAG_Bool(( variable[16] /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable[16] /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
45024 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction664___action, LOCATE_parser, 26614); nit_exit(1);}
45025 variable[18] = NEW_ACallAssignExpr_parser_prod___ACallAssignExpr___init_acallassignexpr( variable[12] /*pexprnode2*/, variable[13] /*tidnode3*/, variable[11] /*listnode5*/, variable[15] /*tassignnode6*/, variable[16] /*pexprnode7*/); /*new ACallAssignExpr*/
45026 variable[17] = variable[18];
45027 variable[3] = variable[17] /*pexprnode1*/ /*node_list=*/;
45028 variable[18] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(87)) /*Parser::go_to*/;
45029 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
45030 return_label1360: while(false);
45031 tracehead = trace.prev;
45032 return;
45033 }
45034 void parser___ReduceAction664___init(val_t self, int* init_table) {
45035 struct trace_t trace = {NULL, NULL, 26625, LOCATE_parser___ReduceAction664___init};
45036 val_t variable[2];
45037 void **closurevariable = NULL;
45038 trace.prev = tracehead; tracehead = &trace;
45039 trace.file = LOCATE_parser;
45040 variable[0] = self;
45041 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction664].i]) return;
45042 return_label1361: while(false);
45043 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction664].i] = 1;
45044 tracehead = trace.prev;
45045 return;
45046 }
45047 void parser___ReduceAction665___action(val_t self, val_t param0) {
45048 struct trace_t trace = {NULL, NULL, 26629, LOCATE_parser___ReduceAction665___action};
45049 val_t variable[16];
45050 void **closurevariable = NULL;
45051 trace.prev = tracehead; tracehead = &trace;
45052 trace.file = LOCATE_parser;
45053 variable[0] = self;
45054 variable[1] = param0;
45055 variable[3] = NIT_NULL /*null*/;
45056 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45057 variable[4] = variable[5];
45058 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45059 variable[5] = variable[6];
45060 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45061 variable[6] = variable[7];
45062 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45063 variable[7] = variable[8];
45064 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
45065 variable[8] = variable[9];
45066 variable[10] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
45067 variable[9] = variable[10];
45068 variable[10] = variable[7] /*nodearraylist1*/;
45069 variable[11] = TAG_Bool(( variable[10] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
45070 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction665___action, LOCATE_parser, 26640); nit_exit(1);}
45071 variable[11] = variable[6] /*nodearraylist2*/;
45072 variable[12] = TAG_Bool(( variable[11] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
45073 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction665___action, LOCATE_parser, 26642); nit_exit(1);}
45074 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[11] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
45075 if (UNTAG_Bool(variable[12])) { /*if*/
45076 variable[12] = ((array___AbstractArray___is_empty_t)CALL( variable[8] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[8] /*listnode5*/) /*AbstractArray::is_empty*/;
45077 if (UNTAG_Bool(variable[12])) { /*if*/
45078 variable[8] = variable[11] /*listnode4*/ /*listnode5=*/;
45079 } else { /*if*/
45080 ((abstract_collection___IndexedCollection___append_t)CALL( variable[8] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[8] /*listnode5*/, variable[11] /*listnode4*/) /*IndexedCollection::append*/;
45081 }
45082 }
45083 variable[12] = variable[5] /*nodearraylist3*/;
45084 variable[13] = TAG_Bool(( variable[12] /*tassignnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*tassignnode6*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
45085 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction665___action, LOCATE_parser, 26651); nit_exit(1);}
45086 variable[13] = variable[4] /*nodearraylist4*/;
45087 variable[14] = TAG_Bool(( variable[13] /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable[13] /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
45088 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction665___action, LOCATE_parser, 26653); nit_exit(1);}
45089 variable[15] = NEW_ACallAssignExpr_parser_prod___ACallAssignExpr___init_acallassignexpr( variable[9] /*pexprnode2*/, variable[10] /*tidnode3*/, variable[8] /*listnode5*/, variable[12] /*tassignnode6*/, variable[13] /*pexprnode7*/); /*new ACallAssignExpr*/
45090 variable[14] = variable[15];
45091 variable[3] = variable[14] /*pexprnode1*/ /*node_list=*/;
45092 variable[15] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(87)) /*Parser::go_to*/;
45093 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
45094 return_label1362: while(false);
45095 tracehead = trace.prev;
45096 return;
45097 }
45098 void parser___ReduceAction665___init(val_t self, int* init_table) {
45099 struct trace_t trace = {NULL, NULL, 26664, LOCATE_parser___ReduceAction665___init};
45100 val_t variable[2];
45101 void **closurevariable = NULL;
45102 trace.prev = tracehead; tracehead = &trace;
45103 trace.file = LOCATE_parser;
45104 variable[0] = self;
45105 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction665].i]) return;
45106 return_label1363: while(false);
45107 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction665].i] = 1;
45108 tracehead = trace.prev;
45109 return;
45110 }
45111 void parser___ReduceAction666___action(val_t self, val_t param0) {
45112 struct trace_t trace = {NULL, NULL, 26668, LOCATE_parser___ReduceAction666___action};
45113 val_t variable[15];
45114 void **closurevariable = NULL;
45115 trace.prev = tracehead; tracehead = &trace;
45116 trace.file = LOCATE_parser;
45117 variable[0] = self;
45118 variable[1] = param0;
45119 variable[3] = NIT_NULL /*null*/;
45120 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45121 variable[4] = variable[5];
45122 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45123 variable[5] = variable[6];
45124 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45125 variable[6] = variable[7];
45126 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45127 variable[7] = variable[8];
45128 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
45129 variable[8] = variable[9];
45130 variable[9] = variable[7] /*nodearraylist1*/;
45131 variable[10] = TAG_Bool(( variable[9] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
45132 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction666___action, LOCATE_parser, 26677); nit_exit(1);}
45133 variable[10] = variable[6] /*nodearraylist2*/;
45134 variable[11] = TAG_Bool(( variable[10] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
45135 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction666___action, LOCATE_parser, 26679); nit_exit(1);}
45136 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable[10] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
45137 if (UNTAG_Bool(variable[11])) { /*if*/
45138 variable[11] = ((array___AbstractArray___is_empty_t)CALL( variable[8] /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable[8] /*listnode4*/) /*AbstractArray::is_empty*/;
45139 if (UNTAG_Bool(variable[11])) { /*if*/
45140 variable[8] = variable[10] /*listnode3*/ /*listnode4=*/;
45141 } else { /*if*/
45142 ((abstract_collection___IndexedCollection___append_t)CALL( variable[8] /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable[8] /*listnode4*/, variable[10] /*listnode3*/) /*IndexedCollection::append*/;
45143 }
45144 }
45145 variable[11] = variable[5] /*nodearraylist3*/;
45146 variable[12] = TAG_Bool(( variable[11] /*tassignnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*tassignnode5*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
45147 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction666___action, LOCATE_parser, 26688); nit_exit(1);}
45148 variable[12] = variable[4] /*nodearraylist4*/;
45149 variable[13] = TAG_Bool(( variable[12] /*pexprnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode6*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
45150 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction666___action, LOCATE_parser, 26690); nit_exit(1);}
45151 variable[14] = NEW_ABraAssignExpr_parser_prod___ABraAssignExpr___init_abraassignexpr( variable[9] /*pexprnode2*/, variable[8] /*listnode4*/, variable[11] /*tassignnode5*/, variable[12] /*pexprnode6*/); /*new ABraAssignExpr*/
45152 variable[13] = variable[14];
45153 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
45154 variable[14] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(87)) /*Parser::go_to*/;
45155 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
45156 return_label1364: while(false);
45157 tracehead = trace.prev;
45158 return;
45159 }
45160 void parser___ReduceAction666___init(val_t self, int* init_table) {
45161 struct trace_t trace = {NULL, NULL, 26700, LOCATE_parser___ReduceAction666___init};
45162 val_t variable[2];
45163 void **closurevariable = NULL;
45164 trace.prev = tracehead; tracehead = &trace;
45165 trace.file = LOCATE_parser;
45166 variable[0] = self;
45167 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction666].i]) return;
45168 return_label1365: while(false);
45169 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction666].i] = 1;
45170 tracehead = trace.prev;
45171 return;
45172 }
45173 void parser___ReduceAction667___action(val_t self, val_t param0) {
45174 struct trace_t trace = {NULL, NULL, 26704, LOCATE_parser___ReduceAction667___action};
45175 val_t variable[16];
45176 void **closurevariable = NULL;
45177 trace.prev = tracehead; tracehead = &trace;
45178 trace.file = LOCATE_parser;
45179 variable[0] = self;
45180 variable[1] = param0;
45181 variable[3] = NIT_NULL /*null*/;
45182 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45183 variable[4] = variable[5];
45184 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45185 variable[5] = variable[6];
45186 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45187 variable[6] = variable[7];
45188 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45189 variable[7] = variable[8];
45190 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45191 variable[8] = variable[9];
45192 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45193 variable[9] = variable[10];
45194 variable[10] = variable[9] /*nodearraylist1*/;
45195 variable[11] = TAG_Bool(( variable[10] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
45196 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction667___action, LOCATE_parser, 26714); nit_exit(1);}
45197 variable[11] = variable[6] /*nodearraylist4*/;
45198 variable[12] = TAG_Bool(( variable[11] /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
45199 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction667___action, LOCATE_parser, 26716); nit_exit(1);}
45200 variable[12] = variable[5] /*nodearraylist5*/;
45201 variable[13] = TAG_Bool(( variable[12] /*passignopnode4*/==NIT_NULL) || VAL_ISA( variable[12] /*passignopnode4*/, COLOR_PAssignOp, ID_PAssignOp)) /*cast PAssignOp*/;
45202 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction667___action, LOCATE_parser, 26718); nit_exit(1);}
45203 variable[13] = variable[4] /*nodearraylist6*/;
45204 variable[14] = TAG_Bool(( variable[13] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
45205 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction667___action, LOCATE_parser, 26720); nit_exit(1);}
45206 variable[15] = NEW_AAttrReassignExpr_parser_prod___AAttrReassignExpr___init_aattrreassignexpr( variable[10] /*pexprnode2*/, variable[11] /*tattridnode3*/, variable[12] /*passignopnode4*/, variable[13] /*pexprnode5*/); /*new AAttrReassignExpr*/
45207 variable[14] = variable[15];
45208 variable[3] = variable[14] /*pexprnode1*/ /*node_list=*/;
45209 variable[15] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(87)) /*Parser::go_to*/;
45210 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
45211 return_label1366: while(false);
45212 tracehead = trace.prev;
45213 return;
45214 }
45215 void parser___ReduceAction667___init(val_t self, int* init_table) {
45216 struct trace_t trace = {NULL, NULL, 26730, LOCATE_parser___ReduceAction667___init};
45217 val_t variable[2];
45218 void **closurevariable = NULL;
45219 trace.prev = tracehead; tracehead = &trace;
45220 trace.file = LOCATE_parser;
45221 variable[0] = self;
45222 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction667].i]) return;
45223 return_label1367: while(false);
45224 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction667].i] = 1;
45225 tracehead = trace.prev;
45226 return;
45227 }
45228 void parser___ReduceAction668___action(val_t self, val_t param0) {
45229 struct trace_t trace = {NULL, NULL, 26734, LOCATE_parser___ReduceAction668___action};
45230 val_t variable[13];
45231 void **closurevariable = NULL;
45232 trace.prev = tracehead; tracehead = &trace;
45233 trace.file = LOCATE_parser;
45234 variable[0] = self;
45235 variable[1] = param0;
45236 variable[3] = NIT_NULL /*null*/;
45237 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45238 variable[4] = variable[5];
45239 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45240 variable[5] = variable[6];
45241 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45242 variable[6] = variable[7];
45243 variable[8] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
45244 variable[7] = variable[8];
45245 variable[8] = variable[6] /*nodearraylist1*/;
45246 variable[9] = TAG_Bool(( variable[8] /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
45247 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction668___action, LOCATE_parser, 26743); nit_exit(1);}
45248 variable[9] = variable[5] /*nodearraylist2*/;
45249 variable[10] = TAG_Bool(( variable[9] /*passignopnode4*/==NIT_NULL) || VAL_ISA( variable[9] /*passignopnode4*/, COLOR_PAssignOp, ID_PAssignOp)) /*cast PAssignOp*/;
45250 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction668___action, LOCATE_parser, 26745); nit_exit(1);}
45251 variable[10] = variable[4] /*nodearraylist3*/;
45252 variable[11] = TAG_Bool(( variable[10] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
45253 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction668___action, LOCATE_parser, 26747); nit_exit(1);}
45254 variable[12] = NEW_AAttrReassignExpr_parser_prod___AAttrReassignExpr___init_aattrreassignexpr( variable[7] /*pexprnode2*/, variable[8] /*tattridnode3*/, variable[9] /*passignopnode4*/, variable[10] /*pexprnode5*/); /*new AAttrReassignExpr*/
45255 variable[11] = variable[12];
45256 variable[3] = variable[11] /*pexprnode1*/ /*node_list=*/;
45257 variable[12] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(87)) /*Parser::go_to*/;
45258 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
45259 return_label1368: while(false);
45260 tracehead = trace.prev;
45261 return;
45262 }
45263 void parser___ReduceAction668___init(val_t self, int* init_table) {
45264 struct trace_t trace = {NULL, NULL, 26757, LOCATE_parser___ReduceAction668___init};
45265 val_t variable[2];
45266 void **closurevariable = NULL;
45267 trace.prev = tracehead; tracehead = &trace;
45268 trace.file = LOCATE_parser;
45269 variable[0] = self;
45270 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction668].i]) return;
45271 return_label1369: while(false);
45272 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction668].i] = 1;
45273 tracehead = trace.prev;
45274 return;
45275 }
45276 void parser___ReduceAction669___action(val_t self, val_t param0) {
45277 struct trace_t trace = {NULL, NULL, 26761, LOCATE_parser___ReduceAction669___action};
45278 val_t variable[19];
45279 void **closurevariable = NULL;
45280 trace.prev = tracehead; tracehead = &trace;
45281 trace.file = LOCATE_parser;
45282 variable[0] = self;
45283 variable[1] = param0;
45284 variable[3] = NIT_NULL /*null*/;
45285 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45286 variable[4] = variable[5];
45287 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45288 variable[5] = variable[6];
45289 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45290 variable[6] = variable[7];
45291 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45292 variable[7] = variable[8];
45293 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45294 variable[8] = variable[9];
45295 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45296 variable[9] = variable[10];
45297 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45298 variable[10] = variable[11];
45299 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
45300 variable[11] = variable[12];
45301 variable[12] = variable[10] /*nodearraylist1*/;
45302 variable[13] = TAG_Bool(( variable[12] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
45303 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction669___action, LOCATE_parser, 26773); nit_exit(1);}
45304 variable[13] = variable[7] /*nodearraylist4*/;
45305 variable[14] = TAG_Bool(( variable[13] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
45306 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction669___action, LOCATE_parser, 26775); nit_exit(1);}
45307 variable[14] = variable[6] /*nodearraylist5*/;
45308 variable[15] = TAG_Bool(( variable[14] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
45309 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction669___action, LOCATE_parser, 26777); nit_exit(1);}
45310 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[14] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[14] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[14] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[14] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
45311 if (UNTAG_Bool(variable[15])) { /*if*/
45312 variable[15] = ((array___AbstractArray___is_empty_t)CALL( variable[11] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[11] /*listnode5*/) /*AbstractArray::is_empty*/;
45313 if (UNTAG_Bool(variable[15])) { /*if*/
45314 variable[11] = variable[14] /*listnode4*/ /*listnode5=*/;
45315 } else { /*if*/
45316 ((abstract_collection___IndexedCollection___append_t)CALL( variable[11] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[11] /*listnode5*/, variable[14] /*listnode4*/) /*IndexedCollection::append*/;
45317 }
45318 }
45319 variable[15] = variable[5] /*nodearraylist6*/;
45320 variable[16] = TAG_Bool(( variable[15] /*passignopnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*passignopnode6*/, COLOR_PAssignOp, ID_PAssignOp)) /*cast PAssignOp*/;
45321 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction669___action, LOCATE_parser, 26786); nit_exit(1);}
45322 variable[16] = variable[4] /*nodearraylist7*/;
45323 variable[17] = TAG_Bool(( variable[16] /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable[16] /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
45324 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction669___action, LOCATE_parser, 26788); nit_exit(1);}
45325 variable[18] = NEW_ACallReassignExpr_parser_prod___ACallReassignExpr___init_acallreassignexpr( variable[12] /*pexprnode2*/, variable[13] /*tidnode3*/, variable[11] /*listnode5*/, variable[15] /*passignopnode6*/, variable[16] /*pexprnode7*/); /*new ACallReassignExpr*/
45326 variable[17] = variable[18];
45327 variable[3] = variable[17] /*pexprnode1*/ /*node_list=*/;
45328 variable[18] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(87)) /*Parser::go_to*/;
45329 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
45330 return_label1370: while(false);
45331 tracehead = trace.prev;
45332 return;
45333 }
45334 void parser___ReduceAction669___init(val_t self, int* init_table) {
45335 struct trace_t trace = {NULL, NULL, 26799, LOCATE_parser___ReduceAction669___init};
45336 val_t variable[2];
45337 void **closurevariable = NULL;
45338 trace.prev = tracehead; tracehead = &trace;
45339 trace.file = LOCATE_parser;
45340 variable[0] = self;
45341 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction669].i]) return;
45342 return_label1371: while(false);
45343 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction669].i] = 1;
45344 tracehead = trace.prev;
45345 return;
45346 }
45347 void parser___ReduceAction670___action(val_t self, val_t param0) {
45348 struct trace_t trace = {NULL, NULL, 26803, LOCATE_parser___ReduceAction670___action};
45349 val_t variable[16];
45350 void **closurevariable = NULL;
45351 trace.prev = tracehead; tracehead = &trace;
45352 trace.file = LOCATE_parser;
45353 variable[0] = self;
45354 variable[1] = param0;
45355 variable[3] = NIT_NULL /*null*/;
45356 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45357 variable[4] = variable[5];
45358 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45359 variable[5] = variable[6];
45360 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45361 variable[6] = variable[7];
45362 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45363 variable[7] = variable[8];
45364 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
45365 variable[8] = variable[9];
45366 variable[10] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
45367 variable[9] = variable[10];
45368 variable[10] = variable[7] /*nodearraylist1*/;
45369 variable[11] = TAG_Bool(( variable[10] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
45370 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction670___action, LOCATE_parser, 26814); nit_exit(1);}
45371 variable[11] = variable[6] /*nodearraylist2*/;
45372 variable[12] = TAG_Bool(( variable[11] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
45373 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction670___action, LOCATE_parser, 26816); nit_exit(1);}
45374 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[11] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
45375 if (UNTAG_Bool(variable[12])) { /*if*/
45376 variable[12] = ((array___AbstractArray___is_empty_t)CALL( variable[8] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[8] /*listnode5*/) /*AbstractArray::is_empty*/;
45377 if (UNTAG_Bool(variable[12])) { /*if*/
45378 variable[8] = variable[11] /*listnode4*/ /*listnode5=*/;
45379 } else { /*if*/
45380 ((abstract_collection___IndexedCollection___append_t)CALL( variable[8] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[8] /*listnode5*/, variable[11] /*listnode4*/) /*IndexedCollection::append*/;
45381 }
45382 }
45383 variable[12] = variable[5] /*nodearraylist3*/;
45384 variable[13] = TAG_Bool(( variable[12] /*passignopnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*passignopnode6*/, COLOR_PAssignOp, ID_PAssignOp)) /*cast PAssignOp*/;
45385 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction670___action, LOCATE_parser, 26825); nit_exit(1);}
45386 variable[13] = variable[4] /*nodearraylist4*/;
45387 variable[14] = TAG_Bool(( variable[13] /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable[13] /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
45388 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction670___action, LOCATE_parser, 26827); nit_exit(1);}
45389 variable[15] = NEW_ACallReassignExpr_parser_prod___ACallReassignExpr___init_acallreassignexpr( variable[9] /*pexprnode2*/, variable[10] /*tidnode3*/, variable[8] /*listnode5*/, variable[12] /*passignopnode6*/, variable[13] /*pexprnode7*/); /*new ACallReassignExpr*/
45390 variable[14] = variable[15];
45391 variable[3] = variable[14] /*pexprnode1*/ /*node_list=*/;
45392 variable[15] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(87)) /*Parser::go_to*/;
45393 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
45394 return_label1372: while(false);
45395 tracehead = trace.prev;
45396 return;
45397 }
45398 void parser___ReduceAction670___init(val_t self, int* init_table) {
45399 struct trace_t trace = {NULL, NULL, 26838, LOCATE_parser___ReduceAction670___init};
45400 val_t variable[2];
45401 void **closurevariable = NULL;
45402 trace.prev = tracehead; tracehead = &trace;
45403 trace.file = LOCATE_parser;
45404 variable[0] = self;
45405 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction670].i]) return;
45406 return_label1373: while(false);
45407 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction670].i] = 1;
45408 tracehead = trace.prev;
45409 return;
45410 }
45411 void parser___ReduceAction671___action(val_t self, val_t param0) {
45412 struct trace_t trace = {NULL, NULL, 26842, LOCATE_parser___ReduceAction671___action};
45413 val_t variable[15];
45414 void **closurevariable = NULL;
45415 trace.prev = tracehead; tracehead = &trace;
45416 trace.file = LOCATE_parser;
45417 variable[0] = self;
45418 variable[1] = param0;
45419 variable[3] = NIT_NULL /*null*/;
45420 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45421 variable[4] = variable[5];
45422 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45423 variable[5] = variable[6];
45424 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45425 variable[6] = variable[7];
45426 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45427 variable[7] = variable[8];
45428 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
45429 variable[8] = variable[9];
45430 variable[9] = variable[7] /*nodearraylist1*/;
45431 variable[10] = TAG_Bool(( variable[9] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
45432 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction671___action, LOCATE_parser, 26851); nit_exit(1);}
45433 variable[10] = variable[6] /*nodearraylist2*/;
45434 variable[11] = TAG_Bool(( variable[10] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
45435 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction671___action, LOCATE_parser, 26853); nit_exit(1);}
45436 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable[10] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
45437 if (UNTAG_Bool(variable[11])) { /*if*/
45438 variable[11] = ((array___AbstractArray___is_empty_t)CALL( variable[8] /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable[8] /*listnode4*/) /*AbstractArray::is_empty*/;
45439 if (UNTAG_Bool(variable[11])) { /*if*/
45440 variable[8] = variable[10] /*listnode3*/ /*listnode4=*/;
45441 } else { /*if*/
45442 ((abstract_collection___IndexedCollection___append_t)CALL( variable[8] /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable[8] /*listnode4*/, variable[10] /*listnode3*/) /*IndexedCollection::append*/;
45443 }
45444 }
45445 variable[11] = variable[5] /*nodearraylist3*/;
45446 variable[12] = TAG_Bool(( variable[11] /*passignopnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*passignopnode5*/, COLOR_PAssignOp, ID_PAssignOp)) /*cast PAssignOp*/;
45447 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction671___action, LOCATE_parser, 26862); nit_exit(1);}
45448 variable[12] = variable[4] /*nodearraylist4*/;
45449 variable[13] = TAG_Bool(( variable[12] /*pexprnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode6*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
45450 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction671___action, LOCATE_parser, 26864); nit_exit(1);}
45451 variable[14] = NEW_ABraReassignExpr_parser_prod___ABraReassignExpr___init_abrareassignexpr( variable[9] /*pexprnode2*/, variable[8] /*listnode4*/, variable[11] /*passignopnode5*/, variable[12] /*pexprnode6*/); /*new ABraReassignExpr*/
45452 variable[13] = variable[14];
45453 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
45454 variable[14] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(87)) /*Parser::go_to*/;
45455 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
45456 return_label1374: while(false);
45457 tracehead = trace.prev;
45458 return;
45459 }
45460 void parser___ReduceAction671___init(val_t self, int* init_table) {
45461 struct trace_t trace = {NULL, NULL, 26874, LOCATE_parser___ReduceAction671___init};
45462 val_t variable[2];
45463 void **closurevariable = NULL;
45464 trace.prev = tracehead; tracehead = &trace;
45465 trace.file = LOCATE_parser;
45466 variable[0] = self;
45467 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction671].i]) return;
45468 return_label1375: while(false);
45469 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction671].i] = 1;
45470 tracehead = trace.prev;
45471 return;
45472 }
45473 void parser___ReduceAction672___action(val_t self, val_t param0) {
45474 struct trace_t trace = {NULL, NULL, 26878, LOCATE_parser___ReduceAction672___action};
45475 val_t variable[10];
45476 void **closurevariable = NULL;
45477 trace.prev = tracehead; tracehead = &trace;
45478 trace.file = LOCATE_parser;
45479 variable[0] = self;
45480 variable[1] = param0;
45481 variable[3] = NIT_NULL /*null*/;
45482 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45483 variable[4] = variable[5];
45484 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45485 variable[5] = variable[6];
45486 variable[6] = variable[5] /*nodearraylist1*/;
45487 variable[7] = TAG_Bool(( variable[6] /*tkwdonode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tkwdonode2*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
45488 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction672___action, LOCATE_parser, 26884); nit_exit(1);}
45489 variable[7] = variable[4] /*nodearraylist2*/;
45490 variable[8] = TAG_Bool(( variable[7] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[7] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
45491 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction672___action, LOCATE_parser, 26886); nit_exit(1);}
45492 variable[9] = NEW_ADoExpr_parser_prod___ADoExpr___init_adoexpr( variable[6] /*tkwdonode2*/, variable[7] /*pexprnode3*/); /*new ADoExpr*/
45493 variable[8] = variable[9];
45494 variable[3] = variable[8] /*pexprnode1*/ /*node_list=*/;
45495 variable[9] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(88)) /*Parser::go_to*/;
45496 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
45497 return_label1376: while(false);
45498 tracehead = trace.prev;
45499 return;
45500 }
45501 void parser___ReduceAction672___init(val_t self, int* init_table) {
45502 struct trace_t trace = {NULL, NULL, 26894, LOCATE_parser___ReduceAction672___init};
45503 val_t variable[2];
45504 void **closurevariable = NULL;
45505 trace.prev = tracehead; tracehead = &trace;
45506 trace.file = LOCATE_parser;
45507 variable[0] = self;
45508 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction672].i]) return;
45509 return_label1377: while(false);
45510 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction672].i] = 1;
45511 tracehead = trace.prev;
45512 return;
45513 }
45514 void parser___ReduceAction673___action(val_t self, val_t param0) {
45515 struct trace_t trace = {NULL, NULL, 26898, LOCATE_parser___ReduceAction673___action};
45516 val_t variable[18];
45517 void **closurevariable = NULL;
45518 trace.prev = tracehead; tracehead = &trace;
45519 trace.file = LOCATE_parser;
45520 variable[0] = self;
45521 variable[1] = param0;
45522 variable[3] = NIT_NULL /*null*/;
45523 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45524 variable[4] = variable[5];
45525 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45526 variable[5] = variable[6];
45527 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45528 variable[6] = variable[7];
45529 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45530 variable[7] = variable[8];
45531 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45532 variable[8] = variable[9];
45533 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45534 variable[9] = variable[10];
45535 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45536 variable[10] = variable[11];
45537 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45538 variable[11] = variable[12];
45539 variable[12] = variable[11] /*nodearraylist1*/;
45540 variable[13] = TAG_Bool(( variable[12] /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
45541 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction673___action, LOCATE_parser, 26910); nit_exit(1);}
45542 variable[13] = variable[9] /*nodearraylist3*/;
45543 variable[14] = TAG_Bool(( variable[13] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
45544 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction673___action, LOCATE_parser, 26912); nit_exit(1);}
45545 variable[14] = variable[6] /*nodearraylist6*/;
45546 variable[15] = TAG_Bool(( variable[14] /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
45547 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction673___action, LOCATE_parser, 26914); nit_exit(1);}
45548 variable[15] = variable[4] /*nodearraylist8*/;
45549 variable[16] = TAG_Bool(( variable[15] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
45550 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction673___action, LOCATE_parser, 26916); nit_exit(1);}
45551 variable[17] = NEW_AIfExpr_parser_prod___AIfExpr___init_aifexpr( variable[12] /*tkwifnode2*/, variable[13] /*pexprnode3*/, variable[14] /*pexprnode4*/, variable[15] /*pexprnode5*/); /*new AIfExpr*/
45552 variable[16] = variable[17];
45553 variable[3] = variable[16] /*pexprnode1*/ /*node_list=*/;
45554 variable[17] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(89)) /*Parser::go_to*/;
45555 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
45556 return_label1378: while(false);
45557 tracehead = trace.prev;
45558 return;
45559 }
45560 void parser___ReduceAction673___init(val_t self, int* init_table) {
45561 struct trace_t trace = {NULL, NULL, 26926, LOCATE_parser___ReduceAction673___init};
45562 val_t variable[2];
45563 void **closurevariable = NULL;
45564 trace.prev = tracehead; tracehead = &trace;
45565 trace.file = LOCATE_parser;
45566 variable[0] = self;
45567 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction673].i]) return;
45568 return_label1379: while(false);
45569 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction673].i] = 1;
45570 tracehead = trace.prev;
45571 return;
45572 }
45573 void parser___ReduceAction674___action(val_t self, val_t param0) {
45574 struct trace_t trace = {NULL, NULL, 26930, LOCATE_parser___ReduceAction674___action};
45575 val_t variable[16];
45576 void **closurevariable = NULL;
45577 trace.prev = tracehead; tracehead = &trace;
45578 trace.file = LOCATE_parser;
45579 variable[0] = self;
45580 variable[1] = param0;
45581 variable[3] = NIT_NULL /*null*/;
45582 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45583 variable[4] = variable[5];
45584 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45585 variable[5] = variable[6];
45586 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45587 variable[6] = variable[7];
45588 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45589 variable[7] = variable[8];
45590 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45591 variable[8] = variable[9];
45592 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45593 variable[9] = variable[10];
45594 variable[10] = variable[9] /*nodearraylist1*/;
45595 variable[11] = TAG_Bool(( variable[10] /*tkwwhilenode2*/==NIT_NULL) || VAL_ISA( variable[10] /*tkwwhilenode2*/, COLOR_TKwwhile, ID_TKwwhile)) /*cast TKwwhile*/;
45596 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction674___action, LOCATE_parser, 26940); nit_exit(1);}
45597 variable[11] = variable[7] /*nodearraylist3*/;
45598 variable[12] = TAG_Bool(( variable[11] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
45599 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction674___action, LOCATE_parser, 26942); nit_exit(1);}
45600 variable[12] = variable[5] /*nodearraylist5*/;
45601 variable[13] = TAG_Bool(( variable[12] /*tkwdonode4*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwdonode4*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
45602 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction674___action, LOCATE_parser, 26944); nit_exit(1);}
45603 variable[13] = variable[4] /*nodearraylist6*/;
45604 variable[14] = TAG_Bool(( variable[13] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
45605 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction674___action, LOCATE_parser, 26946); nit_exit(1);}
45606 variable[15] = NEW_AWhileExpr_parser_prod___AWhileExpr___init_awhileexpr( variable[10] /*tkwwhilenode2*/, variable[11] /*pexprnode3*/, variable[12] /*tkwdonode4*/, variable[13] /*pexprnode5*/); /*new AWhileExpr*/
45607 variable[14] = variable[15];
45608 variable[3] = variable[14] /*pexprnode1*/ /*node_list=*/;
45609 variable[15] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(90)) /*Parser::go_to*/;
45610 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
45611 return_label1380: while(false);
45612 tracehead = trace.prev;
45613 return;
45614 }
45615 void parser___ReduceAction674___init(val_t self, int* init_table) {
45616 struct trace_t trace = {NULL, NULL, 26956, LOCATE_parser___ReduceAction674___init};
45617 val_t variable[2];
45618 void **closurevariable = NULL;
45619 trace.prev = tracehead; tracehead = &trace;
45620 trace.file = LOCATE_parser;
45621 variable[0] = self;
45622 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction674].i]) return;
45623 return_label1381: while(false);
45624 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction674].i] = 1;
45625 tracehead = trace.prev;
45626 return;
45627 }
45628 void parser___ReduceAction675___action(val_t self, val_t param0) {
45629 struct trace_t trace = {NULL, NULL, 26960, LOCATE_parser___ReduceAction675___action};
45630 val_t variable[13];
45631 void **closurevariable = NULL;
45632 trace.prev = tracehead; tracehead = &trace;
45633 trace.file = LOCATE_parser;
45634 variable[0] = self;
45635 variable[1] = param0;
45636 variable[3] = NIT_NULL /*null*/;
45637 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45638 variable[4] = variable[5];
45639 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45640 variable[5] = variable[6];
45641 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45642 variable[6] = variable[7];
45643 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45644 variable[7] = variable[8];
45645 variable[8] = variable[7] /*nodearraylist1*/;
45646 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
45647 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction675___action, LOCATE_parser, 26968); nit_exit(1);}
45648 variable[9] = variable[5] /*nodearraylist3*/;
45649 variable[10] = TAG_Bool(( variable[9] /*tkwdonode3*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwdonode3*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
45650 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction675___action, LOCATE_parser, 26970); nit_exit(1);}
45651 variable[10] = variable[4] /*nodearraylist4*/;
45652 variable[11] = TAG_Bool(( variable[10] /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
45653 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction675___action, LOCATE_parser, 26972); nit_exit(1);}
45654 variable[12] = NEW_AForExpr_parser_prod___AForExpr___init_aforexpr( variable[8] /*pexprnode2*/, variable[9] /*tkwdonode3*/, variable[10] /*pexprnode4*/); /*new AForExpr*/
45655 variable[11] = variable[12];
45656 variable[3] = variable[11] /*pexprnode1*/ /*node_list=*/;
45657 variable[12] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(91)) /*Parser::go_to*/;
45658 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
45659 return_label1382: while(false);
45660 tracehead = trace.prev;
45661 return;
45662 }
45663 void parser___ReduceAction675___init(val_t self, int* init_table) {
45664 struct trace_t trace = {NULL, NULL, 26981, LOCATE_parser___ReduceAction675___init};
45665 val_t variable[2];
45666 void **closurevariable = NULL;
45667 trace.prev = tracehead; tracehead = &trace;
45668 trace.file = LOCATE_parser;
45669 variable[0] = self;
45670 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction675].i]) return;
45671 return_label1383: while(false);
45672 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction675].i] = 1;
45673 tracehead = trace.prev;
45674 return;
45675 }
45676 void parser___ReduceAction676___action(val_t self, val_t param0) {
45677 struct trace_t trace = {NULL, NULL, 26985, LOCATE_parser___ReduceAction676___action};
45678 val_t variable[10];
45679 void **closurevariable = NULL;
45680 trace.prev = tracehead; tracehead = &trace;
45681 trace.file = LOCATE_parser;
45682 variable[0] = self;
45683 variable[1] = param0;
45684 variable[3] = NIT_NULL /*null*/;
45685 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45686 variable[4] = variable[5];
45687 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45688 variable[5] = variable[6];
45689 variable[6] = variable[5] /*nodearraylist1*/;
45690 variable[7] = TAG_Bool(( variable[6] /*tkwassertnode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tkwassertnode2*/, COLOR_TKwassert, ID_TKwassert)) /*cast TKwassert*/;
45691 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction676___action, LOCATE_parser, 26991); nit_exit(1);}
45692 variable[7] = variable[4] /*nodearraylist2*/;
45693 variable[8] = TAG_Bool(( variable[7] /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable[7] /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
45694 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction676___action, LOCATE_parser, 26993); nit_exit(1);}
45695 variable[9] = NEW_AAssertExpr_parser_prod___AAssertExpr___init_aassertexpr( variable[6] /*tkwassertnode2*/, NIT_NULL /*null*/, variable[7] /*pexprnode4*/); /*new AAssertExpr*/
45696 variable[8] = variable[9];
45697 variable[3] = variable[8] /*pexprnode1*/ /*node_list=*/;
45698 variable[9] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(92)) /*Parser::go_to*/;
45699 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
45700 return_label1384: while(false);
45701 tracehead = trace.prev;
45702 return;
45703 }
45704 void parser___ReduceAction676___init(val_t self, int* init_table) {
45705 struct trace_t trace = {NULL, NULL, 27002, LOCATE_parser___ReduceAction676___init};
45706 val_t variable[2];
45707 void **closurevariable = NULL;
45708 trace.prev = tracehead; tracehead = &trace;
45709 trace.file = LOCATE_parser;
45710 variable[0] = self;
45711 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction676].i]) return;
45712 return_label1385: while(false);
45713 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction676].i] = 1;
45714 tracehead = trace.prev;
45715 return;
45716 }
45717 void parser___ReduceAction677___action(val_t self, val_t param0) {
45718 struct trace_t trace = {NULL, NULL, 27006, LOCATE_parser___ReduceAction677___action};
45719 val_t variable[12];
45720 void **closurevariable = NULL;
45721 trace.prev = tracehead; tracehead = &trace;
45722 trace.file = LOCATE_parser;
45723 variable[0] = self;
45724 variable[1] = param0;
45725 variable[3] = NIT_NULL /*null*/;
45726 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45727 variable[4] = variable[5];
45728 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45729 variable[5] = variable[6];
45730 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45731 variable[6] = variable[7];
45732 variable[7] = variable[6] /*nodearraylist1*/;
45733 variable[8] = TAG_Bool(( variable[7] /*tkwassertnode2*/==NIT_NULL) || VAL_ISA( variable[7] /*tkwassertnode2*/, COLOR_TKwassert, ID_TKwassert)) /*cast TKwassert*/;
45734 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction677___action, LOCATE_parser, 27013); nit_exit(1);}
45735 variable[8] = variable[5] /*nodearraylist2*/;
45736 variable[9] = TAG_Bool(( variable[8] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
45737 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction677___action, LOCATE_parser, 27015); nit_exit(1);}
45738 variable[9] = variable[4] /*nodearraylist3*/;
45739 variable[10] = TAG_Bool(( variable[9] /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
45740 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction677___action, LOCATE_parser, 27017); nit_exit(1);}
45741 variable[11] = NEW_AAssertExpr_parser_prod___AAssertExpr___init_aassertexpr( variable[7] /*tkwassertnode2*/, variable[8] /*tidnode3*/, variable[9] /*pexprnode4*/); /*new AAssertExpr*/
45742 variable[10] = variable[11];
45743 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
45744 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(92)) /*Parser::go_to*/;
45745 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
45746 return_label1386: while(false);
45747 tracehead = trace.prev;
45748 return;
45749 }
45750 void parser___ReduceAction677___init(val_t self, int* init_table) {
45751 struct trace_t trace = {NULL, NULL, 27026, LOCATE_parser___ReduceAction677___init};
45752 val_t variable[2];
45753 void **closurevariable = NULL;
45754 trace.prev = tracehead; tracehead = &trace;
45755 trace.file = LOCATE_parser;
45756 variable[0] = self;
45757 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction677].i]) return;
45758 return_label1387: while(false);
45759 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction677].i] = 1;
45760 tracehead = trace.prev;
45761 return;
45762 }
45763 void parser___ReduceAction678___action(val_t self, val_t param0) {
45764 struct trace_t trace = {NULL, NULL, 27030, LOCATE_parser___ReduceAction678___action};
45765 val_t variable[7];
45766 void **closurevariable = NULL;
45767 trace.prev = tracehead; tracehead = &trace;
45768 trace.file = LOCATE_parser;
45769 variable[0] = self;
45770 variable[1] = param0;
45771 variable[3] = NIT_NULL /*null*/;
45772 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45773 variable[4] = variable[5];
45774 variable[5] = variable[4] /*nodearraylist1*/;
45775 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
45776 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction678___action, LOCATE_parser, 27035); nit_exit(1);}
45777 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
45778 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(93)) /*Parser::go_to*/;
45779 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
45780 return_label1388: while(false);
45781 tracehead = trace.prev;
45782 return;
45783 }
45784 void parser___ReduceAction678___init(val_t self, int* init_table) {
45785 struct trace_t trace = {NULL, NULL, 27039, LOCATE_parser___ReduceAction678___init};
45786 val_t variable[2];
45787 void **closurevariable = NULL;
45788 trace.prev = tracehead; tracehead = &trace;
45789 trace.file = LOCATE_parser;
45790 variable[0] = self;
45791 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction678].i]) return;
45792 return_label1389: while(false);
45793 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction678].i] = 1;
45794 tracehead = trace.prev;
45795 return;
45796 }
45797 void parser___ReduceAction679___action(val_t self, val_t param0) {
45798 struct trace_t trace = {NULL, NULL, 27043, LOCATE_parser___ReduceAction679___action};
45799 val_t variable[18];
45800 void **closurevariable = NULL;
45801 trace.prev = tracehead; tracehead = &trace;
45802 trace.file = LOCATE_parser;
45803 variable[0] = self;
45804 variable[1] = param0;
45805 variable[3] = NIT_NULL /*null*/;
45806 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45807 variable[4] = variable[5];
45808 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45809 variable[5] = variable[6];
45810 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45811 variable[6] = variable[7];
45812 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45813 variable[7] = variable[8];
45814 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45815 variable[8] = variable[9];
45816 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45817 variable[9] = variable[10];
45818 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
45819 variable[10] = variable[11];
45820 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
45821 variable[11] = variable[12];
45822 variable[12] = variable[9] /*nodearraylist1*/;
45823 variable[13] = TAG_Bool(( variable[12] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
45824 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction679___action, LOCATE_parser, 27055); nit_exit(1);}
45825 variable[13] = variable[6] /*nodearraylist4*/;
45826 variable[14] = TAG_Bool(( variable[13] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
45827 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction679___action, LOCATE_parser, 27057); nit_exit(1);}
45828 variable[14] = variable[5] /*nodearraylist5*/;
45829 variable[15] = TAG_Bool(( variable[14] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
45830 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction679___action, LOCATE_parser, 27059); nit_exit(1);}
45831 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[14] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[14] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[14] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[14] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
45832 if (UNTAG_Bool(variable[15])) { /*if*/
45833 variable[15] = ((array___AbstractArray___is_empty_t)CALL( variable[10] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[10] /*listnode5*/) /*AbstractArray::is_empty*/;
45834 if (UNTAG_Bool(variable[15])) { /*if*/
45835 variable[10] = variable[14] /*listnode4*/ /*listnode5=*/;
45836 } else { /*if*/
45837 ((abstract_collection___IndexedCollection___append_t)CALL( variable[10] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[10] /*listnode5*/, variable[14] /*listnode4*/) /*IndexedCollection::append*/;
45838 }
45839 }
45840 variable[15] = variable[4] /*nodearraylist6*/;
45841 variable[16] = TAG_Bool(( variable[15] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
45842 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction679___action, LOCATE_parser, 27068); nit_exit(1);}
45843 variable[16] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*listnode6*/ == NIT_NULL /*null*/) || (( variable[15] /*listnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[15] /*listnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*listnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[15] /*listnode6*/,COLOR_kernel___Object_____eqeq))( variable[15] /*listnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
45844 if (UNTAG_Bool(variable[16])) { /*if*/
45845 variable[16] = ((array___AbstractArray___is_empty_t)CALL( variable[11] /*listnode7*/,COLOR_abstract_collection___Collection___is_empty))( variable[11] /*listnode7*/) /*AbstractArray::is_empty*/;
45846 if (UNTAG_Bool(variable[16])) { /*if*/
45847 variable[11] = variable[15] /*listnode6*/ /*listnode7=*/;
45848 } else { /*if*/
45849 ((abstract_collection___IndexedCollection___append_t)CALL( variable[11] /*listnode7*/,COLOR_abstract_collection___IndexedCollection___append))( variable[11] /*listnode7*/, variable[15] /*listnode6*/) /*IndexedCollection::append*/;
45850 }
45851 }
45852 variable[17] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[12] /*pexprnode2*/, variable[13] /*tidnode3*/, variable[10] /*listnode5*/, variable[11] /*listnode7*/); /*new ACallExpr*/
45853 variable[16] = variable[17];
45854 variable[3] = variable[16] /*pexprnode1*/ /*node_list=*/;
45855 variable[17] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(93)) /*Parser::go_to*/;
45856 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
45857 return_label1390: while(false);
45858 tracehead = trace.prev;
45859 return;
45860 }
45861 void parser___ReduceAction679___init(val_t self, int* init_table) {
45862 struct trace_t trace = {NULL, NULL, 27085, LOCATE_parser___ReduceAction679___init};
45863 val_t variable[2];
45864 void **closurevariable = NULL;
45865 trace.prev = tracehead; tracehead = &trace;
45866 trace.file = LOCATE_parser;
45867 variable[0] = self;
45868 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction679].i]) return;
45869 return_label1391: while(false);
45870 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction679].i] = 1;
45871 tracehead = trace.prev;
45872 return;
45873 }
45874 void parser___ReduceAction680___action(val_t self, val_t param0) {
45875 struct trace_t trace = {NULL, NULL, 27089, LOCATE_parser___ReduceAction680___action};
45876 val_t variable[15];
45877 void **closurevariable = NULL;
45878 trace.prev = tracehead; tracehead = &trace;
45879 trace.file = LOCATE_parser;
45880 variable[0] = self;
45881 variable[1] = param0;
45882 variable[3] = NIT_NULL /*null*/;
45883 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45884 variable[4] = variable[5];
45885 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45886 variable[5] = variable[6];
45887 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45888 variable[6] = variable[7];
45889 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
45890 variable[7] = variable[8];
45891 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
45892 variable[8] = variable[9];
45893 variable[10] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
45894 variable[9] = variable[10];
45895 variable[10] = variable[6] /*nodearraylist1*/;
45896 variable[11] = TAG_Bool(( variable[10] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
45897 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction680___action, LOCATE_parser, 27100); nit_exit(1);}
45898 variable[11] = variable[5] /*nodearraylist2*/;
45899 variable[12] = TAG_Bool(( variable[11] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
45900 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction680___action, LOCATE_parser, 27102); nit_exit(1);}
45901 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[11] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
45902 if (UNTAG_Bool(variable[12])) { /*if*/
45903 variable[12] = ((array___AbstractArray___is_empty_t)CALL( variable[7] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[7] /*listnode5*/) /*AbstractArray::is_empty*/;
45904 if (UNTAG_Bool(variable[12])) { /*if*/
45905 variable[7] = variable[11] /*listnode4*/ /*listnode5=*/;
45906 } else { /*if*/
45907 ((abstract_collection___IndexedCollection___append_t)CALL( variable[7] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[7] /*listnode5*/, variable[11] /*listnode4*/) /*IndexedCollection::append*/;
45908 }
45909 }
45910 variable[12] = variable[4] /*nodearraylist3*/;
45911 variable[13] = TAG_Bool(( variable[12] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
45912 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction680___action, LOCATE_parser, 27111); nit_exit(1);}
45913 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode6*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode6*/,COLOR_kernel___Object_____eqeq))( variable[12] /*listnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
45914 if (UNTAG_Bool(variable[13])) { /*if*/
45915 variable[13] = ((array___AbstractArray___is_empty_t)CALL( variable[8] /*listnode7*/,COLOR_abstract_collection___Collection___is_empty))( variable[8] /*listnode7*/) /*AbstractArray::is_empty*/;
45916 if (UNTAG_Bool(variable[13])) { /*if*/
45917 variable[8] = variable[12] /*listnode6*/ /*listnode7=*/;
45918 } else { /*if*/
45919 ((abstract_collection___IndexedCollection___append_t)CALL( variable[8] /*listnode7*/,COLOR_abstract_collection___IndexedCollection___append))( variable[8] /*listnode7*/, variable[12] /*listnode6*/) /*IndexedCollection::append*/;
45920 }
45921 }
45922 variable[14] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[9] /*pexprnode2*/, variable[10] /*tidnode3*/, variable[7] /*listnode5*/, variable[8] /*listnode7*/); /*new ACallExpr*/
45923 variable[13] = variable[14];
45924 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
45925 variable[14] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(93)) /*Parser::go_to*/;
45926 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
45927 return_label1392: while(false);
45928 tracehead = trace.prev;
45929 return;
45930 }
45931 void parser___ReduceAction680___init(val_t self, int* init_table) {
45932 struct trace_t trace = {NULL, NULL, 27128, LOCATE_parser___ReduceAction680___init};
45933 val_t variable[2];
45934 void **closurevariable = NULL;
45935 trace.prev = tracehead; tracehead = &trace;
45936 trace.file = LOCATE_parser;
45937 variable[0] = self;
45938 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction680].i]) return;
45939 return_label1393: while(false);
45940 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction680].i] = 1;
45941 tracehead = trace.prev;
45942 return;
45943 }
45944 void parser___ReduceAction681___action(val_t self, val_t param0) {
45945 struct trace_t trace = {NULL, NULL, 27132, LOCATE_parser___ReduceAction681___action};
45946 val_t variable[14];
45947 void **closurevariable = NULL;
45948 trace.prev = tracehead; tracehead = &trace;
45949 trace.file = LOCATE_parser;
45950 variable[0] = self;
45951 variable[1] = param0;
45952 variable[3] = NIT_NULL /*null*/;
45953 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45954 variable[4] = variable[5];
45955 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45956 variable[5] = variable[6];
45957 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
45958 variable[6] = variable[7];
45959 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
45960 variable[7] = variable[8];
45961 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
45962 variable[8] = variable[9];
45963 variable[9] = variable[6] /*nodearraylist1*/;
45964 variable[10] = TAG_Bool(( variable[9] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
45965 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction681___action, LOCATE_parser, 27141); nit_exit(1);}
45966 variable[10] = variable[5] /*nodearraylist2*/;
45967 variable[11] = TAG_Bool(( variable[10] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
45968 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction681___action, LOCATE_parser, 27143); nit_exit(1);}
45969 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable[10] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
45970 if (UNTAG_Bool(variable[11])) { /*if*/
45971 variable[11] = ((array___AbstractArray___is_empty_t)CALL( variable[7] /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable[7] /*listnode4*/) /*AbstractArray::is_empty*/;
45972 if (UNTAG_Bool(variable[11])) { /*if*/
45973 variable[7] = variable[10] /*listnode3*/ /*listnode4=*/;
45974 } else { /*if*/
45975 ((abstract_collection___IndexedCollection___append_t)CALL( variable[7] /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable[7] /*listnode4*/, variable[10] /*listnode3*/) /*IndexedCollection::append*/;
45976 }
45977 }
45978 variable[11] = variable[4] /*nodearraylist3*/;
45979 variable[12] = TAG_Bool(( variable[11] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
45980 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction681___action, LOCATE_parser, 27152); nit_exit(1);}
45981 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode5*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable[11] /*listnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
45982 if (UNTAG_Bool(variable[12])) { /*if*/
45983 variable[12] = ((array___AbstractArray___is_empty_t)CALL( variable[8] /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable[8] /*listnode6*/) /*AbstractArray::is_empty*/;
45984 if (UNTAG_Bool(variable[12])) { /*if*/
45985 variable[8] = variable[11] /*listnode5*/ /*listnode6=*/;
45986 } else { /*if*/
45987 ((abstract_collection___IndexedCollection___append_t)CALL( variable[8] /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable[8] /*listnode6*/, variable[11] /*listnode5*/) /*IndexedCollection::append*/;
45988 }
45989 }
45990 variable[13] = NEW_ABraExpr_parser_prod___ABraExpr___init_abraexpr( variable[9] /*pexprnode2*/, variable[7] /*listnode4*/, variable[8] /*listnode6*/); /*new ABraExpr*/
45991 variable[12] = variable[13];
45992 variable[3] = variable[12] /*pexprnode1*/ /*node_list=*/;
45993 variable[13] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(93)) /*Parser::go_to*/;
45994 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
45995 return_label1394: while(false);
45996 tracehead = trace.prev;
45997 return;
45998 }
45999 void parser___ReduceAction681___init(val_t self, int* init_table) {
46000 struct trace_t trace = {NULL, NULL, 27168, LOCATE_parser___ReduceAction681___init};
46001 val_t variable[2];
46002 void **closurevariable = NULL;
46003 trace.prev = tracehead; tracehead = &trace;
46004 trace.file = LOCATE_parser;
46005 variable[0] = self;
46006 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction681].i]) return;
46007 return_label1395: while(false);
46008 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction681].i] = 1;
46009 tracehead = trace.prev;
46010 return;
46011 }
46012 void parser___ReduceAction682___action(val_t self, val_t param0) {
46013 struct trace_t trace = {NULL, NULL, 27172, LOCATE_parser___ReduceAction682___action};
46014 val_t variable[7];
46015 void **closurevariable = NULL;
46016 trace.prev = tracehead; tracehead = &trace;
46017 trace.file = LOCATE_parser;
46018 variable[0] = self;
46019 variable[1] = param0;
46020 variable[3] = NIT_NULL /*null*/;
46021 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46022 variable[4] = variable[5];
46023 variable[5] = variable[4] /*nodearraylist1*/;
46024 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
46025 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction682___action, LOCATE_parser, 27177); nit_exit(1);}
46026 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
46027 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(94)) /*Parser::go_to*/;
46028 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
46029 return_label1396: while(false);
46030 tracehead = trace.prev;
46031 return;
46032 }
46033 void parser___ReduceAction682___init(val_t self, int* init_table) {
46034 struct trace_t trace = {NULL, NULL, 27181, LOCATE_parser___ReduceAction682___init};
46035 val_t variable[2];
46036 void **closurevariable = NULL;
46037 trace.prev = tracehead; tracehead = &trace;
46038 trace.file = LOCATE_parser;
46039 variable[0] = self;
46040 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction682].i]) return;
46041 return_label1397: while(false);
46042 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction682].i] = 1;
46043 tracehead = trace.prev;
46044 return;
46045 }
46046 void parser___ReduceAction683___action(val_t self, val_t param0) {
46047 struct trace_t trace = {NULL, NULL, 27185, LOCATE_parser___ReduceAction683___action};
46048 val_t variable[18];
46049 void **closurevariable = NULL;
46050 trace.prev = tracehead; tracehead = &trace;
46051 trace.file = LOCATE_parser;
46052 variable[0] = self;
46053 variable[1] = param0;
46054 variable[3] = NIT_NULL /*null*/;
46055 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46056 variable[4] = variable[5];
46057 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46058 variable[5] = variable[6];
46059 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46060 variable[6] = variable[7];
46061 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46062 variable[7] = variable[8];
46063 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46064 variable[8] = variable[9];
46065 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46066 variable[9] = variable[10];
46067 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
46068 variable[10] = variable[11];
46069 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
46070 variable[11] = variable[12];
46071 variable[12] = variable[9] /*nodearraylist1*/;
46072 variable[13] = TAG_Bool(( variable[12] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
46073 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction683___action, LOCATE_parser, 27197); nit_exit(1);}
46074 variable[13] = variable[6] /*nodearraylist4*/;
46075 variable[14] = TAG_Bool(( variable[13] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
46076 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction683___action, LOCATE_parser, 27199); nit_exit(1);}
46077 variable[14] = variable[5] /*nodearraylist5*/;
46078 variable[15] = TAG_Bool(( variable[14] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
46079 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction683___action, LOCATE_parser, 27201); nit_exit(1);}
46080 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[14] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[14] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[14] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[14] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
46081 if (UNTAG_Bool(variable[15])) { /*if*/
46082 variable[15] = ((array___AbstractArray___is_empty_t)CALL( variable[10] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[10] /*listnode5*/) /*AbstractArray::is_empty*/;
46083 if (UNTAG_Bool(variable[15])) { /*if*/
46084 variable[10] = variable[14] /*listnode4*/ /*listnode5=*/;
46085 } else { /*if*/
46086 ((abstract_collection___IndexedCollection___append_t)CALL( variable[10] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[10] /*listnode5*/, variable[14] /*listnode4*/) /*IndexedCollection::append*/;
46087 }
46088 }
46089 variable[15] = variable[4] /*nodearraylist6*/;
46090 variable[16] = TAG_Bool(( variable[15] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
46091 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction683___action, LOCATE_parser, 27210); nit_exit(1);}
46092 variable[16] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*listnode6*/ == NIT_NULL /*null*/) || (( variable[15] /*listnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[15] /*listnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*listnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[15] /*listnode6*/,COLOR_kernel___Object_____eqeq))( variable[15] /*listnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
46093 if (UNTAG_Bool(variable[16])) { /*if*/
46094 variable[16] = ((array___AbstractArray___is_empty_t)CALL( variable[11] /*listnode7*/,COLOR_abstract_collection___Collection___is_empty))( variable[11] /*listnode7*/) /*AbstractArray::is_empty*/;
46095 if (UNTAG_Bool(variable[16])) { /*if*/
46096 variable[11] = variable[15] /*listnode6*/ /*listnode7=*/;
46097 } else { /*if*/
46098 ((abstract_collection___IndexedCollection___append_t)CALL( variable[11] /*listnode7*/,COLOR_abstract_collection___IndexedCollection___append))( variable[11] /*listnode7*/, variable[15] /*listnode6*/) /*IndexedCollection::append*/;
46099 }
46100 }
46101 variable[17] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[12] /*pexprnode2*/, variable[13] /*tidnode3*/, variable[10] /*listnode5*/, variable[11] /*listnode7*/); /*new ACallExpr*/
46102 variable[16] = variable[17];
46103 variable[3] = variable[16] /*pexprnode1*/ /*node_list=*/;
46104 variable[17] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(94)) /*Parser::go_to*/;
46105 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
46106 return_label1398: while(false);
46107 tracehead = trace.prev;
46108 return;
46109 }
46110 void parser___ReduceAction683___init(val_t self, int* init_table) {
46111 struct trace_t trace = {NULL, NULL, 27227, LOCATE_parser___ReduceAction683___init};
46112 val_t variable[2];
46113 void **closurevariable = NULL;
46114 trace.prev = tracehead; tracehead = &trace;
46115 trace.file = LOCATE_parser;
46116 variable[0] = self;
46117 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction683].i]) return;
46118 return_label1399: while(false);
46119 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction683].i] = 1;
46120 tracehead = trace.prev;
46121 return;
46122 }
46123 void parser___ReduceAction684___action(val_t self, val_t param0) {
46124 struct trace_t trace = {NULL, NULL, 27231, LOCATE_parser___ReduceAction684___action};
46125 val_t variable[15];
46126 void **closurevariable = NULL;
46127 trace.prev = tracehead; tracehead = &trace;
46128 trace.file = LOCATE_parser;
46129 variable[0] = self;
46130 variable[1] = param0;
46131 variable[3] = NIT_NULL /*null*/;
46132 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46133 variable[4] = variable[5];
46134 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46135 variable[5] = variable[6];
46136 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46137 variable[6] = variable[7];
46138 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
46139 variable[7] = variable[8];
46140 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
46141 variable[8] = variable[9];
46142 variable[10] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
46143 variable[9] = variable[10];
46144 variable[10] = variable[6] /*nodearraylist1*/;
46145 variable[11] = TAG_Bool(( variable[10] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
46146 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction684___action, LOCATE_parser, 27242); nit_exit(1);}
46147 variable[11] = variable[5] /*nodearraylist2*/;
46148 variable[12] = TAG_Bool(( variable[11] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
46149 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction684___action, LOCATE_parser, 27244); nit_exit(1);}
46150 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[11] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
46151 if (UNTAG_Bool(variable[12])) { /*if*/
46152 variable[12] = ((array___AbstractArray___is_empty_t)CALL( variable[7] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[7] /*listnode5*/) /*AbstractArray::is_empty*/;
46153 if (UNTAG_Bool(variable[12])) { /*if*/
46154 variable[7] = variable[11] /*listnode4*/ /*listnode5=*/;
46155 } else { /*if*/
46156 ((abstract_collection___IndexedCollection___append_t)CALL( variable[7] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[7] /*listnode5*/, variable[11] /*listnode4*/) /*IndexedCollection::append*/;
46157 }
46158 }
46159 variable[12] = variable[4] /*nodearraylist3*/;
46160 variable[13] = TAG_Bool(( variable[12] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
46161 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction684___action, LOCATE_parser, 27253); nit_exit(1);}
46162 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode6*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode6*/,COLOR_kernel___Object_____eqeq))( variable[12] /*listnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
46163 if (UNTAG_Bool(variable[13])) { /*if*/
46164 variable[13] = ((array___AbstractArray___is_empty_t)CALL( variable[8] /*listnode7*/,COLOR_abstract_collection___Collection___is_empty))( variable[8] /*listnode7*/) /*AbstractArray::is_empty*/;
46165 if (UNTAG_Bool(variable[13])) { /*if*/
46166 variable[8] = variable[12] /*listnode6*/ /*listnode7=*/;
46167 } else { /*if*/
46168 ((abstract_collection___IndexedCollection___append_t)CALL( variable[8] /*listnode7*/,COLOR_abstract_collection___IndexedCollection___append))( variable[8] /*listnode7*/, variable[12] /*listnode6*/) /*IndexedCollection::append*/;
46169 }
46170 }
46171 variable[14] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[9] /*pexprnode2*/, variable[10] /*tidnode3*/, variable[7] /*listnode5*/, variable[8] /*listnode7*/); /*new ACallExpr*/
46172 variable[13] = variable[14];
46173 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
46174 variable[14] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(94)) /*Parser::go_to*/;
46175 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
46176 return_label1400: while(false);
46177 tracehead = trace.prev;
46178 return;
46179 }
46180 void parser___ReduceAction684___init(val_t self, int* init_table) {
46181 struct trace_t trace = {NULL, NULL, 27270, LOCATE_parser___ReduceAction684___init};
46182 val_t variable[2];
46183 void **closurevariable = NULL;
46184 trace.prev = tracehead; tracehead = &trace;
46185 trace.file = LOCATE_parser;
46186 variable[0] = self;
46187 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction684].i]) return;
46188 return_label1401: while(false);
46189 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction684].i] = 1;
46190 tracehead = trace.prev;
46191 return;
46192 }
46193 void parser___ReduceAction685___action(val_t self, val_t param0) {
46194 struct trace_t trace = {NULL, NULL, 27274, LOCATE_parser___ReduceAction685___action};
46195 val_t variable[9];
46196 void **closurevariable = NULL;
46197 trace.prev = tracehead; tracehead = &trace;
46198 trace.file = LOCATE_parser;
46199 variable[0] = self;
46200 variable[1] = param0;
46201 variable[3] = NIT_NULL /*null*/;
46202 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46203 variable[4] = variable[5];
46204 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
46205 variable[5] = variable[6];
46206 variable[6] = variable[4] /*nodearraylist1*/;
46207 variable[7] = TAG_Bool(( variable[6] /*tclassidnode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tclassidnode2*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
46208 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction685___action, LOCATE_parser, 27280); nit_exit(1);}
46209 variable[8] = NEW_AType_parser_prod___AType___init_atype( variable[6] /*tclassidnode2*/, variable[5] /*listnode3*/); /*new AType*/
46210 variable[7] = variable[8];
46211 variable[3] = variable[7] /*ptypenode1*/ /*node_list=*/;
46212 variable[8] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(95)) /*Parser::go_to*/;
46213 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
46214 return_label1402: while(false);
46215 tracehead = trace.prev;
46216 return;
46217 }
46218 void parser___ReduceAction685___init(val_t self, int* init_table) {
46219 struct trace_t trace = {NULL, NULL, 27288, LOCATE_parser___ReduceAction685___init};
46220 val_t variable[2];
46221 void **closurevariable = NULL;
46222 trace.prev = tracehead; tracehead = &trace;
46223 trace.file = LOCATE_parser;
46224 variable[0] = self;
46225 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction685].i]) return;
46226 return_label1403: while(false);
46227 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction685].i] = 1;
46228 tracehead = trace.prev;
46229 return;
46230 }
46231 void parser___ReduceAction686___action(val_t self, val_t param0) {
46232 struct trace_t trace = {NULL, NULL, 27292, LOCATE_parser___ReduceAction686___action};
46233 val_t variable[15];
46234 void **closurevariable = NULL;
46235 trace.prev = tracehead; tracehead = &trace;
46236 trace.file = LOCATE_parser;
46237 variable[0] = self;
46238 variable[1] = param0;
46239 variable[3] = NIT_NULL /*null*/;
46240 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46241 variable[4] = variable[5];
46242 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46243 variable[5] = variable[6];
46244 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46245 variable[6] = variable[7];
46246 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46247 variable[7] = variable[8];
46248 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46249 variable[8] = variable[9];
46250 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46251 variable[9] = variable[10];
46252 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
46253 variable[10] = variable[11];
46254 variable[11] = variable[9] /*nodearraylist1*/;
46255 variable[12] = TAG_Bool(( variable[11] /*tclassidnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*tclassidnode2*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
46256 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction686___action, LOCATE_parser, 27303); nit_exit(1);}
46257 variable[12] = variable[6] /*nodearraylist4*/;
46258 variable[13] = TAG_Bool(( variable[12] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
46259 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction686___action, LOCATE_parser, 27305); nit_exit(1);}
46260 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode3*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable[12] /*listnode3*/, NIT_NULL /*null*/) /*Object::==*/)))))));
46261 if (UNTAG_Bool(variable[13])) { /*if*/
46262 variable[13] = ((array___AbstractArray___is_empty_t)CALL( variable[10] /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable[10] /*listnode4*/) /*AbstractArray::is_empty*/;
46263 if (UNTAG_Bool(variable[13])) { /*if*/
46264 variable[10] = variable[12] /*listnode3*/ /*listnode4=*/;
46265 } else { /*if*/
46266 ((abstract_collection___IndexedCollection___append_t)CALL( variable[10] /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable[10] /*listnode4*/, variable[12] /*listnode3*/) /*IndexedCollection::append*/;
46267 }
46268 }
46269 variable[14] = NEW_AType_parser_prod___AType___init_atype( variable[11] /*tclassidnode2*/, variable[10] /*listnode4*/); /*new AType*/
46270 variable[13] = variable[14];
46271 variable[3] = variable[13] /*ptypenode1*/ /*node_list=*/;
46272 variable[14] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(95)) /*Parser::go_to*/;
46273 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
46274 return_label1404: while(false);
46275 tracehead = trace.prev;
46276 return;
46277 }
46278 void parser___ReduceAction686___init(val_t self, int* init_table) {
46279 struct trace_t trace = {NULL, NULL, 27320, LOCATE_parser___ReduceAction686___init};
46280 val_t variable[2];
46281 void **closurevariable = NULL;
46282 trace.prev = tracehead; tracehead = &trace;
46283 trace.file = LOCATE_parser;
46284 variable[0] = self;
46285 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction686].i]) return;
46286 return_label1405: while(false);
46287 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction686].i] = 1;
46288 tracehead = trace.prev;
46289 return;
46290 }
46291 void parser___ReduceAction687___action(val_t self, val_t param0) {
46292 struct trace_t trace = {NULL, NULL, 27324, LOCATE_parser___ReduceAction687___action};
46293 val_t variable[7];
46294 void **closurevariable = NULL;
46295 trace.prev = tracehead; tracehead = &trace;
46296 trace.file = LOCATE_parser;
46297 variable[0] = self;
46298 variable[1] = param0;
46299 variable[3] = NIT_NULL /*null*/;
46300 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46301 variable[4] = variable[5];
46302 variable[5] = variable[4] /*nodearraylist1*/;
46303 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
46304 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction687___action, LOCATE_parser, 27329); nit_exit(1);}
46305 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
46306 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(96)) /*Parser::go_to*/;
46307 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
46308 return_label1406: while(false);
46309 tracehead = trace.prev;
46310 return;
46311 }
46312 void parser___ReduceAction687___init(val_t self, int* init_table) {
46313 struct trace_t trace = {NULL, NULL, 27333, LOCATE_parser___ReduceAction687___init};
46314 val_t variable[2];
46315 void **closurevariable = NULL;
46316 trace.prev = tracehead; tracehead = &trace;
46317 trace.file = LOCATE_parser;
46318 variable[0] = self;
46319 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction687].i]) return;
46320 return_label1407: while(false);
46321 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction687].i] = 1;
46322 tracehead = trace.prev;
46323 return;
46324 }
46325 void parser___ReduceAction688___action(val_t self, val_t param0) {
46326 struct trace_t trace = {NULL, NULL, 27337, LOCATE_parser___ReduceAction688___action};
46327 val_t variable[18];
46328 void **closurevariable = NULL;
46329 trace.prev = tracehead; tracehead = &trace;
46330 trace.file = LOCATE_parser;
46331 variable[0] = self;
46332 variable[1] = param0;
46333 variable[3] = NIT_NULL /*null*/;
46334 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46335 variable[4] = variable[5];
46336 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46337 variable[5] = variable[6];
46338 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46339 variable[6] = variable[7];
46340 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46341 variable[7] = variable[8];
46342 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46343 variable[8] = variable[9];
46344 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46345 variable[9] = variable[10];
46346 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
46347 variable[10] = variable[11];
46348 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
46349 variable[11] = variable[12];
46350 variable[12] = variable[9] /*nodearraylist1*/;
46351 variable[13] = TAG_Bool(( variable[12] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
46352 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction688___action, LOCATE_parser, 27349); nit_exit(1);}
46353 variable[13] = variable[6] /*nodearraylist4*/;
46354 variable[14] = TAG_Bool(( variable[13] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
46355 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction688___action, LOCATE_parser, 27351); nit_exit(1);}
46356 variable[14] = variable[5] /*nodearraylist5*/;
46357 variable[15] = TAG_Bool(( variable[14] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
46358 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction688___action, LOCATE_parser, 27353); nit_exit(1);}
46359 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[14] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[14] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[14] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[14] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
46360 if (UNTAG_Bool(variable[15])) { /*if*/
46361 variable[15] = ((array___AbstractArray___is_empty_t)CALL( variable[10] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[10] /*listnode5*/) /*AbstractArray::is_empty*/;
46362 if (UNTAG_Bool(variable[15])) { /*if*/
46363 variable[10] = variable[14] /*listnode4*/ /*listnode5=*/;
46364 } else { /*if*/
46365 ((abstract_collection___IndexedCollection___append_t)CALL( variable[10] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[10] /*listnode5*/, variable[14] /*listnode4*/) /*IndexedCollection::append*/;
46366 }
46367 }
46368 variable[15] = variable[4] /*nodearraylist6*/;
46369 variable[16] = TAG_Bool(( variable[15] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
46370 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction688___action, LOCATE_parser, 27362); nit_exit(1);}
46371 variable[16] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*listnode6*/ == NIT_NULL /*null*/) || (( variable[15] /*listnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[15] /*listnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*listnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[15] /*listnode6*/,COLOR_kernel___Object_____eqeq))( variable[15] /*listnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
46372 if (UNTAG_Bool(variable[16])) { /*if*/
46373 variable[16] = ((array___AbstractArray___is_empty_t)CALL( variable[11] /*listnode7*/,COLOR_abstract_collection___Collection___is_empty))( variable[11] /*listnode7*/) /*AbstractArray::is_empty*/;
46374 if (UNTAG_Bool(variable[16])) { /*if*/
46375 variable[11] = variable[15] /*listnode6*/ /*listnode7=*/;
46376 } else { /*if*/
46377 ((abstract_collection___IndexedCollection___append_t)CALL( variable[11] /*listnode7*/,COLOR_abstract_collection___IndexedCollection___append))( variable[11] /*listnode7*/, variable[15] /*listnode6*/) /*IndexedCollection::append*/;
46378 }
46379 }
46380 variable[17] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[12] /*pexprnode2*/, variable[13] /*tidnode3*/, variable[10] /*listnode5*/, variable[11] /*listnode7*/); /*new ACallExpr*/
46381 variable[16] = variable[17];
46382 variable[3] = variable[16] /*pexprnode1*/ /*node_list=*/;
46383 variable[17] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(96)) /*Parser::go_to*/;
46384 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
46385 return_label1408: while(false);
46386 tracehead = trace.prev;
46387 return;
46388 }
46389 void parser___ReduceAction688___init(val_t self, int* init_table) {
46390 struct trace_t trace = {NULL, NULL, 27379, LOCATE_parser___ReduceAction688___init};
46391 val_t variable[2];
46392 void **closurevariable = NULL;
46393 trace.prev = tracehead; tracehead = &trace;
46394 trace.file = LOCATE_parser;
46395 variable[0] = self;
46396 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction688].i]) return;
46397 return_label1409: while(false);
46398 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction688].i] = 1;
46399 tracehead = trace.prev;
46400 return;
46401 }
46402 void parser___ReduceAction689___action(val_t self, val_t param0) {
46403 struct trace_t trace = {NULL, NULL, 27383, LOCATE_parser___ReduceAction689___action};
46404 val_t variable[15];
46405 void **closurevariable = NULL;
46406 trace.prev = tracehead; tracehead = &trace;
46407 trace.file = LOCATE_parser;
46408 variable[0] = self;
46409 variable[1] = param0;
46410 variable[3] = NIT_NULL /*null*/;
46411 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46412 variable[4] = variable[5];
46413 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46414 variable[5] = variable[6];
46415 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46416 variable[6] = variable[7];
46417 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
46418 variable[7] = variable[8];
46419 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
46420 variable[8] = variable[9];
46421 variable[10] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
46422 variable[9] = variable[10];
46423 variable[10] = variable[6] /*nodearraylist1*/;
46424 variable[11] = TAG_Bool(( variable[10] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
46425 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction689___action, LOCATE_parser, 27394); nit_exit(1);}
46426 variable[11] = variable[5] /*nodearraylist2*/;
46427 variable[12] = TAG_Bool(( variable[11] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
46428 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction689___action, LOCATE_parser, 27396); nit_exit(1);}
46429 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[11] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
46430 if (UNTAG_Bool(variable[12])) { /*if*/
46431 variable[12] = ((array___AbstractArray___is_empty_t)CALL( variable[7] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[7] /*listnode5*/) /*AbstractArray::is_empty*/;
46432 if (UNTAG_Bool(variable[12])) { /*if*/
46433 variable[7] = variable[11] /*listnode4*/ /*listnode5=*/;
46434 } else { /*if*/
46435 ((abstract_collection___IndexedCollection___append_t)CALL( variable[7] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[7] /*listnode5*/, variable[11] /*listnode4*/) /*IndexedCollection::append*/;
46436 }
46437 }
46438 variable[12] = variable[4] /*nodearraylist3*/;
46439 variable[13] = TAG_Bool(( variable[12] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
46440 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction689___action, LOCATE_parser, 27405); nit_exit(1);}
46441 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode6*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode6*/,COLOR_kernel___Object_____eqeq))( variable[12] /*listnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
46442 if (UNTAG_Bool(variable[13])) { /*if*/
46443 variable[13] = ((array___AbstractArray___is_empty_t)CALL( variable[8] /*listnode7*/,COLOR_abstract_collection___Collection___is_empty))( variable[8] /*listnode7*/) /*AbstractArray::is_empty*/;
46444 if (UNTAG_Bool(variable[13])) { /*if*/
46445 variable[8] = variable[12] /*listnode6*/ /*listnode7=*/;
46446 } else { /*if*/
46447 ((abstract_collection___IndexedCollection___append_t)CALL( variable[8] /*listnode7*/,COLOR_abstract_collection___IndexedCollection___append))( variable[8] /*listnode7*/, variable[12] /*listnode6*/) /*IndexedCollection::append*/;
46448 }
46449 }
46450 variable[14] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[9] /*pexprnode2*/, variable[10] /*tidnode3*/, variable[7] /*listnode5*/, variable[8] /*listnode7*/); /*new ACallExpr*/
46451 variable[13] = variable[14];
46452 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
46453 variable[14] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(96)) /*Parser::go_to*/;
46454 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
46455 return_label1410: while(false);
46456 tracehead = trace.prev;
46457 return;
46458 }
46459 void parser___ReduceAction689___init(val_t self, int* init_table) {
46460 struct trace_t trace = {NULL, NULL, 27422, LOCATE_parser___ReduceAction689___init};
46461 val_t variable[2];
46462 void **closurevariable = NULL;
46463 trace.prev = tracehead; tracehead = &trace;
46464 trace.file = LOCATE_parser;
46465 variable[0] = self;
46466 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction689].i]) return;
46467 return_label1411: while(false);
46468 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction689].i] = 1;
46469 tracehead = trace.prev;
46470 return;
46471 }
46472 void parser___ReduceAction690___action(val_t self, val_t param0) {
46473 struct trace_t trace = {NULL, NULL, 27426, LOCATE_parser___ReduceAction690___action};
46474 val_t variable[7];
46475 void **closurevariable = NULL;
46476 trace.prev = tracehead; tracehead = &trace;
46477 trace.file = LOCATE_parser;
46478 variable[0] = self;
46479 variable[1] = param0;
46480 variable[3] = NIT_NULL /*null*/;
46481 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46482 variable[4] = variable[5];
46483 variable[5] = variable[4] /*nodearraylist1*/;
46484 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
46485 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction690___action, LOCATE_parser, 27431); nit_exit(1);}
46486 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
46487 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(97)) /*Parser::go_to*/;
46488 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
46489 return_label1412: while(false);
46490 tracehead = trace.prev;
46491 return;
46492 }
46493 void parser___ReduceAction690___init(val_t self, int* init_table) {
46494 struct trace_t trace = {NULL, NULL, 27435, LOCATE_parser___ReduceAction690___init};
46495 val_t variable[2];
46496 void **closurevariable = NULL;
46497 trace.prev = tracehead; tracehead = &trace;
46498 trace.file = LOCATE_parser;
46499 variable[0] = self;
46500 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction690].i]) return;
46501 return_label1413: while(false);
46502 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction690].i] = 1;
46503 tracehead = trace.prev;
46504 return;
46505 }
46506 void parser___ReduceAction691___action(val_t self, val_t param0) {
46507 struct trace_t trace = {NULL, NULL, 27439, LOCATE_parser___ReduceAction691___action};
46508 val_t variable[23];
46509 void **closurevariable = NULL;
46510 trace.prev = tracehead; tracehead = &trace;
46511 trace.file = LOCATE_parser;
46512 variable[0] = self;
46513 variable[1] = param0;
46514 variable[3] = NIT_NULL /*null*/;
46515 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46516 variable[4] = variable[5];
46517 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46518 variable[5] = variable[6];
46519 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46520 variable[6] = variable[7];
46521 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46522 variable[7] = variable[8];
46523 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46524 variable[8] = variable[9];
46525 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46526 variable[9] = variable[10];
46527 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46528 variable[10] = variable[11];
46529 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46530 variable[11] = variable[12];
46531 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46532 variable[12] = variable[13];
46533 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46534 variable[13] = variable[14];
46535 variable[15] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46536 variable[14] = variable[15];
46537 variable[15] = variable[14] /*nodearraylist1*/;
46538 variable[16] = TAG_Bool(( variable[15] /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
46539 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction691___action, LOCATE_parser, 27454); nit_exit(1);}
46540 variable[16] = variable[12] /*nodearraylist3*/;
46541 variable[17] = TAG_Bool(( variable[16] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[16] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
46542 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction691___action, LOCATE_parser, 27456); nit_exit(1);}
46543 variable[17] = variable[10] /*nodearraylist5*/;
46544 variable[18] = TAG_Bool(( variable[17] /*tkwthennode4*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwthennode4*/, COLOR_TKwthen, ID_TKwthen)) /*cast TKwthen*/;
46545 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction691___action, LOCATE_parser, 27458); nit_exit(1);}
46546 variable[18] = variable[8] /*nodearraylist7*/;
46547 variable[19] = TAG_Bool(( variable[18] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[18] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
46548 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction691___action, LOCATE_parser, 27460); nit_exit(1);}
46549 variable[19] = variable[6] /*nodearraylist9*/;
46550 variable[20] = TAG_Bool(( variable[19] /*tkwelsenode6*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwelsenode6*/, COLOR_TKwelse, ID_TKwelse)) /*cast TKwelse*/;
46551 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction691___action, LOCATE_parser, 27462); nit_exit(1);}
46552 variable[20] = variable[4] /*nodearraylist11*/;
46553 variable[21] = TAG_Bool(( variable[20] /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable[20] /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
46554 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction691___action, LOCATE_parser, 27464); nit_exit(1);}
46555 variable[22] = NEW_AIfexprExpr_parser_prod___AIfexprExpr___init_aifexprexpr( variable[15] /*tkwifnode2*/, variable[16] /*pexprnode3*/, variable[17] /*tkwthennode4*/, variable[18] /*pexprnode5*/, variable[19] /*tkwelsenode6*/, variable[20] /*pexprnode7*/); /*new AIfexprExpr*/
46556 variable[21] = variable[22];
46557 variable[3] = variable[21] /*pexprnode1*/ /*node_list=*/;
46558 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(97)) /*Parser::go_to*/;
46559 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
46560 return_label1414: while(false);
46561 tracehead = trace.prev;
46562 return;
46563 }
46564 void parser___ReduceAction691___init(val_t self, int* init_table) {
46565 struct trace_t trace = {NULL, NULL, 27476, LOCATE_parser___ReduceAction691___init};
46566 val_t variable[2];
46567 void **closurevariable = NULL;
46568 trace.prev = tracehead; tracehead = &trace;
46569 trace.file = LOCATE_parser;
46570 variable[0] = self;
46571 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction691].i]) return;
46572 return_label1415: while(false);
46573 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction691].i] = 1;
46574 tracehead = trace.prev;
46575 return;
46576 }
46577 void parser___ReduceAction692___action(val_t self, val_t param0) {
46578 struct trace_t trace = {NULL, NULL, 27480, LOCATE_parser___ReduceAction692___action};
46579 val_t variable[7];
46580 void **closurevariable = NULL;
46581 trace.prev = tracehead; tracehead = &trace;
46582 trace.file = LOCATE_parser;
46583 variable[0] = self;
46584 variable[1] = param0;
46585 variable[3] = NIT_NULL /*null*/;
46586 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46587 variable[4] = variable[5];
46588 variable[5] = variable[4] /*nodearraylist1*/;
46589 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
46590 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction692___action, LOCATE_parser, 27485); nit_exit(1);}
46591 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
46592 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(98)) /*Parser::go_to*/;
46593 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
46594 return_label1416: while(false);
46595 tracehead = trace.prev;
46596 return;
46597 }
46598 void parser___ReduceAction692___init(val_t self, int* init_table) {
46599 struct trace_t trace = {NULL, NULL, 27489, LOCATE_parser___ReduceAction692___init};
46600 val_t variable[2];
46601 void **closurevariable = NULL;
46602 trace.prev = tracehead; tracehead = &trace;
46603 trace.file = LOCATE_parser;
46604 variable[0] = self;
46605 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction692].i]) return;
46606 return_label1417: while(false);
46607 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction692].i] = 1;
46608 tracehead = trace.prev;
46609 return;
46610 }
46611 void parser___ReduceAction693___action(val_t self, val_t param0) {
46612 struct trace_t trace = {NULL, NULL, 27493, LOCATE_parser___ReduceAction693___action};
46613 val_t variable[12];
46614 void **closurevariable = NULL;
46615 trace.prev = tracehead; tracehead = &trace;
46616 trace.file = LOCATE_parser;
46617 variable[0] = self;
46618 variable[1] = param0;
46619 variable[3] = NIT_NULL /*null*/;
46620 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46621 variable[4] = variable[5];
46622 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46623 variable[5] = variable[6];
46624 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46625 variable[6] = variable[7];
46626 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46627 variable[7] = variable[8];
46628 variable[8] = variable[7] /*nodearraylist1*/;
46629 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
46630 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction693___action, LOCATE_parser, 27501); nit_exit(1);}
46631 variable[9] = variable[4] /*nodearraylist4*/;
46632 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
46633 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction693___action, LOCATE_parser, 27503); nit_exit(1);}
46634 variable[11] = NEW_AOrExpr_parser_prod___AOrExpr___init_aorexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AOrExpr*/
46635 variable[10] = variable[11];
46636 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
46637 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(98)) /*Parser::go_to*/;
46638 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
46639 return_label1418: while(false);
46640 tracehead = trace.prev;
46641 return;
46642 }
46643 void parser___ReduceAction693___init(val_t self, int* init_table) {
46644 struct trace_t trace = {NULL, NULL, 27511, LOCATE_parser___ReduceAction693___init};
46645 val_t variable[2];
46646 void **closurevariable = NULL;
46647 trace.prev = tracehead; tracehead = &trace;
46648 trace.file = LOCATE_parser;
46649 variable[0] = self;
46650 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction693].i]) return;
46651 return_label1419: while(false);
46652 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction693].i] = 1;
46653 tracehead = trace.prev;
46654 return;
46655 }
46656 void parser___ReduceAction694___action(val_t self, val_t param0) {
46657 struct trace_t trace = {NULL, NULL, 27515, LOCATE_parser___ReduceAction694___action};
46658 val_t variable[12];
46659 void **closurevariable = NULL;
46660 trace.prev = tracehead; tracehead = &trace;
46661 trace.file = LOCATE_parser;
46662 variable[0] = self;
46663 variable[1] = param0;
46664 variable[3] = NIT_NULL /*null*/;
46665 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46666 variable[4] = variable[5];
46667 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46668 variable[5] = variable[6];
46669 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46670 variable[6] = variable[7];
46671 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46672 variable[7] = variable[8];
46673 variable[8] = variable[7] /*nodearraylist1*/;
46674 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
46675 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction694___action, LOCATE_parser, 27523); nit_exit(1);}
46676 variable[9] = variable[4] /*nodearraylist4*/;
46677 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
46678 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction694___action, LOCATE_parser, 27525); nit_exit(1);}
46679 variable[11] = NEW_AAndExpr_parser_prod___AAndExpr___init_aandexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AAndExpr*/
46680 variable[10] = variable[11];
46681 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
46682 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(98)) /*Parser::go_to*/;
46683 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
46684 return_label1420: while(false);
46685 tracehead = trace.prev;
46686 return;
46687 }
46688 void parser___ReduceAction694___init(val_t self, int* init_table) {
46689 struct trace_t trace = {NULL, NULL, 27533, LOCATE_parser___ReduceAction694___init};
46690 val_t variable[2];
46691 void **closurevariable = NULL;
46692 trace.prev = tracehead; tracehead = &trace;
46693 trace.file = LOCATE_parser;
46694 variable[0] = self;
46695 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction694].i]) return;
46696 return_label1421: while(false);
46697 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction694].i] = 1;
46698 tracehead = trace.prev;
46699 return;
46700 }
46701 void parser___ReduceAction695___action(val_t self, val_t param0) {
46702 struct trace_t trace = {NULL, NULL, 27537, LOCATE_parser___ReduceAction695___action};
46703 val_t variable[7];
46704 void **closurevariable = NULL;
46705 trace.prev = tracehead; tracehead = &trace;
46706 trace.file = LOCATE_parser;
46707 variable[0] = self;
46708 variable[1] = param0;
46709 variable[3] = NIT_NULL /*null*/;
46710 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46711 variable[4] = variable[5];
46712 variable[5] = variable[4] /*nodearraylist1*/;
46713 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
46714 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction695___action, LOCATE_parser, 27542); nit_exit(1);}
46715 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
46716 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(99)) /*Parser::go_to*/;
46717 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
46718 return_label1422: while(false);
46719 tracehead = trace.prev;
46720 return;
46721 }
46722 void parser___ReduceAction695___init(val_t self, int* init_table) {
46723 struct trace_t trace = {NULL, NULL, 27546, LOCATE_parser___ReduceAction695___init};
46724 val_t variable[2];
46725 void **closurevariable = NULL;
46726 trace.prev = tracehead; tracehead = &trace;
46727 trace.file = LOCATE_parser;
46728 variable[0] = self;
46729 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction695].i]) return;
46730 return_label1423: while(false);
46731 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction695].i] = 1;
46732 tracehead = trace.prev;
46733 return;
46734 }
46735 void parser___ReduceAction696___action(val_t self, val_t param0) {
46736 struct trace_t trace = {NULL, NULL, 27550, LOCATE_parser___ReduceAction696___action};
46737 val_t variable[11];
46738 void **closurevariable = NULL;
46739 trace.prev = tracehead; tracehead = &trace;
46740 trace.file = LOCATE_parser;
46741 variable[0] = self;
46742 variable[1] = param0;
46743 variable[3] = NIT_NULL /*null*/;
46744 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46745 variable[4] = variable[5];
46746 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46747 variable[5] = variable[6];
46748 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46749 variable[6] = variable[7];
46750 variable[7] = variable[6] /*nodearraylist1*/;
46751 variable[8] = TAG_Bool(( variable[7] /*tkwnotnode2*/==NIT_NULL) || VAL_ISA( variable[7] /*tkwnotnode2*/, COLOR_TKwnot, ID_TKwnot)) /*cast TKwnot*/;
46752 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction696___action, LOCATE_parser, 27557); nit_exit(1);}
46753 variable[8] = variable[4] /*nodearraylist3*/;
46754 variable[9] = TAG_Bool(( variable[8] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
46755 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction696___action, LOCATE_parser, 27559); nit_exit(1);}
46756 variable[10] = NEW_ANotExpr_parser_prod___ANotExpr___init_anotexpr( variable[7] /*tkwnotnode2*/, variable[8] /*pexprnode3*/); /*new ANotExpr*/
46757 variable[9] = variable[10];
46758 variable[3] = variable[9] /*pexprnode1*/ /*node_list=*/;
46759 variable[10] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(99)) /*Parser::go_to*/;
46760 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
46761 return_label1424: while(false);
46762 tracehead = trace.prev;
46763 return;
46764 }
46765 void parser___ReduceAction696___init(val_t self, int* init_table) {
46766 struct trace_t trace = {NULL, NULL, 27567, LOCATE_parser___ReduceAction696___init};
46767 val_t variable[2];
46768 void **closurevariable = NULL;
46769 trace.prev = tracehead; tracehead = &trace;
46770 trace.file = LOCATE_parser;
46771 variable[0] = self;
46772 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction696].i]) return;
46773 return_label1425: while(false);
46774 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction696].i] = 1;
46775 tracehead = trace.prev;
46776 return;
46777 }
46778 void parser___ReduceAction697___action(val_t self, val_t param0) {
46779 struct trace_t trace = {NULL, NULL, 27571, LOCATE_parser___ReduceAction697___action};
46780 val_t variable[7];
46781 void **closurevariable = NULL;
46782 trace.prev = tracehead; tracehead = &trace;
46783 trace.file = LOCATE_parser;
46784 variable[0] = self;
46785 variable[1] = param0;
46786 variable[3] = NIT_NULL /*null*/;
46787 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46788 variable[4] = variable[5];
46789 variable[5] = variable[4] /*nodearraylist1*/;
46790 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
46791 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction697___action, LOCATE_parser, 27576); nit_exit(1);}
46792 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
46793 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(100)) /*Parser::go_to*/;
46794 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
46795 return_label1426: while(false);
46796 tracehead = trace.prev;
46797 return;
46798 }
46799 void parser___ReduceAction697___init(val_t self, int* init_table) {
46800 struct trace_t trace = {NULL, NULL, 27580, LOCATE_parser___ReduceAction697___init};
46801 val_t variable[2];
46802 void **closurevariable = NULL;
46803 trace.prev = tracehead; tracehead = &trace;
46804 trace.file = LOCATE_parser;
46805 variable[0] = self;
46806 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction697].i]) return;
46807 return_label1427: while(false);
46808 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction697].i] = 1;
46809 tracehead = trace.prev;
46810 return;
46811 }
46812 void parser___ReduceAction698___action(val_t self, val_t param0) {
46813 struct trace_t trace = {NULL, NULL, 27584, LOCATE_parser___ReduceAction698___action};
46814 val_t variable[12];
46815 void **closurevariable = NULL;
46816 trace.prev = tracehead; tracehead = &trace;
46817 trace.file = LOCATE_parser;
46818 variable[0] = self;
46819 variable[1] = param0;
46820 variable[3] = NIT_NULL /*null*/;
46821 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46822 variable[4] = variable[5];
46823 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46824 variable[5] = variable[6];
46825 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46826 variable[6] = variable[7];
46827 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46828 variable[7] = variable[8];
46829 variable[8] = variable[7] /*nodearraylist1*/;
46830 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
46831 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction698___action, LOCATE_parser, 27592); nit_exit(1);}
46832 variable[9] = variable[4] /*nodearraylist4*/;
46833 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
46834 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction698___action, LOCATE_parser, 27594); nit_exit(1);}
46835 variable[11] = NEW_AEqExpr_parser_prod___AEqExpr___init_aeqexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AEqExpr*/
46836 variable[10] = variable[11];
46837 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
46838 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(100)) /*Parser::go_to*/;
46839 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
46840 return_label1428: while(false);
46841 tracehead = trace.prev;
46842 return;
46843 }
46844 void parser___ReduceAction698___init(val_t self, int* init_table) {
46845 struct trace_t trace = {NULL, NULL, 27602, LOCATE_parser___ReduceAction698___init};
46846 val_t variable[2];
46847 void **closurevariable = NULL;
46848 trace.prev = tracehead; tracehead = &trace;
46849 trace.file = LOCATE_parser;
46850 variable[0] = self;
46851 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction698].i]) return;
46852 return_label1429: while(false);
46853 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction698].i] = 1;
46854 tracehead = trace.prev;
46855 return;
46856 }
46857 void parser___ReduceAction699___action(val_t self, val_t param0) {
46858 struct trace_t trace = {NULL, NULL, 27606, LOCATE_parser___ReduceAction699___action};
46859 val_t variable[12];
46860 void **closurevariable = NULL;
46861 trace.prev = tracehead; tracehead = &trace;
46862 trace.file = LOCATE_parser;
46863 variable[0] = self;
46864 variable[1] = param0;
46865 variable[3] = NIT_NULL /*null*/;
46866 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46867 variable[4] = variable[5];
46868 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46869 variable[5] = variable[6];
46870 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46871 variable[6] = variable[7];
46872 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46873 variable[7] = variable[8];
46874 variable[8] = variable[7] /*nodearraylist1*/;
46875 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
46876 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction699___action, LOCATE_parser, 27614); nit_exit(1);}
46877 variable[9] = variable[4] /*nodearraylist4*/;
46878 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
46879 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction699___action, LOCATE_parser, 27616); nit_exit(1);}
46880 variable[11] = NEW_AEeExpr_parser_prod___AEeExpr___init_aeeexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AEeExpr*/
46881 variable[10] = variable[11];
46882 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
46883 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(100)) /*Parser::go_to*/;
46884 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
46885 return_label1430: while(false);
46886 tracehead = trace.prev;
46887 return;
46888 }
46889 void parser___ReduceAction699___init(val_t self, int* init_table) {
46890 struct trace_t trace = {NULL, NULL, 27624, LOCATE_parser___ReduceAction699___init};
46891 val_t variable[2];
46892 void **closurevariable = NULL;
46893 trace.prev = tracehead; tracehead = &trace;
46894 trace.file = LOCATE_parser;
46895 variable[0] = self;
46896 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction699].i]) return;
46897 return_label1431: while(false);
46898 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction699].i] = 1;
46899 tracehead = trace.prev;
46900 return;
46901 }
46902 void parser___ReduceAction700___action(val_t self, val_t param0) {
46903 struct trace_t trace = {NULL, NULL, 27628, LOCATE_parser___ReduceAction700___action};
46904 val_t variable[12];
46905 void **closurevariable = NULL;
46906 trace.prev = tracehead; tracehead = &trace;
46907 trace.file = LOCATE_parser;
46908 variable[0] = self;
46909 variable[1] = param0;
46910 variable[3] = NIT_NULL /*null*/;
46911 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46912 variable[4] = variable[5];
46913 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46914 variable[5] = variable[6];
46915 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46916 variable[6] = variable[7];
46917 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46918 variable[7] = variable[8];
46919 variable[8] = variable[7] /*nodearraylist1*/;
46920 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
46921 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction700___action, LOCATE_parser, 27636); nit_exit(1);}
46922 variable[9] = variable[4] /*nodearraylist4*/;
46923 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
46924 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction700___action, LOCATE_parser, 27638); nit_exit(1);}
46925 variable[11] = NEW_ANeExpr_parser_prod___ANeExpr___init_aneexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new ANeExpr*/
46926 variable[10] = variable[11];
46927 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
46928 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(100)) /*Parser::go_to*/;
46929 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
46930 return_label1432: while(false);
46931 tracehead = trace.prev;
46932 return;
46933 }
46934 void parser___ReduceAction700___init(val_t self, int* init_table) {
46935 struct trace_t trace = {NULL, NULL, 27646, LOCATE_parser___ReduceAction700___init};
46936 val_t variable[2];
46937 void **closurevariable = NULL;
46938 trace.prev = tracehead; tracehead = &trace;
46939 trace.file = LOCATE_parser;
46940 variable[0] = self;
46941 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction700].i]) return;
46942 return_label1433: while(false);
46943 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction700].i] = 1;
46944 tracehead = trace.prev;
46945 return;
46946 }
46947 void parser___ReduceAction701___action(val_t self, val_t param0) {
46948 struct trace_t trace = {NULL, NULL, 27650, LOCATE_parser___ReduceAction701___action};
46949 val_t variable[12];
46950 void **closurevariable = NULL;
46951 trace.prev = tracehead; tracehead = &trace;
46952 trace.file = LOCATE_parser;
46953 variable[0] = self;
46954 variable[1] = param0;
46955 variable[3] = NIT_NULL /*null*/;
46956 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46957 variable[4] = variable[5];
46958 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46959 variable[5] = variable[6];
46960 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46961 variable[6] = variable[7];
46962 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
46963 variable[7] = variable[8];
46964 variable[8] = variable[7] /*nodearraylist1*/;
46965 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
46966 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction701___action, LOCATE_parser, 27658); nit_exit(1);}
46967 variable[9] = variable[4] /*nodearraylist4*/;
46968 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
46969 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction701___action, LOCATE_parser, 27660); nit_exit(1);}
46970 variable[11] = NEW_ALtExpr_parser_prod___ALtExpr___init_altexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new ALtExpr*/
46971 variable[10] = variable[11];
46972 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
46973 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(100)) /*Parser::go_to*/;
46974 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
46975 return_label1434: while(false);
46976 tracehead = trace.prev;
46977 return;
46978 }
46979 void parser___ReduceAction701___init(val_t self, int* init_table) {
46980 struct trace_t trace = {NULL, NULL, 27668, LOCATE_parser___ReduceAction701___init};
46981 val_t variable[2];
46982 void **closurevariable = NULL;
46983 trace.prev = tracehead; tracehead = &trace;
46984 trace.file = LOCATE_parser;
46985 variable[0] = self;
46986 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction701].i]) return;
46987 return_label1435: while(false);
46988 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction701].i] = 1;
46989 tracehead = trace.prev;
46990 return;
46991 }
46992 void parser___ReduceAction702___action(val_t self, val_t param0) {
46993 struct trace_t trace = {NULL, NULL, 27672, LOCATE_parser___ReduceAction702___action};
46994 val_t variable[12];
46995 void **closurevariable = NULL;
46996 trace.prev = tracehead; tracehead = &trace;
46997 trace.file = LOCATE_parser;
46998 variable[0] = self;
46999 variable[1] = param0;
47000 variable[3] = NIT_NULL /*null*/;
47001 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47002 variable[4] = variable[5];
47003 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47004 variable[5] = variable[6];
47005 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47006 variable[6] = variable[7];
47007 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47008 variable[7] = variable[8];
47009 variable[8] = variable[7] /*nodearraylist1*/;
47010 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
47011 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction702___action, LOCATE_parser, 27680); nit_exit(1);}
47012 variable[9] = variable[4] /*nodearraylist4*/;
47013 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
47014 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction702___action, LOCATE_parser, 27682); nit_exit(1);}
47015 variable[11] = NEW_ALeExpr_parser_prod___ALeExpr___init_aleexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new ALeExpr*/
47016 variable[10] = variable[11];
47017 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
47018 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(100)) /*Parser::go_to*/;
47019 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
47020 return_label1436: while(false);
47021 tracehead = trace.prev;
47022 return;
47023 }
47024 void parser___ReduceAction702___init(val_t self, int* init_table) {
47025 struct trace_t trace = {NULL, NULL, 27690, LOCATE_parser___ReduceAction702___init};
47026 val_t variable[2];
47027 void **closurevariable = NULL;
47028 trace.prev = tracehead; tracehead = &trace;
47029 trace.file = LOCATE_parser;
47030 variable[0] = self;
47031 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction702].i]) return;
47032 return_label1437: while(false);
47033 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction702].i] = 1;
47034 tracehead = trace.prev;
47035 return;
47036 }
47037 void parser___ReduceAction703___action(val_t self, val_t param0) {
47038 struct trace_t trace = {NULL, NULL, 27694, LOCATE_parser___ReduceAction703___action};
47039 val_t variable[12];
47040 void **closurevariable = NULL;
47041 trace.prev = tracehead; tracehead = &trace;
47042 trace.file = LOCATE_parser;
47043 variable[0] = self;
47044 variable[1] = param0;
47045 variable[3] = NIT_NULL /*null*/;
47046 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47047 variable[4] = variable[5];
47048 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47049 variable[5] = variable[6];
47050 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47051 variable[6] = variable[7];
47052 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47053 variable[7] = variable[8];
47054 variable[8] = variable[7] /*nodearraylist1*/;
47055 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
47056 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction703___action, LOCATE_parser, 27702); nit_exit(1);}
47057 variable[9] = variable[4] /*nodearraylist4*/;
47058 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
47059 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction703___action, LOCATE_parser, 27704); nit_exit(1);}
47060 variable[11] = NEW_AGtExpr_parser_prod___AGtExpr___init_agtexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AGtExpr*/
47061 variable[10] = variable[11];
47062 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
47063 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(100)) /*Parser::go_to*/;
47064 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
47065 return_label1438: while(false);
47066 tracehead = trace.prev;
47067 return;
47068 }
47069 void parser___ReduceAction703___init(val_t self, int* init_table) {
47070 struct trace_t trace = {NULL, NULL, 27712, LOCATE_parser___ReduceAction703___init};
47071 val_t variable[2];
47072 void **closurevariable = NULL;
47073 trace.prev = tracehead; tracehead = &trace;
47074 trace.file = LOCATE_parser;
47075 variable[0] = self;
47076 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction703].i]) return;
47077 return_label1439: while(false);
47078 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction703].i] = 1;
47079 tracehead = trace.prev;
47080 return;
47081 }
47082 void parser___ReduceAction704___action(val_t self, val_t param0) {
47083 struct trace_t trace = {NULL, NULL, 27716, LOCATE_parser___ReduceAction704___action};
47084 val_t variable[12];
47085 void **closurevariable = NULL;
47086 trace.prev = tracehead; tracehead = &trace;
47087 trace.file = LOCATE_parser;
47088 variable[0] = self;
47089 variable[1] = param0;
47090 variable[3] = NIT_NULL /*null*/;
47091 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47092 variable[4] = variable[5];
47093 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47094 variable[5] = variable[6];
47095 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47096 variable[6] = variable[7];
47097 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47098 variable[7] = variable[8];
47099 variable[8] = variable[7] /*nodearraylist1*/;
47100 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
47101 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction704___action, LOCATE_parser, 27724); nit_exit(1);}
47102 variable[9] = variable[4] /*nodearraylist4*/;
47103 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
47104 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction704___action, LOCATE_parser, 27726); nit_exit(1);}
47105 variable[11] = NEW_AGeExpr_parser_prod___AGeExpr___init_ageexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AGeExpr*/
47106 variable[10] = variable[11];
47107 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
47108 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(100)) /*Parser::go_to*/;
47109 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
47110 return_label1440: while(false);
47111 tracehead = trace.prev;
47112 return;
47113 }
47114 void parser___ReduceAction704___init(val_t self, int* init_table) {
47115 struct trace_t trace = {NULL, NULL, 27734, LOCATE_parser___ReduceAction704___init};
47116 val_t variable[2];
47117 void **closurevariable = NULL;
47118 trace.prev = tracehead; tracehead = &trace;
47119 trace.file = LOCATE_parser;
47120 variable[0] = self;
47121 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction704].i]) return;
47122 return_label1441: while(false);
47123 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction704].i] = 1;
47124 tracehead = trace.prev;
47125 return;
47126 }
47127 void parser___ReduceAction705___action(val_t self, val_t param0) {
47128 struct trace_t trace = {NULL, NULL, 27738, LOCATE_parser___ReduceAction705___action};
47129 val_t variable[12];
47130 void **closurevariable = NULL;
47131 trace.prev = tracehead; tracehead = &trace;
47132 trace.file = LOCATE_parser;
47133 variable[0] = self;
47134 variable[1] = param0;
47135 variable[3] = NIT_NULL /*null*/;
47136 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47137 variable[4] = variable[5];
47138 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47139 variable[5] = variable[6];
47140 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47141 variable[6] = variable[7];
47142 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47143 variable[7] = variable[8];
47144 variable[8] = variable[7] /*nodearraylist1*/;
47145 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
47146 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction705___action, LOCATE_parser, 27746); nit_exit(1);}
47147 variable[9] = variable[4] /*nodearraylist4*/;
47148 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
47149 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction705___action, LOCATE_parser, 27748); nit_exit(1);}
47150 variable[11] = NEW_AStarshipExpr_parser_prod___AStarshipExpr___init_astarshipexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AStarshipExpr*/
47151 variable[10] = variable[11];
47152 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
47153 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(100)) /*Parser::go_to*/;
47154 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
47155 return_label1442: while(false);
47156 tracehead = trace.prev;
47157 return;
47158 }
47159 void parser___ReduceAction705___init(val_t self, int* init_table) {
47160 struct trace_t trace = {NULL, NULL, 27756, LOCATE_parser___ReduceAction705___init};
47161 val_t variable[2];
47162 void **closurevariable = NULL;
47163 trace.prev = tracehead; tracehead = &trace;
47164 trace.file = LOCATE_parser;
47165 variable[0] = self;
47166 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction705].i]) return;
47167 return_label1443: while(false);
47168 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction705].i] = 1;
47169 tracehead = trace.prev;
47170 return;
47171 }
47172 void parser___ReduceAction706___action(val_t self, val_t param0) {
47173 struct trace_t trace = {NULL, NULL, 27760, LOCATE_parser___ReduceAction706___action};
47174 val_t variable[12];
47175 void **closurevariable = NULL;
47176 trace.prev = tracehead; tracehead = &trace;
47177 trace.file = LOCATE_parser;
47178 variable[0] = self;
47179 variable[1] = param0;
47180 variable[3] = NIT_NULL /*null*/;
47181 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47182 variable[4] = variable[5];
47183 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47184 variable[5] = variable[6];
47185 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47186 variable[6] = variable[7];
47187 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47188 variable[7] = variable[8];
47189 variable[8] = variable[7] /*nodearraylist1*/;
47190 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
47191 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction706___action, LOCATE_parser, 27768); nit_exit(1);}
47192 variable[9] = variable[4] /*nodearraylist4*/;
47193 variable[10] = TAG_Bool(( variable[9] /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable[9] /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
47194 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction706___action, LOCATE_parser, 27770); nit_exit(1);}
47195 variable[11] = NEW_AIsaExpr_parser_prod___AIsaExpr___init_aisaexpr( variable[8] /*pexprnode2*/, variable[9] /*ptypenode3*/); /*new AIsaExpr*/
47196 variable[10] = variable[11];
47197 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
47198 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(100)) /*Parser::go_to*/;
47199 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
47200 return_label1444: while(false);
47201 tracehead = trace.prev;
47202 return;
47203 }
47204 void parser___ReduceAction706___init(val_t self, int* init_table) {
47205 struct trace_t trace = {NULL, NULL, 27778, LOCATE_parser___ReduceAction706___init};
47206 val_t variable[2];
47207 void **closurevariable = NULL;
47208 trace.prev = tracehead; tracehead = &trace;
47209 trace.file = LOCATE_parser;
47210 variable[0] = self;
47211 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction706].i]) return;
47212 return_label1445: while(false);
47213 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction706].i] = 1;
47214 tracehead = trace.prev;
47215 return;
47216 }
47217 void parser___ReduceAction707___action(val_t self, val_t param0) {
47218 struct trace_t trace = {NULL, NULL, 27782, LOCATE_parser___ReduceAction707___action};
47219 val_t variable[7];
47220 void **closurevariable = NULL;
47221 trace.prev = tracehead; tracehead = &trace;
47222 trace.file = LOCATE_parser;
47223 variable[0] = self;
47224 variable[1] = param0;
47225 variable[3] = NIT_NULL /*null*/;
47226 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47227 variable[4] = variable[5];
47228 variable[5] = variable[4] /*nodearraylist1*/;
47229 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
47230 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction707___action, LOCATE_parser, 27787); nit_exit(1);}
47231 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
47232 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(101)) /*Parser::go_to*/;
47233 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
47234 return_label1446: while(false);
47235 tracehead = trace.prev;
47236 return;
47237 }
47238 void parser___ReduceAction707___init(val_t self, int* init_table) {
47239 struct trace_t trace = {NULL, NULL, 27791, LOCATE_parser___ReduceAction707___init};
47240 val_t variable[2];
47241 void **closurevariable = NULL;
47242 trace.prev = tracehead; tracehead = &trace;
47243 trace.file = LOCATE_parser;
47244 variable[0] = self;
47245 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction707].i]) return;
47246 return_label1447: while(false);
47247 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction707].i] = 1;
47248 tracehead = trace.prev;
47249 return;
47250 }
47251 void parser___ReduceAction708___action(val_t self, val_t param0) {
47252 struct trace_t trace = {NULL, NULL, 27795, LOCATE_parser___ReduceAction708___action};
47253 val_t variable[12];
47254 void **closurevariable = NULL;
47255 trace.prev = tracehead; tracehead = &trace;
47256 trace.file = LOCATE_parser;
47257 variable[0] = self;
47258 variable[1] = param0;
47259 variable[3] = NIT_NULL /*null*/;
47260 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47261 variable[4] = variable[5];
47262 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47263 variable[5] = variable[6];
47264 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47265 variable[6] = variable[7];
47266 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47267 variable[7] = variable[8];
47268 variable[8] = variable[7] /*nodearraylist1*/;
47269 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
47270 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction708___action, LOCATE_parser, 27803); nit_exit(1);}
47271 variable[9] = variable[4] /*nodearraylist4*/;
47272 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
47273 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction708___action, LOCATE_parser, 27805); nit_exit(1);}
47274 variable[11] = NEW_APlusExpr_parser_prod___APlusExpr___init_aplusexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new APlusExpr*/
47275 variable[10] = variable[11];
47276 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
47277 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(101)) /*Parser::go_to*/;
47278 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
47279 return_label1448: while(false);
47280 tracehead = trace.prev;
47281 return;
47282 }
47283 void parser___ReduceAction708___init(val_t self, int* init_table) {
47284 struct trace_t trace = {NULL, NULL, 27813, LOCATE_parser___ReduceAction708___init};
47285 val_t variable[2];
47286 void **closurevariable = NULL;
47287 trace.prev = tracehead; tracehead = &trace;
47288 trace.file = LOCATE_parser;
47289 variable[0] = self;
47290 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction708].i]) return;
47291 return_label1449: while(false);
47292 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction708].i] = 1;
47293 tracehead = trace.prev;
47294 return;
47295 }
47296 void parser___ReduceAction709___action(val_t self, val_t param0) {
47297 struct trace_t trace = {NULL, NULL, 27817, LOCATE_parser___ReduceAction709___action};
47298 val_t variable[12];
47299 void **closurevariable = NULL;
47300 trace.prev = tracehead; tracehead = &trace;
47301 trace.file = LOCATE_parser;
47302 variable[0] = self;
47303 variable[1] = param0;
47304 variable[3] = NIT_NULL /*null*/;
47305 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47306 variable[4] = variable[5];
47307 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47308 variable[5] = variable[6];
47309 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47310 variable[6] = variable[7];
47311 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47312 variable[7] = variable[8];
47313 variable[8] = variable[7] /*nodearraylist1*/;
47314 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
47315 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction709___action, LOCATE_parser, 27825); nit_exit(1);}
47316 variable[9] = variable[4] /*nodearraylist4*/;
47317 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
47318 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction709___action, LOCATE_parser, 27827); nit_exit(1);}
47319 variable[11] = NEW_AMinusExpr_parser_prod___AMinusExpr___init_aminusexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AMinusExpr*/
47320 variable[10] = variable[11];
47321 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
47322 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(101)) /*Parser::go_to*/;
47323 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
47324 return_label1450: while(false);
47325 tracehead = trace.prev;
47326 return;
47327 }
47328 void parser___ReduceAction709___init(val_t self, int* init_table) {
47329 struct trace_t trace = {NULL, NULL, 27835, LOCATE_parser___ReduceAction709___init};
47330 val_t variable[2];
47331 void **closurevariable = NULL;
47332 trace.prev = tracehead; tracehead = &trace;
47333 trace.file = LOCATE_parser;
47334 variable[0] = self;
47335 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction709].i]) return;
47336 return_label1451: while(false);
47337 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction709].i] = 1;
47338 tracehead = trace.prev;
47339 return;
47340 }
47341 void parser___ReduceAction710___action(val_t self, val_t param0) {
47342 struct trace_t trace = {NULL, NULL, 27839, LOCATE_parser___ReduceAction710___action};
47343 val_t variable[7];
47344 void **closurevariable = NULL;
47345 trace.prev = tracehead; tracehead = &trace;
47346 trace.file = LOCATE_parser;
47347 variable[0] = self;
47348 variable[1] = param0;
47349 variable[3] = NIT_NULL /*null*/;
47350 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47351 variable[4] = variable[5];
47352 variable[5] = variable[4] /*nodearraylist1*/;
47353 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
47354 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction710___action, LOCATE_parser, 27844); nit_exit(1);}
47355 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
47356 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(102)) /*Parser::go_to*/;
47357 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
47358 return_label1452: while(false);
47359 tracehead = trace.prev;
47360 return;
47361 }
47362 void parser___ReduceAction710___init(val_t self, int* init_table) {
47363 struct trace_t trace = {NULL, NULL, 27848, LOCATE_parser___ReduceAction710___init};
47364 val_t variable[2];
47365 void **closurevariable = NULL;
47366 trace.prev = tracehead; tracehead = &trace;
47367 trace.file = LOCATE_parser;
47368 variable[0] = self;
47369 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction710].i]) return;
47370 return_label1453: while(false);
47371 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction710].i] = 1;
47372 tracehead = trace.prev;
47373 return;
47374 }
47375 void parser___ReduceAction711___action(val_t self, val_t param0) {
47376 struct trace_t trace = {NULL, NULL, 27852, LOCATE_parser___ReduceAction711___action};
47377 val_t variable[12];
47378 void **closurevariable = NULL;
47379 trace.prev = tracehead; tracehead = &trace;
47380 trace.file = LOCATE_parser;
47381 variable[0] = self;
47382 variable[1] = param0;
47383 variable[3] = NIT_NULL /*null*/;
47384 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47385 variable[4] = variable[5];
47386 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47387 variable[5] = variable[6];
47388 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47389 variable[6] = variable[7];
47390 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47391 variable[7] = variable[8];
47392 variable[8] = variable[7] /*nodearraylist1*/;
47393 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
47394 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction711___action, LOCATE_parser, 27860); nit_exit(1);}
47395 variable[9] = variable[4] /*nodearraylist4*/;
47396 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
47397 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction711___action, LOCATE_parser, 27862); nit_exit(1);}
47398 variable[11] = NEW_AStarExpr_parser_prod___AStarExpr___init_astarexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AStarExpr*/
47399 variable[10] = variable[11];
47400 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
47401 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(102)) /*Parser::go_to*/;
47402 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
47403 return_label1454: while(false);
47404 tracehead = trace.prev;
47405 return;
47406 }
47407 void parser___ReduceAction711___init(val_t self, int* init_table) {
47408 struct trace_t trace = {NULL, NULL, 27870, LOCATE_parser___ReduceAction711___init};
47409 val_t variable[2];
47410 void **closurevariable = NULL;
47411 trace.prev = tracehead; tracehead = &trace;
47412 trace.file = LOCATE_parser;
47413 variable[0] = self;
47414 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction711].i]) return;
47415 return_label1455: while(false);
47416 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction711].i] = 1;
47417 tracehead = trace.prev;
47418 return;
47419 }
47420 void parser___ReduceAction712___action(val_t self, val_t param0) {
47421 struct trace_t trace = {NULL, NULL, 27874, LOCATE_parser___ReduceAction712___action};
47422 val_t variable[12];
47423 void **closurevariable = NULL;
47424 trace.prev = tracehead; tracehead = &trace;
47425 trace.file = LOCATE_parser;
47426 variable[0] = self;
47427 variable[1] = param0;
47428 variable[3] = NIT_NULL /*null*/;
47429 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47430 variable[4] = variable[5];
47431 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47432 variable[5] = variable[6];
47433 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47434 variable[6] = variable[7];
47435 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47436 variable[7] = variable[8];
47437 variable[8] = variable[7] /*nodearraylist1*/;
47438 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
47439 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction712___action, LOCATE_parser, 27882); nit_exit(1);}
47440 variable[9] = variable[4] /*nodearraylist4*/;
47441 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
47442 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction712___action, LOCATE_parser, 27884); nit_exit(1);}
47443 variable[11] = NEW_ASlashExpr_parser_prod___ASlashExpr___init_aslashexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new ASlashExpr*/
47444 variable[10] = variable[11];
47445 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
47446 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(102)) /*Parser::go_to*/;
47447 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
47448 return_label1456: while(false);
47449 tracehead = trace.prev;
47450 return;
47451 }
47452 void parser___ReduceAction712___init(val_t self, int* init_table) {
47453 struct trace_t trace = {NULL, NULL, 27892, LOCATE_parser___ReduceAction712___init};
47454 val_t variable[2];
47455 void **closurevariable = NULL;
47456 trace.prev = tracehead; tracehead = &trace;
47457 trace.file = LOCATE_parser;
47458 variable[0] = self;
47459 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction712].i]) return;
47460 return_label1457: while(false);
47461 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction712].i] = 1;
47462 tracehead = trace.prev;
47463 return;
47464 }
47465 void parser___ReduceAction713___action(val_t self, val_t param0) {
47466 struct trace_t trace = {NULL, NULL, 27896, LOCATE_parser___ReduceAction713___action};
47467 val_t variable[12];
47468 void **closurevariable = NULL;
47469 trace.prev = tracehead; tracehead = &trace;
47470 trace.file = LOCATE_parser;
47471 variable[0] = self;
47472 variable[1] = param0;
47473 variable[3] = NIT_NULL /*null*/;
47474 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47475 variable[4] = variable[5];
47476 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47477 variable[5] = variable[6];
47478 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47479 variable[6] = variable[7];
47480 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47481 variable[7] = variable[8];
47482 variable[8] = variable[7] /*nodearraylist1*/;
47483 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
47484 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction713___action, LOCATE_parser, 27904); nit_exit(1);}
47485 variable[9] = variable[4] /*nodearraylist4*/;
47486 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
47487 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction713___action, LOCATE_parser, 27906); nit_exit(1);}
47488 variable[11] = NEW_APercentExpr_parser_prod___APercentExpr___init_apercentexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new APercentExpr*/
47489 variable[10] = variable[11];
47490 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
47491 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(102)) /*Parser::go_to*/;
47492 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
47493 return_label1458: while(false);
47494 tracehead = trace.prev;
47495 return;
47496 }
47497 void parser___ReduceAction713___init(val_t self, int* init_table) {
47498 struct trace_t trace = {NULL, NULL, 27914, LOCATE_parser___ReduceAction713___init};
47499 val_t variable[2];
47500 void **closurevariable = NULL;
47501 trace.prev = tracehead; tracehead = &trace;
47502 trace.file = LOCATE_parser;
47503 variable[0] = self;
47504 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction713].i]) return;
47505 return_label1459: while(false);
47506 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction713].i] = 1;
47507 tracehead = trace.prev;
47508 return;
47509 }
47510 void parser___ReduceAction714___action(val_t self, val_t param0) {
47511 struct trace_t trace = {NULL, NULL, 27918, LOCATE_parser___ReduceAction714___action};
47512 val_t variable[7];
47513 void **closurevariable = NULL;
47514 trace.prev = tracehead; tracehead = &trace;
47515 trace.file = LOCATE_parser;
47516 variable[0] = self;
47517 variable[1] = param0;
47518 variable[3] = NIT_NULL /*null*/;
47519 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47520 variable[4] = variable[5];
47521 variable[5] = variable[4] /*nodearraylist1*/;
47522 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
47523 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction714___action, LOCATE_parser, 27923); nit_exit(1);}
47524 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
47525 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(103)) /*Parser::go_to*/;
47526 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
47527 return_label1460: while(false);
47528 tracehead = trace.prev;
47529 return;
47530 }
47531 void parser___ReduceAction714___init(val_t self, int* init_table) {
47532 struct trace_t trace = {NULL, NULL, 27927, LOCATE_parser___ReduceAction714___init};
47533 val_t variable[2];
47534 void **closurevariable = NULL;
47535 trace.prev = tracehead; tracehead = &trace;
47536 trace.file = LOCATE_parser;
47537 variable[0] = self;
47538 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction714].i]) return;
47539 return_label1461: while(false);
47540 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction714].i] = 1;
47541 tracehead = trace.prev;
47542 return;
47543 }
47544 void parser___ReduceAction715___action(val_t self, val_t param0) {
47545 struct trace_t trace = {NULL, NULL, 27931, LOCATE_parser___ReduceAction715___action};
47546 val_t variable[11];
47547 void **closurevariable = NULL;
47548 trace.prev = tracehead; tracehead = &trace;
47549 trace.file = LOCATE_parser;
47550 variable[0] = self;
47551 variable[1] = param0;
47552 variable[3] = NIT_NULL /*null*/;
47553 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47554 variable[4] = variable[5];
47555 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47556 variable[5] = variable[6];
47557 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47558 variable[6] = variable[7];
47559 variable[7] = variable[6] /*nodearraylist1*/;
47560 variable[8] = TAG_Bool(( variable[7] /*tminusnode2*/==NIT_NULL) || VAL_ISA( variable[7] /*tminusnode2*/, COLOR_TMinus, ID_TMinus)) /*cast TMinus*/;
47561 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction715___action, LOCATE_parser, 27938); nit_exit(1);}
47562 variable[8] = variable[4] /*nodearraylist3*/;
47563 variable[9] = TAG_Bool(( variable[8] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
47564 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction715___action, LOCATE_parser, 27940); nit_exit(1);}
47565 variable[10] = NEW_AUminusExpr_parser_prod___AUminusExpr___init_auminusexpr( variable[7] /*tminusnode2*/, variable[8] /*pexprnode3*/); /*new AUminusExpr*/
47566 variable[9] = variable[10];
47567 variable[3] = variable[9] /*pexprnode1*/ /*node_list=*/;
47568 variable[10] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(103)) /*Parser::go_to*/;
47569 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
47570 return_label1462: while(false);
47571 tracehead = trace.prev;
47572 return;
47573 }
47574 void parser___ReduceAction715___init(val_t self, int* init_table) {
47575 struct trace_t trace = {NULL, NULL, 27948, LOCATE_parser___ReduceAction715___init};
47576 val_t variable[2];
47577 void **closurevariable = NULL;
47578 trace.prev = tracehead; tracehead = &trace;
47579 trace.file = LOCATE_parser;
47580 variable[0] = self;
47581 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction715].i]) return;
47582 return_label1463: while(false);
47583 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction715].i] = 1;
47584 tracehead = trace.prev;
47585 return;
47586 }
47587 void parser___ReduceAction716___action(val_t self, val_t param0) {
47588 struct trace_t trace = {NULL, NULL, 27952, LOCATE_parser___ReduceAction716___action};
47589 val_t variable[11];
47590 void **closurevariable = NULL;
47591 trace.prev = tracehead; tracehead = &trace;
47592 trace.file = LOCATE_parser;
47593 variable[0] = self;
47594 variable[1] = param0;
47595 variable[3] = NIT_NULL /*null*/;
47596 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47597 variable[4] = variable[5];
47598 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47599 variable[5] = variable[6];
47600 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47601 variable[6] = variable[7];
47602 variable[7] = variable[6] /*nodearraylist1*/;
47603 variable[8] = TAG_Bool(( variable[7] /*tkwoncenode2*/==NIT_NULL) || VAL_ISA( variable[7] /*tkwoncenode2*/, COLOR_TKwonce, ID_TKwonce)) /*cast TKwonce*/;
47604 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction716___action, LOCATE_parser, 27959); nit_exit(1);}
47605 variable[8] = variable[4] /*nodearraylist3*/;
47606 variable[9] = TAG_Bool(( variable[8] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
47607 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction716___action, LOCATE_parser, 27961); nit_exit(1);}
47608 variable[10] = NEW_AOnceExpr_parser_prod___AOnceExpr___init_aonceexpr( variable[7] /*tkwoncenode2*/, variable[8] /*pexprnode3*/); /*new AOnceExpr*/
47609 variable[9] = variable[10];
47610 variable[3] = variable[9] /*pexprnode1*/ /*node_list=*/;
47611 variable[10] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(103)) /*Parser::go_to*/;
47612 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
47613 return_label1464: while(false);
47614 tracehead = trace.prev;
47615 return;
47616 }
47617 void parser___ReduceAction716___init(val_t self, int* init_table) {
47618 struct trace_t trace = {NULL, NULL, 27969, LOCATE_parser___ReduceAction716___init};
47619 val_t variable[2];
47620 void **closurevariable = NULL;
47621 trace.prev = tracehead; tracehead = &trace;
47622 trace.file = LOCATE_parser;
47623 variable[0] = self;
47624 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction716].i]) return;
47625 return_label1465: while(false);
47626 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction716].i] = 1;
47627 tracehead = trace.prev;
47628 return;
47629 }
47630 void parser___ReduceAction717___action(val_t self, val_t param0) {
47631 struct trace_t trace = {NULL, NULL, 27973, LOCATE_parser___ReduceAction717___action};
47632 val_t variable[7];
47633 void **closurevariable = NULL;
47634 trace.prev = tracehead; tracehead = &trace;
47635 trace.file = LOCATE_parser;
47636 variable[0] = self;
47637 variable[1] = param0;
47638 variable[3] = NIT_NULL /*null*/;
47639 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47640 variable[4] = variable[5];
47641 variable[5] = variable[4] /*nodearraylist1*/;
47642 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
47643 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction717___action, LOCATE_parser, 27978); nit_exit(1);}
47644 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
47645 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(104)) /*Parser::go_to*/;
47646 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
47647 return_label1466: while(false);
47648 tracehead = trace.prev;
47649 return;
47650 }
47651 void parser___ReduceAction717___init(val_t self, int* init_table) {
47652 struct trace_t trace = {NULL, NULL, 27982, LOCATE_parser___ReduceAction717___init};
47653 val_t variable[2];
47654 void **closurevariable = NULL;
47655 trace.prev = tracehead; tracehead = &trace;
47656 trace.file = LOCATE_parser;
47657 variable[0] = self;
47658 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction717].i]) return;
47659 return_label1467: while(false);
47660 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction717].i] = 1;
47661 tracehead = trace.prev;
47662 return;
47663 }
47664 void parser___ReduceAction718___action(val_t self, val_t param0) {
47665 struct trace_t trace = {NULL, NULL, 27986, LOCATE_parser___ReduceAction718___action};
47666 val_t variable[14];
47667 void **closurevariable = NULL;
47668 trace.prev = tracehead; tracehead = &trace;
47669 trace.file = LOCATE_parser;
47670 variable[0] = self;
47671 variable[1] = param0;
47672 variable[3] = NIT_NULL /*null*/;
47673 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47674 variable[4] = variable[5];
47675 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47676 variable[5] = variable[6];
47677 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47678 variable[6] = variable[7];
47679 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47680 variable[7] = variable[8];
47681 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
47682 variable[8] = variable[9];
47683 variable[9] = variable[7] /*nodearraylist1*/;
47684 variable[10] = TAG_Bool(( variable[9] /*tkwnewnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwnewnode2*/, COLOR_TKwnew, ID_TKwnew)) /*cast TKwnew*/;
47685 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction718___action, LOCATE_parser, 27995); nit_exit(1);}
47686 variable[10] = variable[5] /*nodearraylist3*/;
47687 variable[11] = TAG_Bool(( variable[10] /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable[10] /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
47688 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction718___action, LOCATE_parser, 27997); nit_exit(1);}
47689 variable[11] = variable[4] /*nodearraylist4*/;
47690 variable[12] = TAG_Bool(( variable[11] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
47691 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction718___action, LOCATE_parser, 27999); nit_exit(1);}
47692 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode5*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable[11] /*listnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
47693 if (UNTAG_Bool(variable[12])) { /*if*/
47694 variable[12] = ((array___AbstractArray___is_empty_t)CALL( variable[8] /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable[8] /*listnode6*/) /*AbstractArray::is_empty*/;
47695 if (UNTAG_Bool(variable[12])) { /*if*/
47696 variable[8] = variable[11] /*listnode5*/ /*listnode6=*/;
47697 } else { /*if*/
47698 ((abstract_collection___IndexedCollection___append_t)CALL( variable[8] /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable[8] /*listnode6*/, variable[11] /*listnode5*/) /*IndexedCollection::append*/;
47699 }
47700 }
47701 variable[13] = NEW_ANewExpr_parser_prod___ANewExpr___init_anewexpr( variable[9] /*tkwnewnode2*/, variable[10] /*ptypenode3*/, NIT_NULL /*null*/, variable[8] /*listnode6*/); /*new ANewExpr*/
47702 variable[12] = variable[13];
47703 variable[3] = variable[12] /*pexprnode1*/ /*node_list=*/;
47704 variable[13] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(104)) /*Parser::go_to*/;
47705 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
47706 return_label1468: while(false);
47707 tracehead = trace.prev;
47708 return;
47709 }
47710 void parser___ReduceAction718___init(val_t self, int* init_table) {
47711 struct trace_t trace = {NULL, NULL, 28016, LOCATE_parser___ReduceAction718___init};
47712 val_t variable[2];
47713 void **closurevariable = NULL;
47714 trace.prev = tracehead; tracehead = &trace;
47715 trace.file = LOCATE_parser;
47716 variable[0] = self;
47717 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction718].i]) return;
47718 return_label1469: while(false);
47719 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction718].i] = 1;
47720 tracehead = trace.prev;
47721 return;
47722 }
47723 void parser___ReduceAction719___action(val_t self, val_t param0) {
47724 struct trace_t trace = {NULL, NULL, 28020, LOCATE_parser___ReduceAction719___action};
47725 val_t variable[12];
47726 void **closurevariable = NULL;
47727 trace.prev = tracehead; tracehead = &trace;
47728 trace.file = LOCATE_parser;
47729 variable[0] = self;
47730 variable[1] = param0;
47731 variable[3] = NIT_NULL /*null*/;
47732 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47733 variable[4] = variable[5];
47734 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47735 variable[5] = variable[6];
47736 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47737 variable[6] = variable[7];
47738 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47739 variable[7] = variable[8];
47740 variable[8] = variable[7] /*nodearraylist1*/;
47741 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
47742 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction719___action, LOCATE_parser, 28028); nit_exit(1);}
47743 variable[9] = variable[4] /*nodearraylist4*/;
47744 variable[10] = TAG_Bool(( variable[9] /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
47745 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction719___action, LOCATE_parser, 28030); nit_exit(1);}
47746 variable[11] = NEW_AAttrExpr_parser_prod___AAttrExpr___init_aattrexpr( variable[8] /*pexprnode2*/, variable[9] /*tattridnode3*/); /*new AAttrExpr*/
47747 variable[10] = variable[11];
47748 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
47749 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(105)) /*Parser::go_to*/;
47750 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
47751 return_label1470: while(false);
47752 tracehead = trace.prev;
47753 return;
47754 }
47755 void parser___ReduceAction719___init(val_t self, int* init_table) {
47756 struct trace_t trace = {NULL, NULL, 28038, LOCATE_parser___ReduceAction719___init};
47757 val_t variable[2];
47758 void **closurevariable = NULL;
47759 trace.prev = tracehead; tracehead = &trace;
47760 trace.file = LOCATE_parser;
47761 variable[0] = self;
47762 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction719].i]) return;
47763 return_label1471: while(false);
47764 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction719].i] = 1;
47765 tracehead = trace.prev;
47766 return;
47767 }
47768 void parser___ReduceAction720___action(val_t self, val_t param0) {
47769 struct trace_t trace = {NULL, NULL, 28042, LOCATE_parser___ReduceAction720___action};
47770 val_t variable[9];
47771 void **closurevariable = NULL;
47772 trace.prev = tracehead; tracehead = &trace;
47773 trace.file = LOCATE_parser;
47774 variable[0] = self;
47775 variable[1] = param0;
47776 variable[3] = NIT_NULL /*null*/;
47777 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47778 variable[4] = variable[5];
47779 variable[6] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
47780 variable[5] = variable[6];
47781 variable[6] = variable[4] /*nodearraylist1*/;
47782 variable[7] = TAG_Bool(( variable[6] /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable[6] /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
47783 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction720___action, LOCATE_parser, 28049); nit_exit(1);}
47784 variable[8] = NEW_AAttrExpr_parser_prod___AAttrExpr___init_aattrexpr( variable[5] /*pexprnode2*/, variable[6] /*tattridnode3*/); /*new AAttrExpr*/
47785 variable[7] = variable[8];
47786 variable[3] = variable[7] /*pexprnode1*/ /*node_list=*/;
47787 variable[8] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(105)) /*Parser::go_to*/;
47788 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
47789 return_label1472: while(false);
47790 tracehead = trace.prev;
47791 return;
47792 }
47793 void parser___ReduceAction720___init(val_t self, int* init_table) {
47794 struct trace_t trace = {NULL, NULL, 28057, LOCATE_parser___ReduceAction720___init};
47795 val_t variable[2];
47796 void **closurevariable = NULL;
47797 trace.prev = tracehead; tracehead = &trace;
47798 trace.file = LOCATE_parser;
47799 variable[0] = self;
47800 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction720].i]) return;
47801 return_label1473: while(false);
47802 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction720].i] = 1;
47803 tracehead = trace.prev;
47804 return;
47805 }
47806 void parser___ReduceAction721___action(val_t self, val_t param0) {
47807 struct trace_t trace = {NULL, NULL, 28061, LOCATE_parser___ReduceAction721___action};
47808 val_t variable[16];
47809 void **closurevariable = NULL;
47810 trace.prev = tracehead; tracehead = &trace;
47811 trace.file = LOCATE_parser;
47812 variable[0] = self;
47813 variable[1] = param0;
47814 variable[3] = NIT_NULL /*null*/;
47815 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47816 variable[4] = variable[5];
47817 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47818 variable[5] = variable[6];
47819 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47820 variable[6] = variable[7];
47821 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47822 variable[7] = variable[8];
47823 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47824 variable[8] = variable[9];
47825 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
47826 variable[9] = variable[10];
47827 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
47828 variable[10] = variable[11];
47829 variable[11] = variable[8] /*nodearraylist1*/;
47830 variable[12] = TAG_Bool(( variable[11] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
47831 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction721___action, LOCATE_parser, 28072); nit_exit(1);}
47832 variable[12] = variable[5] /*nodearraylist4*/;
47833 variable[13] = TAG_Bool(( variable[12] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[12] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
47834 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction721___action, LOCATE_parser, 28074); nit_exit(1);}
47835 variable[13] = variable[4] /*nodearraylist5*/;
47836 variable[14] = TAG_Bool(( variable[13] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[13] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
47837 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction721___action, LOCATE_parser, 28076); nit_exit(1);}
47838 variable[14] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[13] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[13] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[13] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[13] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[13] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[13] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
47839 if (UNTAG_Bool(variable[14])) { /*if*/
47840 variable[14] = ((array___AbstractArray___is_empty_t)CALL( variable[9] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[9] /*listnode5*/) /*AbstractArray::is_empty*/;
47841 if (UNTAG_Bool(variable[14])) { /*if*/
47842 variable[9] = variable[13] /*listnode4*/ /*listnode5=*/;
47843 } else { /*if*/
47844 ((abstract_collection___IndexedCollection___append_t)CALL( variable[9] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[9] /*listnode5*/, variable[13] /*listnode4*/) /*IndexedCollection::append*/;
47845 }
47846 }
47847 variable[15] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[11] /*pexprnode2*/, variable[12] /*tidnode3*/, variable[9] /*listnode5*/, variable[10] /*listnode6*/); /*new ACallExpr*/
47848 variable[14] = variable[15];
47849 variable[3] = variable[14] /*pexprnode1*/ /*node_list=*/;
47850 variable[15] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(105)) /*Parser::go_to*/;
47851 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
47852 return_label1474: while(false);
47853 tracehead = trace.prev;
47854 return;
47855 }
47856 void parser___ReduceAction721___init(val_t self, int* init_table) {
47857 struct trace_t trace = {NULL, NULL, 28093, LOCATE_parser___ReduceAction721___init};
47858 val_t variable[2];
47859 void **closurevariable = NULL;
47860 trace.prev = tracehead; tracehead = &trace;
47861 trace.file = LOCATE_parser;
47862 variable[0] = self;
47863 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction721].i]) return;
47864 return_label1475: while(false);
47865 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction721].i] = 1;
47866 tracehead = trace.prev;
47867 return;
47868 }
47869 void parser___ReduceAction722___action(val_t self, val_t param0) {
47870 struct trace_t trace = {NULL, NULL, 28097, LOCATE_parser___ReduceAction722___action};
47871 val_t variable[13];
47872 void **closurevariable = NULL;
47873 trace.prev = tracehead; tracehead = &trace;
47874 trace.file = LOCATE_parser;
47875 variable[0] = self;
47876 variable[1] = param0;
47877 variable[3] = NIT_NULL /*null*/;
47878 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47879 variable[4] = variable[5];
47880 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47881 variable[5] = variable[6];
47882 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
47883 variable[6] = variable[7];
47884 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
47885 variable[7] = variable[8];
47886 variable[9] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
47887 variable[8] = variable[9];
47888 variable[9] = variable[5] /*nodearraylist1*/;
47889 variable[10] = TAG_Bool(( variable[9] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
47890 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction722___action, LOCATE_parser, 28107); nit_exit(1);}
47891 variable[10] = variable[4] /*nodearraylist2*/;
47892 variable[11] = TAG_Bool(( variable[10] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
47893 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction722___action, LOCATE_parser, 28109); nit_exit(1);}
47894 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[10] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
47895 if (UNTAG_Bool(variable[11])) { /*if*/
47896 variable[11] = ((array___AbstractArray___is_empty_t)CALL( variable[6] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[6] /*listnode5*/) /*AbstractArray::is_empty*/;
47897 if (UNTAG_Bool(variable[11])) { /*if*/
47898 variable[6] = variable[10] /*listnode4*/ /*listnode5=*/;
47899 } else { /*if*/
47900 ((abstract_collection___IndexedCollection___append_t)CALL( variable[6] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[6] /*listnode5*/, variable[10] /*listnode4*/) /*IndexedCollection::append*/;
47901 }
47902 }
47903 variable[12] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[8] /*pexprnode2*/, variable[9] /*tidnode3*/, variable[6] /*listnode5*/, variable[7] /*listnode6*/); /*new ACallExpr*/
47904 variable[11] = variable[12];
47905 variable[3] = variable[11] /*pexprnode1*/ /*node_list=*/;
47906 variable[12] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(105)) /*Parser::go_to*/;
47907 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
47908 return_label1476: while(false);
47909 tracehead = trace.prev;
47910 return;
47911 }
47912 void parser___ReduceAction722___init(val_t self, int* init_table) {
47913 struct trace_t trace = {NULL, NULL, 28126, LOCATE_parser___ReduceAction722___init};
47914 val_t variable[2];
47915 void **closurevariable = NULL;
47916 trace.prev = tracehead; tracehead = &trace;
47917 trace.file = LOCATE_parser;
47918 variable[0] = self;
47919 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction722].i]) return;
47920 return_label1477: while(false);
47921 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction722].i] = 1;
47922 tracehead = trace.prev;
47923 return;
47924 }
47925 void parser___ReduceAction723___action(val_t self, val_t param0) {
47926 struct trace_t trace = {NULL, NULL, 28130, LOCATE_parser___ReduceAction723___action};
47927 val_t variable[11];
47928 void **closurevariable = NULL;
47929 trace.prev = tracehead; tracehead = &trace;
47930 trace.file = LOCATE_parser;
47931 variable[0] = self;
47932 variable[1] = param0;
47933 variable[3] = NIT_NULL /*null*/;
47934 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47935 variable[4] = variable[5];
47936 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47937 variable[5] = variable[6];
47938 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
47939 variable[6] = variable[7];
47940 variable[7] = variable[5] /*nodearraylist1*/;
47941 variable[8] = TAG_Bool(( variable[7] /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable[7] /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
47942 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction723___action, LOCATE_parser, 28137); nit_exit(1);}
47943 variable[8] = variable[4] /*nodearraylist2*/;
47944 variable[9] = TAG_Bool(( variable[8] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[8] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
47945 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction723___action, LOCATE_parser, 28139); nit_exit(1);}
47946 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[8] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[8] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[8] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[8] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
47947 if (UNTAG_Bool(variable[9])) { /*if*/
47948 variable[9] = ((array___AbstractArray___is_empty_t)CALL( variable[6] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[6] /*listnode5*/) /*AbstractArray::is_empty*/;
47949 if (UNTAG_Bool(variable[9])) { /*if*/
47950 variable[6] = variable[8] /*listnode4*/ /*listnode5=*/;
47951 } else { /*if*/
47952 ((abstract_collection___IndexedCollection___append_t)CALL( variable[6] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[6] /*listnode5*/, variable[8] /*listnode4*/) /*IndexedCollection::append*/;
47953 }
47954 }
47955 variable[10] = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr( NIT_NULL /*null*/, variable[7] /*tkwsupernode3*/, variable[6] /*listnode5*/); /*new ASuperExpr*/
47956 variable[9] = variable[10];
47957 variable[3] = variable[9] /*pexprnode1*/ /*node_list=*/;
47958 variable[10] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(105)) /*Parser::go_to*/;
47959 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
47960 return_label1478: while(false);
47961 tracehead = trace.prev;
47962 return;
47963 }
47964 void parser___ReduceAction723___init(val_t self, int* init_table) {
47965 struct trace_t trace = {NULL, NULL, 28155, LOCATE_parser___ReduceAction723___init};
47966 val_t variable[2];
47967 void **closurevariable = NULL;
47968 trace.prev = tracehead; tracehead = &trace;
47969 trace.file = LOCATE_parser;
47970 variable[0] = self;
47971 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction723].i]) return;
47972 return_label1479: while(false);
47973 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction723].i] = 1;
47974 tracehead = trace.prev;
47975 return;
47976 }
47977 void parser___ReduceAction724___action(val_t self, val_t param0) {
47978 struct trace_t trace = {NULL, NULL, 28159, LOCATE_parser___ReduceAction724___action};
47979 val_t variable[13];
47980 void **closurevariable = NULL;
47981 trace.prev = tracehead; tracehead = &trace;
47982 trace.file = LOCATE_parser;
47983 variable[0] = self;
47984 variable[1] = param0;
47985 variable[3] = NIT_NULL /*null*/;
47986 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47987 variable[4] = variable[5];
47988 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47989 variable[5] = variable[6];
47990 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
47991 variable[6] = variable[7];
47992 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
47993 variable[7] = variable[8];
47994 variable[8] = variable[6] /*nodearraylist1*/;
47995 variable[9] = TAG_Bool(( variable[8] /*pqualifiednode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pqualifiednode2*/, COLOR_PQualified, ID_PQualified)) /*cast PQualified*/;
47996 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction724___action, LOCATE_parser, 28167); nit_exit(1);}
47997 variable[9] = variable[5] /*nodearraylist2*/;
47998 variable[10] = TAG_Bool(( variable[9] /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
47999 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction724___action, LOCATE_parser, 28169); nit_exit(1);}
48000 variable[10] = variable[4] /*nodearraylist3*/;
48001 variable[11] = TAG_Bool(( variable[10] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
48002 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction724___action, LOCATE_parser, 28171); nit_exit(1);}
48003 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[10] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
48004 if (UNTAG_Bool(variable[11])) { /*if*/
48005 variable[11] = ((array___AbstractArray___is_empty_t)CALL( variable[7] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[7] /*listnode5*/) /*AbstractArray::is_empty*/;
48006 if (UNTAG_Bool(variable[11])) { /*if*/
48007 variable[7] = variable[10] /*listnode4*/ /*listnode5=*/;
48008 } else { /*if*/
48009 ((abstract_collection___IndexedCollection___append_t)CALL( variable[7] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[7] /*listnode5*/, variable[10] /*listnode4*/) /*IndexedCollection::append*/;
48010 }
48011 }
48012 variable[12] = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr( variable[8] /*pqualifiednode2*/, variable[9] /*tkwsupernode3*/, variable[7] /*listnode5*/); /*new ASuperExpr*/
48013 variable[11] = variable[12];
48014 variable[3] = variable[11] /*pexprnode1*/ /*node_list=*/;
48015 variable[12] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(105)) /*Parser::go_to*/;
48016 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
48017 return_label1480: while(false);
48018 tracehead = trace.prev;
48019 return;
48020 }
48021 void parser___ReduceAction724___init(val_t self, int* init_table) {
48022 struct trace_t trace = {NULL, NULL, 28187, LOCATE_parser___ReduceAction724___init};
48023 val_t variable[2];
48024 void **closurevariable = NULL;
48025 trace.prev = tracehead; tracehead = &trace;
48026 trace.file = LOCATE_parser;
48027 variable[0] = self;
48028 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction724].i]) return;
48029 return_label1481: while(false);
48030 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction724].i] = 1;
48031 tracehead = trace.prev;
48032 return;
48033 }
48034 void parser___ReduceAction725___action(val_t self, val_t param0) {
48035 struct trace_t trace = {NULL, NULL, 28191, LOCATE_parser___ReduceAction725___action};
48036 val_t variable[15];
48037 void **closurevariable = NULL;
48038 trace.prev = tracehead; tracehead = &trace;
48039 trace.file = LOCATE_parser;
48040 variable[0] = self;
48041 variable[1] = param0;
48042 variable[3] = NIT_NULL /*null*/;
48043 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
48044 variable[4] = variable[5];
48045 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
48046 variable[5] = variable[6];
48047 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
48048 variable[6] = variable[7];
48049 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
48050 variable[7] = variable[8];
48051 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
48052 variable[8] = variable[9];
48053 variable[10] = NEW_Array_array___Array___init(); /*new Array[Object]*/
48054 variable[9] = variable[10];
48055 variable[10] = variable[8] /*nodearraylist1*/;
48056 variable[11] = TAG_Bool(( variable[10] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
48057 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction725___action, LOCATE_parser, 28201); nit_exit(1);}
48058 variable[11] = variable[5] /*nodearraylist4*/;
48059 variable[12] = TAG_Bool(( variable[11] /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
48060 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction725___action, LOCATE_parser, 28203); nit_exit(1);}
48061 variable[12] = variable[4] /*nodearraylist5*/;
48062 variable[13] = TAG_Bool(( variable[12] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
48063 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction725___action, LOCATE_parser, 28205); nit_exit(1);}
48064 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[12] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
48065 if (UNTAG_Bool(variable[13])) { /*if*/
48066 variable[13] = ((array___AbstractArray___is_empty_t)CALL( variable[9] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[9] /*listnode5*/) /*AbstractArray::is_empty*/;
48067 if (UNTAG_Bool(variable[13])) { /*if*/
48068 variable[9] = variable[12] /*listnode4*/ /*listnode5=*/;
48069 } else { /*if*/
48070 ((abstract_collection___IndexedCollection___append_t)CALL( variable[9] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[9] /*listnode5*/, variable[12] /*listnode4*/) /*IndexedCollection::append*/;
48071 }
48072 }
48073 variable[14] = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr( variable[10] /*pexprnode2*/, variable[11] /*tkwinitnode3*/, variable[9] /*listnode5*/); /*new AInitExpr*/
48074 variable[13] = variable[14];
48075 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
48076 variable[14] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(105)) /*Parser::go_to*/;
48077 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
48078 return_label1482: while(false);
48079 tracehead = trace.prev;
48080 return;
48081 }
48082 void parser___ReduceAction725___init(val_t self, int* init_table) {
48083 struct trace_t trace = {NULL, NULL, 28221, LOCATE_parser___ReduceAction725___init};
48084 val_t variable[2];
48085 void **closurevariable = NULL;
48086 trace.prev = tracehead; tracehead = &trace;
48087 trace.file = LOCATE_parser;
48088 variable[0] = self;
48089 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction725].i]) return;
48090 return_label1483: while(false);
48091 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction725].i] = 1;
48092 tracehead = trace.prev;
48093 return;
48094 }
48095 void parser___ReduceAction726___action(val_t self, val_t param0) {
48096 struct trace_t trace = {NULL, NULL, 28225, LOCATE_parser___ReduceAction726___action};
48097 val_t variable[12];
48098 void **closurevariable = NULL;
48099 trace.prev = tracehead; tracehead = &trace;
48100 trace.file = LOCATE_parser;
48101 variable[0] = self;
48102 variable[1] = param0;
48103 variable[3] = NIT_NULL /*null*/;
48104 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
48105 variable[4] = variable[5];
48106 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
48107 variable[5] = variable[6];
48108 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
48109 variable[6] = variable[7];
48110 variable[8] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
48111 variable[7] = variable[8];
48112 variable[8] = variable[5] /*nodearraylist1*/;
48113 variable[9] = TAG_Bool(( variable[8] /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
48114 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction726___action, LOCATE_parser, 28234); nit_exit(1);}
48115 variable[9] = variable[4] /*nodearraylist2*/;
48116 variable[10] = TAG_Bool(( variable[9] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[9] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
48117 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction726___action, LOCATE_parser, 28236); nit_exit(1);}
48118 variable[10] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[9] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[9] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[9] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[9] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[9] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[9] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
48119 if (UNTAG_Bool(variable[10])) { /*if*/
48120 variable[10] = ((array___AbstractArray___is_empty_t)CALL( variable[6] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[6] /*listnode5*/) /*AbstractArray::is_empty*/;
48121 if (UNTAG_Bool(variable[10])) { /*if*/
48122 variable[6] = variable[9] /*listnode4*/ /*listnode5=*/;
48123 } else { /*if*/
48124 ((abstract_collection___IndexedCollection___append_t)CALL( variable[6] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[6] /*listnode5*/, variable[9] /*listnode4*/) /*IndexedCollection::append*/;
48125 }
48126 }
48127 variable[11] = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr( variable[7] /*pexprnode2*/, variable[8] /*tkwinitnode3*/, variable[6] /*listnode5*/); /*new AInitExpr*/
48128 variable[10] = variable[11];
48129 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
48130 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(105)) /*Parser::go_to*/;
48131 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
48132 return_label1484: while(false);
48133 tracehead = trace.prev;
48134 return;
48135 }
48136 void parser___ReduceAction726___init(val_t self, int* init_table) {
48137 struct trace_t trace = {NULL, NULL, 28252, LOCATE_parser___ReduceAction726___init};
48138 val_t variable[2];
48139 void **closurevariable = NULL;
48140 trace.prev = tracehead; tracehead = &trace;
48141 trace.file = LOCATE_parser;
48142 variable[0] = self;
48143 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction726].i]) return;
48144 return_label1485: while(false);
48145 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction726].i] = 1;
48146 tracehead = trace.prev;
48147 return;
48148 }
48149 void parser___ReduceAction727___action(val_t self, val_t param0) {
48150 struct trace_t trace = {NULL, NULL, 28256, LOCATE_parser___ReduceAction727___action};
48151 val_t variable[18];
48152 void **closurevariable = NULL;
48153 trace.prev = tracehead; tracehead = &trace;
48154 trace.file = LOCATE_parser;
48155 variable[0] = self;
48156 variable[1] = param0;
48157 variable[3] = NIT_NULL /*null*/;
48158 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
48159 variable[4] = variable[5];
48160 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
48161 variable[5] = variable[6];
48162 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
48163 variable[6] = variable[7];
48164 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
48165 variable[7] = variable[8];
48166 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
48167 variable[8] = variable[9];
48168 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
48169 variable[9] = variable[10];
48170 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
48171 variable[10] = variable[11];
48172 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
48173 variable[11] = variable[12];
48174 variable[12] = variable[10] /*nodearraylist1*/;
48175 variable[13] = TAG_Bool(( variable[12] /*tkwnewnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwnewnode2*/, COLOR_TKwnew, ID_TKwnew)) /*cast TKwnew*/;
48176 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction727___action, LOCATE_parser, 28268); nit_exit(1);}
48177 variable[13] = variable[8] /*nodearraylist3*/;
48178 variable[14] = TAG_Bool(( variable[13] /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable[13] /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
48179 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction727___action, LOCATE_parser, 28270); nit_exit(1);}
48180 variable[14] = variable[5] /*nodearraylist6*/;
48181 variable[15] = TAG_Bool(( variable[14] /*tidnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*tidnode4*/, COLOR_TId, ID_TId)) /*cast TId*/;
48182 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction727___action, LOCATE_parser, 28272); nit_exit(1);}
48183 variable[15] = variable[4] /*nodearraylist7*/;
48184 variable[16] = TAG_Bool(( variable[15] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
48185 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction727___action, LOCATE_parser, 28274); nit_exit(1);}
48186 variable[16] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*listnode5*/ == NIT_NULL /*null*/) || (( variable[15] /*listnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[15] /*listnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*listnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[15] /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable[15] /*listnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
48187 if (UNTAG_Bool(variable[16])) { /*if*/
48188 variable[16] = ((array___AbstractArray___is_empty_t)CALL( variable[11] /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable[11] /*listnode6*/) /*AbstractArray::is_empty*/;
48189 if (UNTAG_Bool(variable[16])) { /*if*/
48190 variable[11] = variable[15] /*listnode5*/ /*listnode6=*/;
48191 } else { /*if*/
48192 ((abstract_collection___IndexedCollection___append_t)CALL( variable[11] /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable[11] /*listnode6*/, variable[15] /*listnode5*/) /*IndexedCollection::append*/;
48193 }
48194 }
48195 variable[17] = NEW_ANewExpr_parser_prod___ANewExpr___init_anewexpr( variable[12] /*tkwnewnode2*/, variable[13] /*ptypenode3*/, variable[14] /*tidnode4*/, variable[11] /*listnode6*/); /*new ANewExpr*/
48196 variable[16] = variable[17];
48197 variable[3] = variable[16] /*pexprnode1*/ /*node_list=*/;
48198 variable[17] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(105)) /*Parser::go_to*/;
48199 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
48200 return_label1486: while(false);
48201 tracehead = trace.prev;
48202 return;
48203 }
48204 void parser___ReduceAction727___init(val_t self, int* init_table) {
48205 struct trace_t trace = {NULL, NULL, 28291, LOCATE_parser___ReduceAction727___init};
48206 val_t variable[2];
48207 void **closurevariable = NULL;
48208 trace.prev = tracehead; tracehead = &trace;
48209 trace.file = LOCATE_parser;
48210 variable[0] = self;
48211 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction727].i]) return;
48212 return_label1487: while(false);
48213 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction727].i] = 1;
48214 tracehead = trace.prev;
48215 return;
48216 }
48217 void parser___ReduceAction728___action(val_t self, val_t param0) {
48218 struct trace_t trace = {NULL, NULL, 28295, LOCATE_parser___ReduceAction728___action};
48219 val_t variable[8];
48220 void **closurevariable = NULL;
48221 trace.prev = tracehead; tracehead = &trace;
48222 trace.file = LOCATE_parser;
48223 variable[0] = self;
48224 variable[1] = param0;
48225 variable[3] = NIT_NULL /*null*/;
48226 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
48227 variable[4] = variable[5];
48228 variable[5] = variable[4] /*nodearraylist1*/;
48229 variable[6] = TAG_Bool(( variable[5] /*tkwselfnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwselfnode2*/, COLOR_TKwself, ID_TKwself)) /*cast TKwself*/;
48230 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction728___action, LOCATE_parser, 28300); nit_exit(1);}
48231 variable[7] = NEW_ASelfExpr_parser_prod___ASelfExpr___init_aselfexpr( variable[5] /*tkwselfnode2*/); /*new ASelfExpr*/
48232 variable[6] = variable[7];
48233 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
48234 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(105)) /*Parser::go_to*/;
48235 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
48236 return_label1488: while(false);
48237 tracehead = trace.prev;
48238 return;
48239 }
48240 void parser___ReduceAction728___init(val_t self, int* init_table) {
48241 struct trace_t trace = {NULL, NULL, 28307, LOCATE_parser___ReduceAction728___init};
48242 val_t variable[2];
48243 void **closurevariable = NULL;
48244 trace.prev = tracehead; tracehead = &trace;
48245 trace.file = LOCATE_parser;
48246 variable[0] = self;
48247 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction728].i]) return;
48248 return_label1489: while(false);
48249 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction728].i] = 1;
48250 tracehead = trace.prev;
48251 return;
48252 }
48253 void parser___ReduceAction729___action(val_t self, val_t param0) {
48254 struct trace_t trace = {NULL, NULL, 28311, LOCATE_parser___ReduceAction729___action};
48255 val_t variable[8];
48256 void **closurevariable = NULL;
48257 trace.prev = tracehead; tracehead = &trace;
48258 trace.file = LOCATE_parser;
48259 variable[0] = self;
48260 variable[1] = param0;
48261 variable[3] = NIT_NULL /*null*/;
48262 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
48263 variable[4] = variable[5];
48264 variable[5] = variable[4] /*nodearraylist1*/;
48265 variable[6] = TAG_Bool(( variable[5] /*tkwtruenode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwtruenode2*/, COLOR_TKwtrue, ID_TKwtrue)) /*cast TKwtrue*/;
48266 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction729___action, LOCATE_parser, 28316); nit_exit(1);}
48267 variable[7] = NEW_ATrueExpr_parser_prod___ATrueExpr___init_atrueexpr( variable[5] /*tkwtruenode2*/); /*new ATrueExpr*/
48268 variable[6] = variable[7];
48269 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
48270 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(105)) /*Parser::go_to*/;
48271 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
48272 return_label1490: while(false);
48273 tracehead = trace.prev;
48274 return;
48275 }
48276 void parser___ReduceAction729___init(val_t self, int* init_table) {
48277 struct trace_t trace = {NULL, NULL, 28323, LOCATE_parser___ReduceAction729___init};
48278 val_t variable[2];
48279 void **closurevariable = NULL;
48280 trace.prev = tracehead; tracehead = &trace;
48281 trace.file = LOCATE_parser;
48282 variable[0] = self;
48283 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction729].i]) return;
48284 return_label1491: while(false);
48285 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction729].i] = 1;
48286 tracehead = trace.prev;
48287 return;
48288 }
48289 void parser___ReduceAction730___action(val_t self, val_t param0) {
48290 struct trace_t trace = {NULL, NULL, 28327, LOCATE_parser___ReduceAction730___action};
48291 val_t variable[8];
48292 void **closurevariable = NULL;
48293 trace.prev = tracehead; tracehead = &trace;
48294 trace.file = LOCATE_parser;
48295 variable[0] = self;
48296 variable[1] = param0;
48297 variable[3] = NIT_NULL /*null*/;
48298 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
48299 variable[4] = variable[5];
48300 variable[5] = variable[4] /*nodearraylist1*/;
48301 variable[6] = TAG_Bool(( variable[5] /*tkwfalsenode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwfalsenode2*/, COLOR_TKwfalse, ID_TKwfalse)) /*cast TKwfalse*/;
48302 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction730___action, LOCATE_parser, 28332); nit_exit(1);}
48303 variable[7] = NEW_AFalseExpr_parser_prod___AFalseExpr___init_afalseexpr( variable[5] /*tkwfalsenode2*/); /*new AFalseExpr*/
48304 variable[6] = variable[7];
48305 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
48306 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(105)) /*Parser::go_to*/;
48307 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
48308 return_label1492: while(false);
48309 tracehead = trace.prev;
48310 return;
48311 }
48312 void parser___ReduceAction730___init(val_t self, int* init_table) {
48313 struct trace_t trace = {NULL, NULL, 28339, LOCATE_parser___ReduceAction730___init};
48314 val_t variable[2];
48315 void **closurevariable = NULL;
48316 trace.prev = tracehead; tracehead = &trace;
48317 trace.file = LOCATE_parser;
48318 variable[0] = self;
48319 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction730].i]) return;
48320 return_label1493: while(false);
48321 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction730].i] = 1;
48322 tracehead = trace.prev;
48323 return;
48324 }
48325 void parser___ReduceAction731___action(val_t self, val_t param0) {
48326 struct trace_t trace = {NULL, NULL, 28343, LOCATE_parser___ReduceAction731___action};
48327 val_t variable[8];
48328 void **closurevariable = NULL;
48329 trace.prev = tracehead; tracehead = &trace;
48330 trace.file = LOCATE_parser;
48331 variable[0] = self;
48332 variable[1] = param0;
48333 variable[3] = NIT_NULL /*null*/;
48334 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
48335 variable[4] = variable[5];
48336 variable[5] = variable[4] /*nodearraylist1*/;
48337 variable[6] = TAG_Bool(( variable[5] /*tkwnullnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwnullnode2*/, COLOR_TKwnull, ID_TKwnull)) /*cast TKwnull*/;
48338 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction731___action, LOCATE_parser, 28348); nit_exit(1);}
48339 variable[7] = NEW_ANullExpr_parser_prod___ANullExpr___init_anullexpr( variable[5] /*tkwnullnode2*/); /*new ANullExpr*/
48340 variable[6] = variable[7];
48341 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
48342 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(105)) /*Parser::go_to*/;
48343 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
48344 return_label1494: while(false);
48345 tracehead = trace.prev;
48346 return;
48347 }
48348 void parser___ReduceAction731___init(val_t self, int* init_table) {
48349 struct trace_t trace = {NULL, NULL, 28355, LOCATE_parser___ReduceAction731___init};
48350 val_t variable[2];
48351 void **closurevariable = NULL;
48352 trace.prev = tracehead; tracehead = &trace;
48353 trace.file = LOCATE_parser;
48354 variable[0] = self;
48355 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction731].i]) return;
48356 return_label1495: while(false);
48357 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction731].i] = 1;
48358 tracehead = trace.prev;
48359 return;
48360 }
48361 void parser___ReduceAction732___action(val_t self, val_t param0) {
48362 struct trace_t trace = {NULL, NULL, 28359, LOCATE_parser___ReduceAction732___action};
48363 val_t variable[8];
48364 void **closurevariable = NULL;
48365 trace.prev = tracehead; tracehead = &trace;
48366 trace.file = LOCATE_parser;
48367 variable[0] = self;
48368 variable[1] = param0;
48369 variable[3] = NIT_NULL /*null*/;
48370 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
48371 variable[4] = variable[5];
48372 variable[5] = variable[4] /*nodearraylist1*/;
48373 variable[6] = TAG_Bool(( variable[5] /*tnumbernode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tnumbernode2*/, COLOR_TNumber, ID_TNumber)) /*cast TNumber*/;
48374 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction732___action, LOCATE_parser, 28364); nit_exit(1);}
48375 variable[7] = NEW_AIntExpr_parser_prod___AIntExpr___init_aintexpr( variable[5] /*tnumbernode2*/); /*new AIntExpr*/
48376 variable[6] = variable[7];
48377 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
48378 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(105)) /*Parser::go_to*/;
48379 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
48380 return_label1496: while(false);
48381 tracehead = trace.prev;
48382 return;
48383 }
48384 void parser___ReduceAction732___init(val_t self, int* init_table) {
48385 struct trace_t trace = {NULL, NULL, 28371, LOCATE_parser___ReduceAction732___init};
48386 val_t variable[2];
48387 void **closurevariable = NULL;
48388 trace.prev = tracehead; tracehead = &trace;
48389 trace.file = LOCATE_parser;
48390 variable[0] = self;
48391 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction732].i]) return;
48392 return_label1497: while(false);
48393 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction732].i] = 1;
48394 tracehead = trace.prev;
48395 return;
48396 }
48397 void parser___ReduceAction733___action(val_t self, val_t param0) {
48398 struct trace_t trace = {NULL, NULL, 28375, LOCATE_parser___ReduceAction733___action};
48399 val_t variable[8];
48400 void **closurevariable = NULL;
48401 trace.prev = tracehead; tracehead = &trace;
48402 trace.file = LOCATE_parser;
48403 variable[0] = self;
48404 variable[1] = param0;
48405 variable[3] = NIT_NULL /*null*/;
48406 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
48407 variable[4] = variable[5];
48408 variable[5] = variable[4] /*nodearraylist1*/;
48409 variable[6] = TAG_Bool(( variable[5] /*tfloatnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tfloatnode2*/, COLOR_TFloat, ID_TFloat)) /*cast TFloat*/;
48410 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction733___action, LOCATE_parser, 28380); nit_exit(1);}
48411 variable[7] = NEW_AFloatExpr_parser_prod___AFloatExpr___init_afloatexpr( variable[5] /*tfloatnode2*/); /*new AFloatExpr*/
48412 variable[6] = variable[7];
48413 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
48414 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(105)) /*Parser::go_to*/;
48415 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
48416 return_label1498: while(false);
48417 tracehead = trace.prev;
48418 return;
48419 }
48420 void parser___ReduceAction733___init(val_t self, int* init_table) {
48421 struct trace_t trace = {NULL, NULL, 28387, LOCATE_parser___ReduceAction733___init};
48422 val_t variable[2];
48423 void **closurevariable = NULL;
48424 trace.prev = tracehead; tracehead = &trace;
48425 trace.file = LOCATE_parser;
48426 variable[0] = self;
48427 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction733].i]) return;
48428 return_label1499: while(false);
48429 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction733].i] = 1;
48430 tracehead = trace.prev;
48431 return;
48432 }
48433 void parser___ReduceAction734___action(val_t self, val_t param0) {
48434 struct trace_t trace = {NULL, NULL, 28391, LOCATE_parser___ReduceAction734___action};
48435 val_t variable[8];
48436 void **closurevariable = NULL;
48437 trace.prev = tracehead; tracehead = &trace;
48438 trace.file = LOCATE_parser;
48439 variable[0] = self;
48440 variable[1] = param0;
48441 variable[3] = NIT_NULL /*null*/;
48442 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
48443 variable[4] = variable[5];
48444 variable[5] = variable[4] /*nodearraylist1*/;
48445 variable[6] = TAG_Bool(( variable[5] /*tcharnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tcharnode2*/, COLOR_TChar, ID_TChar)) /*cast TChar*/;
48446 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction734___action, LOCATE_parser, 28396); nit_exit(1);}
48447 variable[7] = NEW_ACharExpr_parser_prod___ACharExpr___init_acharexpr( variable[5] /*tcharnode2*/); /*new ACharExpr*/
48448 variable[6] = variable[7];
48449 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
48450 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(105)) /*Parser::go_to*/;
48451 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
48452 return_label1500: while(false);
48453 tracehead = trace.prev;
48454 return;
48455 }
48456 void parser___ReduceAction734___init(val_t self, int* init_table) {
48457 struct trace_t trace = {NULL, NULL, 28403, LOCATE_parser___ReduceAction734___init};
48458 val_t variable[2];
48459 void **closurevariable = NULL;
48460 trace.prev = tracehead; tracehead = &trace;
48461 trace.file = LOCATE_parser;
48462 variable[0] = self;
48463 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction734].i]) return;
48464 return_label1501: while(false);
48465 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction734].i] = 1;
48466 tracehead = trace.prev;
48467 return;
48468 }
48469 void parser___ReduceAction735___action(val_t self, val_t param0) {
48470 struct trace_t trace = {NULL, NULL, 28407, LOCATE_parser___ReduceAction735___action};
48471 val_t variable[8];
48472 void **closurevariable = NULL;
48473 trace.prev = tracehead; tracehead = &trace;
48474 trace.file = LOCATE_parser;
48475 variable[0] = self;
48476 variable[1] = param0;
48477 variable[3] = NIT_NULL /*null*/;
48478 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
48479 variable[4] = variable[5];
48480 variable[5] = variable[4] /*nodearraylist1*/;
48481 variable[6] = TAG_Bool(( variable[5] /*tstringnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tstringnode2*/, COLOR_TString, ID_TString)) /*cast TString*/;
48482 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction735___action, LOCATE_parser, 28412); nit_exit(1);}
48483 variable[7] = NEW_AStringExpr_parser_prod___AStringExpr___init_astringexpr( variable[5] /*tstringnode2*/); /*new AStringExpr*/
48484 variable[6] = variable[7];
48485 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
48486 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(105)) /*Parser::go_to*/;
48487 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
48488 return_label1502: while(false);
48489 tracehead = trace.prev;
48490 return;
48491 }
48492 void parser___ReduceAction735___init(val_t self, int* init_table) {
48493 struct trace_t trace = {NULL, NULL, 28419, LOCATE_parser___ReduceAction735___init};
48494 val_t variable[2];
48495 void **closurevariable = NULL;
48496 trace.prev = tracehead; tracehead = &trace;
48497 trace.file = LOCATE_parser;
48498 variable[0] = self;
48499 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction735].i]) return;
48500 return_label1503: while(false);
48501 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction735].i] = 1;
48502 tracehead = trace.prev;
48503 return;
48504 }
48505 void parser___ReduceAction736___action(val_t self, val_t param0) {
48506 struct trace_t trace = {NULL, NULL, 28423, LOCATE_parser___ReduceAction736___action};
48507 val_t variable[7];
48508 void **closurevariable = NULL;
48509 trace.prev = tracehead; tracehead = &trace;
48510 trace.file = LOCATE_parser;
48511 variable[0] = self;
48512 variable[1] = param0;
48513 variable[3] = NIT_NULL /*null*/;
48514 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
48515 variable[4] = variable[5];
48516 variable[5] = variable[4] /*nodearraylist1*/;
48517 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
48518 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction736___action, LOCATE_parser, 28428); nit_exit(1);}
48519 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
48520 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(105)) /*Parser::go_to*/;
48521 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
48522 return_label1504: while(false);
48523 tracehead = trace.prev;
48524 return;
48525 }
48526 void parser___ReduceAction736___init(val_t self, int* init_table) {
48527 struct trace_t trace = {NULL, NULL, 28432, LOCATE_parser___ReduceAction736___init};
48528 val_t variable[2];
48529 void **closurevariable = NULL;
48530 trace.prev = tracehead; tracehead = &trace;
48531 trace.file = LOCATE_parser;
48532 variable[0] = self;
48533 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction736].i]) return;
48534 return_label1505: while(false);
48535 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction736].i] = 1;
48536 tracehead = trace.prev;
48537 return;
48538 }
48539 void parser___ReduceAction737___action(val_t self, val_t param0) {
48540 struct trace_t trace = {NULL, NULL, 28436, LOCATE_parser___ReduceAction737___action};
48541 val_t variable[19];
48542 void **closurevariable = NULL;
48543 trace.prev = tracehead; tracehead = &trace;
48544 trace.file = LOCATE_parser;
48545 variable[0] = self;
48546 variable[1] = param0;
48547 variable[3] = NIT_NULL /*null*/;
48548 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
48549 variable[4] = variable[5];
48550 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
48551 variable[5] = variable[6];
48552 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
48553 variable[6] = variable[7];
48554 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
48555 variable[7] = variable[8];
48556 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
48557 variable[8] = variable[9];
48558 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
48559 variable[9] = variable[10];
48560 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
48561 variable[10] = variable[11];
48562 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
48563 variable[11] = variable[12];
48564 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
48565 variable[12] = variable[13];
48566 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
48567 variable[13] = variable[14];
48568 variable[14] = variable[13] /*nodearraylist1*/;
48569 variable[15] = TAG_Bool(( variable[14] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
48570 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction737___action, LOCATE_parser, 28450); nit_exit(1);}
48571 variable[15] = variable[10] /*nodearraylist4*/;
48572 variable[16] = TAG_Bool(( variable[15] /*tkwasnode3*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwasnode3*/, COLOR_TKwas, ID_TKwas)) /*cast TKwas*/;
48573 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction737___action, LOCATE_parser, 28452); nit_exit(1);}
48574 variable[16] = variable[6] /*nodearraylist8*/;
48575 variable[17] = TAG_Bool(( variable[16] /*ptypenode4*/==NIT_NULL) || VAL_ISA( variable[16] /*ptypenode4*/, COLOR_PType, ID_PType)) /*cast PType*/;
48576 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction737___action, LOCATE_parser, 28454); nit_exit(1);}
48577 variable[18] = NEW_AAsCastExpr_parser_prod___AAsCastExpr___init_aascastexpr( variable[14] /*pexprnode2*/, variable[15] /*tkwasnode3*/, variable[16] /*ptypenode4*/); /*new AAsCastExpr*/
48578 variable[17] = variable[18];
48579 variable[3] = variable[17] /*pexprnode1*/ /*node_list=*/;
48580 variable[18] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(105)) /*Parser::go_to*/;
48581 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
48582 return_label1506: while(false);
48583 tracehead = trace.prev;
48584 return;
48585 }
48586 void parser___ReduceAction737___init(val_t self, int* init_table) {
48587 struct trace_t trace = {NULL, NULL, 28463, LOCATE_parser___ReduceAction737___init};
48588 val_t variable[2];
48589 void **closurevariable = NULL;
48590 trace.prev = tracehead; tracehead = &trace;
48591 trace.file = LOCATE_parser;
48592 variable[0] = self;
48593 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction737].i]) return;
48594 return_label1507: while(false);
48595 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction737].i] = 1;
48596 tracehead = trace.prev;
48597 return;
48598 }
48599 void parser___ReduceAction738___action(val_t self, val_t param0) {
48600 struct trace_t trace = {NULL, NULL, 28467, LOCATE_parser___ReduceAction738___action};
48601 val_t variable[9];
48602 void **closurevariable = NULL;
48603 trace.prev = tracehead; tracehead = &trace;
48604 trace.file = LOCATE_parser;
48605 variable[0] = self;
48606 variable[1] = param0;
48607 variable[3] = NIT_NULL /*null*/;
48608 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
48609 variable[4] = variable[5];
48610 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
48611 variable[5] = variable[6];
48612 variable[6] = variable[4] /*nodearraylist1*/;
48613 variable[7] = TAG_Bool(( variable[6] /*tclassidnode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tclassidnode2*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
48614 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction738___action, LOCATE_parser, 28473); nit_exit(1);}
48615 variable[8] = NEW_AType_parser_prod___AType___init_atype( variable[6] /*tclassidnode2*/, variable[5] /*listnode3*/); /*new AType*/
48616 variable[7] = variable[8];
48617 variable[3] = variable[7] /*ptypenode1*/ /*node_list=*/;
48618 variable[8] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(106)) /*Parser::go_to*/;
48619 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
48620 return_label1508: while(false);
48621 tracehead = trace.prev;
48622 return;
48623 }
48624 void parser___ReduceAction738___init(val_t self, int* init_table) {
48625 struct trace_t trace = {NULL, NULL, 28481, LOCATE_parser___ReduceAction738___init};
48626 val_t variable[2];
48627 void **closurevariable = NULL;
48628 trace.prev = tracehead; tracehead = &trace;
48629 trace.file = LOCATE_parser;
48630 variable[0] = self;
48631 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction738].i]) return;
48632 return_label1509: while(false);
48633 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction738].i] = 1;
48634 tracehead = trace.prev;
48635 return;
48636 }
48637 void parser___ReduceAction739___action(val_t self, val_t param0) {
48638 struct trace_t trace = {NULL, NULL, 28485, LOCATE_parser___ReduceAction739___action};
48639 val_t variable[7];
48640 void **closurevariable = NULL;
48641 trace.prev = tracehead; tracehead = &trace;
48642 trace.file = LOCATE_parser;
48643 variable[0] = self;
48644 variable[1] = param0;
48645 variable[3] = NIT_NULL /*null*/;
48646 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
48647 variable[4] = variable[5];
48648 variable[5] = variable[4] /*nodearraylist1*/;
48649 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
48650 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction739___action, LOCATE_parser, 28490); nit_exit(1);}
48651 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
48652 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(107)) /*Parser::go_to*/;
48653 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
48654 return_label1510: while(false);
48655 tracehead = trace.prev;
48656 return;
48657 }
48658 void parser___ReduceAction739___init(val_t self, int* init_table) {
48659 struct trace_t trace = {NULL, NULL, 28494, LOCATE_parser___ReduceAction739___init};
48660 val_t variable[2];
48661 void **closurevariable = NULL;
48662 trace.prev = tracehead; tracehead = &trace;
48663 trace.file = LOCATE_parser;
48664 variable[0] = self;
48665 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction739].i]) return;
48666 return_label1511: while(false);
48667 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction739].i] = 1;
48668 tracehead = trace.prev;
48669 return;
48670 }
48671 void parser___ReduceAction740___action(val_t self, val_t param0) {
48672 struct trace_t trace = {NULL, NULL, 28498, LOCATE_parser___ReduceAction740___action};
48673 val_t variable[18];
48674 void **closurevariable = NULL;
48675 trace.prev = tracehead; tracehead = &trace;
48676 trace.file = LOCATE_parser;
48677 variable[0] = self;
48678 variable[1] = param0;
48679 variable[3] = NIT_NULL /*null*/;
48680 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
48681 variable[4] = variable[5];
48682 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
48683 variable[5] = variable[6];
48684 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
48685 variable[6] = variable[7];
48686 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
48687 variable[7] = variable[8];
48688 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
48689 variable[8] = variable[9];
48690 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
48691 variable[9] = variable[10];
48692 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
48693 variable[10] = variable[11];
48694 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
48695 variable[11] = variable[12];
48696 variable[12] = variable[9] /*nodearraylist1*/;
48697 variable[13] = TAG_Bool(( variable[12] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
48698 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction740___action, LOCATE_parser, 28510); nit_exit(1);}
48699 variable[13] = variable[6] /*nodearraylist4*/;
48700 variable[14] = TAG_Bool(( variable[13] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
48701 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction740___action, LOCATE_parser, 28512); nit_exit(1);}
48702 variable[14] = variable[5] /*nodearraylist5*/;
48703 variable[15] = TAG_Bool(( variable[14] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
48704 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction740___action, LOCATE_parser, 28514); nit_exit(1);}
48705 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[14] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[14] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[14] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[14] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
48706 if (UNTAG_Bool(variable[15])) { /*if*/
48707 variable[15] = ((array___AbstractArray___is_empty_t)CALL( variable[10] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[10] /*listnode5*/) /*AbstractArray::is_empty*/;
48708 if (UNTAG_Bool(variable[15])) { /*if*/
48709 variable[10] = variable[14] /*listnode4*/ /*listnode5=*/;
48710 } else { /*if*/
48711 ((abstract_collection___IndexedCollection___append_t)CALL( variable[10] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[10] /*listnode5*/, variable[14] /*listnode4*/) /*IndexedCollection::append*/;
48712 }
48713 }
48714 variable[15] = variable[4] /*nodearraylist6*/;
48715 variable[16] = TAG_Bool(( variable[15] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
48716 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction740___action, LOCATE_parser, 28523); nit_exit(1);}
48717 variable[16] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*listnode6*/ == NIT_NULL /*null*/) || (( variable[15] /*listnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[15] /*listnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*listnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[15] /*listnode6*/,COLOR_kernel___Object_____eqeq))( variable[15] /*listnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
48718 if (UNTAG_Bool(variable[16])) { /*if*/
48719 variable[16] = ((array___AbstractArray___is_empty_t)CALL( variable[11] /*listnode7*/,COLOR_abstract_collection___Collection___is_empty))( variable[11] /*listnode7*/) /*AbstractArray::is_empty*/;
48720 if (UNTAG_Bool(variable[16])) { /*if*/
48721 variable[11] = variable[15] /*listnode6*/ /*listnode7=*/;
48722 } else { /*if*/
48723 ((abstract_collection___IndexedCollection___append_t)CALL( variable[11] /*listnode7*/,COLOR_abstract_collection___IndexedCollection___append))( variable[11] /*listnode7*/, variable[15] /*listnode6*/) /*IndexedCollection::append*/;
48724 }
48725 }
48726 variable[17] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[12] /*pexprnode2*/, variable[13] /*tidnode3*/, variable[10] /*listnode5*/, variable[11] /*listnode7*/); /*new ACallExpr*/
48727 variable[16] = variable[17];
48728 variable[3] = variable[16] /*pexprnode1*/ /*node_list=*/;
48729 variable[17] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(107)) /*Parser::go_to*/;
48730 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
48731 return_label1512: while(false);
48732 tracehead = trace.prev;
48733 return;
48734 }
48735 void parser___ReduceAction740___init(val_t self, int* init_table) {
48736 struct trace_t trace = {NULL, NULL, 28540, LOCATE_parser___ReduceAction740___init};
48737 val_t variable[2];
48738 void **closurevariable = NULL;
48739 trace.prev = tracehead; tracehead = &trace;
48740 trace.file = LOCATE_parser;
48741 variable[0] = self;
48742 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction740].i]) return;
48743 return_label1513: while(false);
48744 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction740].i] = 1;
48745 tracehead = trace.prev;
48746 return;
48747 }
48748 void parser___ReduceAction741___action(val_t self, val_t param0) {
48749 struct trace_t trace = {NULL, NULL, 28544, LOCATE_parser___ReduceAction741___action};
48750 val_t variable[15];
48751 void **closurevariable = NULL;
48752 trace.prev = tracehead; tracehead = &trace;
48753 trace.file = LOCATE_parser;
48754 variable[0] = self;
48755 variable[1] = param0;
48756 variable[3] = NIT_NULL /*null*/;
48757 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
48758 variable[4] = variable[5];
48759 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
48760 variable[5] = variable[6];
48761 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
48762 variable[6] = variable[7];
48763 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
48764 variable[7] = variable[8];
48765 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
48766 variable[8] = variable[9];
48767 variable[10] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
48768 variable[9] = variable[10];
48769 variable[10] = variable[6] /*nodearraylist1*/;
48770 variable[11] = TAG_Bool(( variable[10] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
48771 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction741___action, LOCATE_parser, 28555); nit_exit(1);}
48772 variable[11] = variable[5] /*nodearraylist2*/;
48773 variable[12] = TAG_Bool(( variable[11] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
48774 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction741___action, LOCATE_parser, 28557); nit_exit(1);}
48775 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[11] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
48776 if (UNTAG_Bool(variable[12])) { /*if*/
48777 variable[12] = ((array___AbstractArray___is_empty_t)CALL( variable[7] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[7] /*listnode5*/) /*AbstractArray::is_empty*/;
48778 if (UNTAG_Bool(variable[12])) { /*if*/
48779 variable[7] = variable[11] /*listnode4*/ /*listnode5=*/;
48780 } else { /*if*/
48781 ((abstract_collection___IndexedCollection___append_t)CALL( variable[7] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[7] /*listnode5*/, variable[11] /*listnode4*/) /*IndexedCollection::append*/;
48782 }
48783 }
48784 variable[12] = variable[4] /*nodearraylist3*/;
48785 variable[13] = TAG_Bool(( variable[12] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
48786 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction741___action, LOCATE_parser, 28566); nit_exit(1);}
48787 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode6*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode6*/,COLOR_kernel___Object_____eqeq))( variable[12] /*listnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
48788 if (UNTAG_Bool(variable[13])) { /*if*/
48789 variable[13] = ((array___AbstractArray___is_empty_t)CALL( variable[8] /*listnode7*/,COLOR_abstract_collection___Collection___is_empty))( variable[8] /*listnode7*/) /*AbstractArray::is_empty*/;
48790 if (UNTAG_Bool(variable[13])) { /*if*/
48791 variable[8] = variable[12] /*listnode6*/ /*listnode7=*/;
48792 } else { /*if*/
48793 ((abstract_collection___IndexedCollection___append_t)CALL( variable[8] /*listnode7*/,COLOR_abstract_collection___IndexedCollection___append))( variable[8] /*listnode7*/, variable[12] /*listnode6*/) /*IndexedCollection::append*/;
48794 }
48795 }
48796 variable[14] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[9] /*pexprnode2*/, variable[10] /*tidnode3*/, variable[7] /*listnode5*/, variable[8] /*listnode7*/); /*new ACallExpr*/
48797 variable[13] = variable[14];
48798 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
48799 variable[14] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(107)) /*Parser::go_to*/;
48800 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
48801 return_label1514: while(false);
48802 tracehead = trace.prev;
48803 return;
48804 }
48805 void parser___ReduceAction741___init(val_t self, int* init_table) {
48806 struct trace_t trace = {NULL, NULL, 28583, LOCATE_parser___ReduceAction741___init};
48807 val_t variable[2];
48808 void **closurevariable = NULL;
48809 trace.prev = tracehead; tracehead = &trace;
48810 trace.file = LOCATE_parser;
48811 variable[0] = self;
48812 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction741].i]) return;
48813 return_label1515: while(false);
48814 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction741].i] = 1;
48815 tracehead = trace.prev;
48816 return;
48817 }
48818 void parser___ReduceAction742___action(val_t self, val_t param0) {
48819 struct trace_t trace = {NULL, NULL, 28587, LOCATE_parser___ReduceAction742___action};
48820 val_t variable[7];
48821 void **closurevariable = NULL;
48822 trace.prev = tracehead; tracehead = &trace;
48823 trace.file = LOCATE_parser;
48824 variable[0] = self;
48825 variable[1] = param0;
48826 variable[3] = NIT_NULL /*null*/;
48827 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
48828 variable[4] = variable[5];
48829 variable[5] = variable[4] /*nodearraylist1*/;
48830 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
48831 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction742___action, LOCATE_parser, 28592); nit_exit(1);}
48832 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
48833 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(108)) /*Parser::go_to*/;
48834 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
48835 return_label1516: while(false);
48836 tracehead = trace.prev;
48837 return;
48838 }
48839 void parser___ReduceAction742___init(val_t self, int* init_table) {
48840 struct trace_t trace = {NULL, NULL, 28596, LOCATE_parser___ReduceAction742___init};
48841 val_t variable[2];
48842 void **closurevariable = NULL;
48843 trace.prev = tracehead; tracehead = &trace;
48844 trace.file = LOCATE_parser;
48845 variable[0] = self;
48846 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction742].i]) return;
48847 return_label1517: while(false);
48848 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction742].i] = 1;
48849 tracehead = trace.prev;
48850 return;
48851 }
48852 void parser___ReduceAction743___action(val_t self, val_t param0) {
48853 struct trace_t trace = {NULL, NULL, 28600, LOCATE_parser___ReduceAction743___action};
48854 val_t variable[23];
48855 void **closurevariable = NULL;
48856 trace.prev = tracehead; tracehead = &trace;
48857 trace.file = LOCATE_parser;
48858 variable[0] = self;
48859 variable[1] = param0;
48860 variable[3] = NIT_NULL /*null*/;
48861 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
48862 variable[4] = variable[5];
48863 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
48864 variable[5] = variable[6];
48865 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
48866 variable[6] = variable[7];
48867 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
48868 variable[7] = variable[8];
48869 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
48870 variable[8] = variable[9];
48871 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
48872 variable[9] = variable[10];
48873 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
48874 variable[10] = variable[11];
48875 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
48876 variable[11] = variable[12];
48877 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
48878 variable[12] = variable[13];
48879 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
48880 variable[13] = variable[14];
48881 variable[15] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
48882 variable[14] = variable[15];
48883 variable[15] = variable[14] /*nodearraylist1*/;
48884 variable[16] = TAG_Bool(( variable[15] /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
48885 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction743___action, LOCATE_parser, 28615); nit_exit(1);}
48886 variable[16] = variable[12] /*nodearraylist3*/;
48887 variable[17] = TAG_Bool(( variable[16] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[16] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
48888 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction743___action, LOCATE_parser, 28617); nit_exit(1);}
48889 variable[17] = variable[10] /*nodearraylist5*/;
48890 variable[18] = TAG_Bool(( variable[17] /*tkwthennode4*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwthennode4*/, COLOR_TKwthen, ID_TKwthen)) /*cast TKwthen*/;
48891 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction743___action, LOCATE_parser, 28619); nit_exit(1);}
48892 variable[18] = variable[8] /*nodearraylist7*/;
48893 variable[19] = TAG_Bool(( variable[18] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[18] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
48894 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction743___action, LOCATE_parser, 28621); nit_exit(1);}
48895 variable[19] = variable[6] /*nodearraylist9*/;
48896 variable[20] = TAG_Bool(( variable[19] /*tkwelsenode6*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwelsenode6*/, COLOR_TKwelse, ID_TKwelse)) /*cast TKwelse*/;
48897 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction743___action, LOCATE_parser, 28623); nit_exit(1);}
48898 variable[20] = variable[4] /*nodearraylist11*/;
48899 variable[21] = TAG_Bool(( variable[20] /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable[20] /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
48900 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction743___action, LOCATE_parser, 28625); nit_exit(1);}
48901 variable[22] = NEW_AIfexprExpr_parser_prod___AIfexprExpr___init_aifexprexpr( variable[15] /*tkwifnode2*/, variable[16] /*pexprnode3*/, variable[17] /*tkwthennode4*/, variable[18] /*pexprnode5*/, variable[19] /*tkwelsenode6*/, variable[20] /*pexprnode7*/); /*new AIfexprExpr*/
48902 variable[21] = variable[22];
48903 variable[3] = variable[21] /*pexprnode1*/ /*node_list=*/;
48904 variable[22] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(108)) /*Parser::go_to*/;
48905 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
48906 return_label1518: while(false);
48907 tracehead = trace.prev;
48908 return;
48909 }
48910 void parser___ReduceAction743___init(val_t self, int* init_table) {
48911 struct trace_t trace = {NULL, NULL, 28637, LOCATE_parser___ReduceAction743___init};
48912 val_t variable[2];
48913 void **closurevariable = NULL;
48914 trace.prev = tracehead; tracehead = &trace;
48915 trace.file = LOCATE_parser;
48916 variable[0] = self;
48917 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction743].i]) return;
48918 return_label1519: while(false);
48919 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction743].i] = 1;
48920 tracehead = trace.prev;
48921 return;
48922 }
48923 void parser___ReduceAction744___action(val_t self, val_t param0) {
48924 struct trace_t trace = {NULL, NULL, 28641, LOCATE_parser___ReduceAction744___action};
48925 val_t variable[7];
48926 void **closurevariable = NULL;
48927 trace.prev = tracehead; tracehead = &trace;
48928 trace.file = LOCATE_parser;
48929 variable[0] = self;
48930 variable[1] = param0;
48931 variable[3] = NIT_NULL /*null*/;
48932 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
48933 variable[4] = variable[5];
48934 variable[5] = variable[4] /*nodearraylist1*/;
48935 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
48936 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction744___action, LOCATE_parser, 28646); nit_exit(1);}
48937 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
48938 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(109)) /*Parser::go_to*/;
48939 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
48940 return_label1520: while(false);
48941 tracehead = trace.prev;
48942 return;
48943 }
48944 void parser___ReduceAction744___init(val_t self, int* init_table) {
48945 struct trace_t trace = {NULL, NULL, 28650, LOCATE_parser___ReduceAction744___init};
48946 val_t variable[2];
48947 void **closurevariable = NULL;
48948 trace.prev = tracehead; tracehead = &trace;
48949 trace.file = LOCATE_parser;
48950 variable[0] = self;
48951 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction744].i]) return;
48952 return_label1521: while(false);
48953 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction744].i] = 1;
48954 tracehead = trace.prev;
48955 return;
48956 }
48957 void parser___ReduceAction745___action(val_t self, val_t param0) {
48958 struct trace_t trace = {NULL, NULL, 28654, LOCATE_parser___ReduceAction745___action};
48959 val_t variable[12];
48960 void **closurevariable = NULL;
48961 trace.prev = tracehead; tracehead = &trace;
48962 trace.file = LOCATE_parser;
48963 variable[0] = self;
48964 variable[1] = param0;
48965 variable[3] = NIT_NULL /*null*/;
48966 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
48967 variable[4] = variable[5];
48968 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
48969 variable[5] = variable[6];
48970 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
48971 variable[6] = variable[7];
48972 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
48973 variable[7] = variable[8];
48974 variable[8] = variable[7] /*nodearraylist1*/;
48975 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
48976 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction745___action, LOCATE_parser, 28662); nit_exit(1);}
48977 variable[9] = variable[4] /*nodearraylist4*/;
48978 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
48979 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction745___action, LOCATE_parser, 28664); nit_exit(1);}
48980 variable[11] = NEW_AOrExpr_parser_prod___AOrExpr___init_aorexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AOrExpr*/
48981 variable[10] = variable[11];
48982 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
48983 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(109)) /*Parser::go_to*/;
48984 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
48985 return_label1522: while(false);
48986 tracehead = trace.prev;
48987 return;
48988 }
48989 void parser___ReduceAction745___init(val_t self, int* init_table) {
48990 struct trace_t trace = {NULL, NULL, 28672, LOCATE_parser___ReduceAction745___init};
48991 val_t variable[2];
48992 void **closurevariable = NULL;
48993 trace.prev = tracehead; tracehead = &trace;
48994 trace.file = LOCATE_parser;
48995 variable[0] = self;
48996 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction745].i]) return;
48997 return_label1523: while(false);
48998 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction745].i] = 1;
48999 tracehead = trace.prev;
49000 return;
49001 }
49002 void parser___ReduceAction746___action(val_t self, val_t param0) {
49003 struct trace_t trace = {NULL, NULL, 28676, LOCATE_parser___ReduceAction746___action};
49004 val_t variable[12];
49005 void **closurevariable = NULL;
49006 trace.prev = tracehead; tracehead = &trace;
49007 trace.file = LOCATE_parser;
49008 variable[0] = self;
49009 variable[1] = param0;
49010 variable[3] = NIT_NULL /*null*/;
49011 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49012 variable[4] = variable[5];
49013 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49014 variable[5] = variable[6];
49015 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49016 variable[6] = variable[7];
49017 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49018 variable[7] = variable[8];
49019 variable[8] = variable[7] /*nodearraylist1*/;
49020 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
49021 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction746___action, LOCATE_parser, 28684); nit_exit(1);}
49022 variable[9] = variable[4] /*nodearraylist4*/;
49023 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
49024 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction746___action, LOCATE_parser, 28686); nit_exit(1);}
49025 variable[11] = NEW_AAndExpr_parser_prod___AAndExpr___init_aandexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AAndExpr*/
49026 variable[10] = variable[11];
49027 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
49028 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(109)) /*Parser::go_to*/;
49029 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
49030 return_label1524: while(false);
49031 tracehead = trace.prev;
49032 return;
49033 }
49034 void parser___ReduceAction746___init(val_t self, int* init_table) {
49035 struct trace_t trace = {NULL, NULL, 28694, LOCATE_parser___ReduceAction746___init};
49036 val_t variable[2];
49037 void **closurevariable = NULL;
49038 trace.prev = tracehead; tracehead = &trace;
49039 trace.file = LOCATE_parser;
49040 variable[0] = self;
49041 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction746].i]) return;
49042 return_label1525: while(false);
49043 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction746].i] = 1;
49044 tracehead = trace.prev;
49045 return;
49046 }
49047 void parser___ReduceAction747___action(val_t self, val_t param0) {
49048 struct trace_t trace = {NULL, NULL, 28698, LOCATE_parser___ReduceAction747___action};
49049 val_t variable[7];
49050 void **closurevariable = NULL;
49051 trace.prev = tracehead; tracehead = &trace;
49052 trace.file = LOCATE_parser;
49053 variable[0] = self;
49054 variable[1] = param0;
49055 variable[3] = NIT_NULL /*null*/;
49056 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49057 variable[4] = variable[5];
49058 variable[5] = variable[4] /*nodearraylist1*/;
49059 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
49060 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction747___action, LOCATE_parser, 28703); nit_exit(1);}
49061 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
49062 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(110)) /*Parser::go_to*/;
49063 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
49064 return_label1526: while(false);
49065 tracehead = trace.prev;
49066 return;
49067 }
49068 void parser___ReduceAction747___init(val_t self, int* init_table) {
49069 struct trace_t trace = {NULL, NULL, 28707, LOCATE_parser___ReduceAction747___init};
49070 val_t variable[2];
49071 void **closurevariable = NULL;
49072 trace.prev = tracehead; tracehead = &trace;
49073 trace.file = LOCATE_parser;
49074 variable[0] = self;
49075 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction747].i]) return;
49076 return_label1527: while(false);
49077 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction747].i] = 1;
49078 tracehead = trace.prev;
49079 return;
49080 }
49081 void parser___ReduceAction748___action(val_t self, val_t param0) {
49082 struct trace_t trace = {NULL, NULL, 28711, LOCATE_parser___ReduceAction748___action};
49083 val_t variable[11];
49084 void **closurevariable = NULL;
49085 trace.prev = tracehead; tracehead = &trace;
49086 trace.file = LOCATE_parser;
49087 variable[0] = self;
49088 variable[1] = param0;
49089 variable[3] = NIT_NULL /*null*/;
49090 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49091 variable[4] = variable[5];
49092 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49093 variable[5] = variable[6];
49094 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49095 variable[6] = variable[7];
49096 variable[7] = variable[6] /*nodearraylist1*/;
49097 variable[8] = TAG_Bool(( variable[7] /*tkwnotnode2*/==NIT_NULL) || VAL_ISA( variable[7] /*tkwnotnode2*/, COLOR_TKwnot, ID_TKwnot)) /*cast TKwnot*/;
49098 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction748___action, LOCATE_parser, 28718); nit_exit(1);}
49099 variable[8] = variable[4] /*nodearraylist3*/;
49100 variable[9] = TAG_Bool(( variable[8] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
49101 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction748___action, LOCATE_parser, 28720); nit_exit(1);}
49102 variable[10] = NEW_ANotExpr_parser_prod___ANotExpr___init_anotexpr( variable[7] /*tkwnotnode2*/, variable[8] /*pexprnode3*/); /*new ANotExpr*/
49103 variable[9] = variable[10];
49104 variable[3] = variable[9] /*pexprnode1*/ /*node_list=*/;
49105 variable[10] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(110)) /*Parser::go_to*/;
49106 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
49107 return_label1528: while(false);
49108 tracehead = trace.prev;
49109 return;
49110 }
49111 void parser___ReduceAction748___init(val_t self, int* init_table) {
49112 struct trace_t trace = {NULL, NULL, 28728, LOCATE_parser___ReduceAction748___init};
49113 val_t variable[2];
49114 void **closurevariable = NULL;
49115 trace.prev = tracehead; tracehead = &trace;
49116 trace.file = LOCATE_parser;
49117 variable[0] = self;
49118 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction748].i]) return;
49119 return_label1529: while(false);
49120 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction748].i] = 1;
49121 tracehead = trace.prev;
49122 return;
49123 }
49124 void parser___ReduceAction749___action(val_t self, val_t param0) {
49125 struct trace_t trace = {NULL, NULL, 28732, LOCATE_parser___ReduceAction749___action};
49126 val_t variable[7];
49127 void **closurevariable = NULL;
49128 trace.prev = tracehead; tracehead = &trace;
49129 trace.file = LOCATE_parser;
49130 variable[0] = self;
49131 variable[1] = param0;
49132 variable[3] = NIT_NULL /*null*/;
49133 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49134 variable[4] = variable[5];
49135 variable[5] = variable[4] /*nodearraylist1*/;
49136 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
49137 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction749___action, LOCATE_parser, 28737); nit_exit(1);}
49138 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
49139 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(111)) /*Parser::go_to*/;
49140 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
49141 return_label1530: while(false);
49142 tracehead = trace.prev;
49143 return;
49144 }
49145 void parser___ReduceAction749___init(val_t self, int* init_table) {
49146 struct trace_t trace = {NULL, NULL, 28741, LOCATE_parser___ReduceAction749___init};
49147 val_t variable[2];
49148 void **closurevariable = NULL;
49149 trace.prev = tracehead; tracehead = &trace;
49150 trace.file = LOCATE_parser;
49151 variable[0] = self;
49152 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction749].i]) return;
49153 return_label1531: while(false);
49154 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction749].i] = 1;
49155 tracehead = trace.prev;
49156 return;
49157 }
49158 void parser___ReduceAction750___action(val_t self, val_t param0) {
49159 struct trace_t trace = {NULL, NULL, 28745, LOCATE_parser___ReduceAction750___action};
49160 val_t variable[12];
49161 void **closurevariable = NULL;
49162 trace.prev = tracehead; tracehead = &trace;
49163 trace.file = LOCATE_parser;
49164 variable[0] = self;
49165 variable[1] = param0;
49166 variable[3] = NIT_NULL /*null*/;
49167 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49168 variable[4] = variable[5];
49169 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49170 variable[5] = variable[6];
49171 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49172 variable[6] = variable[7];
49173 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49174 variable[7] = variable[8];
49175 variable[8] = variable[7] /*nodearraylist1*/;
49176 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
49177 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction750___action, LOCATE_parser, 28753); nit_exit(1);}
49178 variable[9] = variable[4] /*nodearraylist4*/;
49179 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
49180 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction750___action, LOCATE_parser, 28755); nit_exit(1);}
49181 variable[11] = NEW_AEqExpr_parser_prod___AEqExpr___init_aeqexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AEqExpr*/
49182 variable[10] = variable[11];
49183 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
49184 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(111)) /*Parser::go_to*/;
49185 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
49186 return_label1532: while(false);
49187 tracehead = trace.prev;
49188 return;
49189 }
49190 void parser___ReduceAction750___init(val_t self, int* init_table) {
49191 struct trace_t trace = {NULL, NULL, 28763, LOCATE_parser___ReduceAction750___init};
49192 val_t variable[2];
49193 void **closurevariable = NULL;
49194 trace.prev = tracehead; tracehead = &trace;
49195 trace.file = LOCATE_parser;
49196 variable[0] = self;
49197 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction750].i]) return;
49198 return_label1533: while(false);
49199 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction750].i] = 1;
49200 tracehead = trace.prev;
49201 return;
49202 }
49203 void parser___ReduceAction751___action(val_t self, val_t param0) {
49204 struct trace_t trace = {NULL, NULL, 28767, LOCATE_parser___ReduceAction751___action};
49205 val_t variable[12];
49206 void **closurevariable = NULL;
49207 trace.prev = tracehead; tracehead = &trace;
49208 trace.file = LOCATE_parser;
49209 variable[0] = self;
49210 variable[1] = param0;
49211 variable[3] = NIT_NULL /*null*/;
49212 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49213 variable[4] = variable[5];
49214 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49215 variable[5] = variable[6];
49216 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49217 variable[6] = variable[7];
49218 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49219 variable[7] = variable[8];
49220 variable[8] = variable[7] /*nodearraylist1*/;
49221 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
49222 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction751___action, LOCATE_parser, 28775); nit_exit(1);}
49223 variable[9] = variable[4] /*nodearraylist4*/;
49224 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
49225 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction751___action, LOCATE_parser, 28777); nit_exit(1);}
49226 variable[11] = NEW_AEeExpr_parser_prod___AEeExpr___init_aeeexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AEeExpr*/
49227 variable[10] = variable[11];
49228 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
49229 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(111)) /*Parser::go_to*/;
49230 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
49231 return_label1534: while(false);
49232 tracehead = trace.prev;
49233 return;
49234 }
49235 void parser___ReduceAction751___init(val_t self, int* init_table) {
49236 struct trace_t trace = {NULL, NULL, 28785, LOCATE_parser___ReduceAction751___init};
49237 val_t variable[2];
49238 void **closurevariable = NULL;
49239 trace.prev = tracehead; tracehead = &trace;
49240 trace.file = LOCATE_parser;
49241 variable[0] = self;
49242 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction751].i]) return;
49243 return_label1535: while(false);
49244 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction751].i] = 1;
49245 tracehead = trace.prev;
49246 return;
49247 }
49248 void parser___ReduceAction752___action(val_t self, val_t param0) {
49249 struct trace_t trace = {NULL, NULL, 28789, LOCATE_parser___ReduceAction752___action};
49250 val_t variable[12];
49251 void **closurevariable = NULL;
49252 trace.prev = tracehead; tracehead = &trace;
49253 trace.file = LOCATE_parser;
49254 variable[0] = self;
49255 variable[1] = param0;
49256 variable[3] = NIT_NULL /*null*/;
49257 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49258 variable[4] = variable[5];
49259 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49260 variable[5] = variable[6];
49261 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49262 variable[6] = variable[7];
49263 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49264 variable[7] = variable[8];
49265 variable[8] = variable[7] /*nodearraylist1*/;
49266 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
49267 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction752___action, LOCATE_parser, 28797); nit_exit(1);}
49268 variable[9] = variable[4] /*nodearraylist4*/;
49269 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
49270 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction752___action, LOCATE_parser, 28799); nit_exit(1);}
49271 variable[11] = NEW_ANeExpr_parser_prod___ANeExpr___init_aneexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new ANeExpr*/
49272 variable[10] = variable[11];
49273 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
49274 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(111)) /*Parser::go_to*/;
49275 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
49276 return_label1536: while(false);
49277 tracehead = trace.prev;
49278 return;
49279 }
49280 void parser___ReduceAction752___init(val_t self, int* init_table) {
49281 struct trace_t trace = {NULL, NULL, 28807, LOCATE_parser___ReduceAction752___init};
49282 val_t variable[2];
49283 void **closurevariable = NULL;
49284 trace.prev = tracehead; tracehead = &trace;
49285 trace.file = LOCATE_parser;
49286 variable[0] = self;
49287 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction752].i]) return;
49288 return_label1537: while(false);
49289 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction752].i] = 1;
49290 tracehead = trace.prev;
49291 return;
49292 }
49293 void parser___ReduceAction753___action(val_t self, val_t param0) {
49294 struct trace_t trace = {NULL, NULL, 28811, LOCATE_parser___ReduceAction753___action};
49295 val_t variable[12];
49296 void **closurevariable = NULL;
49297 trace.prev = tracehead; tracehead = &trace;
49298 trace.file = LOCATE_parser;
49299 variable[0] = self;
49300 variable[1] = param0;
49301 variable[3] = NIT_NULL /*null*/;
49302 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49303 variable[4] = variable[5];
49304 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49305 variable[5] = variable[6];
49306 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49307 variable[6] = variable[7];
49308 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49309 variable[7] = variable[8];
49310 variable[8] = variable[7] /*nodearraylist1*/;
49311 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
49312 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction753___action, LOCATE_parser, 28819); nit_exit(1);}
49313 variable[9] = variable[4] /*nodearraylist4*/;
49314 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
49315 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction753___action, LOCATE_parser, 28821); nit_exit(1);}
49316 variable[11] = NEW_ALtExpr_parser_prod___ALtExpr___init_altexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new ALtExpr*/
49317 variable[10] = variable[11];
49318 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
49319 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(111)) /*Parser::go_to*/;
49320 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
49321 return_label1538: while(false);
49322 tracehead = trace.prev;
49323 return;
49324 }
49325 void parser___ReduceAction753___init(val_t self, int* init_table) {
49326 struct trace_t trace = {NULL, NULL, 28829, LOCATE_parser___ReduceAction753___init};
49327 val_t variable[2];
49328 void **closurevariable = NULL;
49329 trace.prev = tracehead; tracehead = &trace;
49330 trace.file = LOCATE_parser;
49331 variable[0] = self;
49332 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction753].i]) return;
49333 return_label1539: while(false);
49334 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction753].i] = 1;
49335 tracehead = trace.prev;
49336 return;
49337 }
49338 void parser___ReduceAction754___action(val_t self, val_t param0) {
49339 struct trace_t trace = {NULL, NULL, 28833, LOCATE_parser___ReduceAction754___action};
49340 val_t variable[12];
49341 void **closurevariable = NULL;
49342 trace.prev = tracehead; tracehead = &trace;
49343 trace.file = LOCATE_parser;
49344 variable[0] = self;
49345 variable[1] = param0;
49346 variable[3] = NIT_NULL /*null*/;
49347 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49348 variable[4] = variable[5];
49349 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49350 variable[5] = variable[6];
49351 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49352 variable[6] = variable[7];
49353 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49354 variable[7] = variable[8];
49355 variable[8] = variable[7] /*nodearraylist1*/;
49356 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
49357 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction754___action, LOCATE_parser, 28841); nit_exit(1);}
49358 variable[9] = variable[4] /*nodearraylist4*/;
49359 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
49360 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction754___action, LOCATE_parser, 28843); nit_exit(1);}
49361 variable[11] = NEW_ALeExpr_parser_prod___ALeExpr___init_aleexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new ALeExpr*/
49362 variable[10] = variable[11];
49363 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
49364 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(111)) /*Parser::go_to*/;
49365 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
49366 return_label1540: while(false);
49367 tracehead = trace.prev;
49368 return;
49369 }
49370 void parser___ReduceAction754___init(val_t self, int* init_table) {
49371 struct trace_t trace = {NULL, NULL, 28851, LOCATE_parser___ReduceAction754___init};
49372 val_t variable[2];
49373 void **closurevariable = NULL;
49374 trace.prev = tracehead; tracehead = &trace;
49375 trace.file = LOCATE_parser;
49376 variable[0] = self;
49377 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction754].i]) return;
49378 return_label1541: while(false);
49379 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction754].i] = 1;
49380 tracehead = trace.prev;
49381 return;
49382 }
49383 void parser___ReduceAction755___action(val_t self, val_t param0) {
49384 struct trace_t trace = {NULL, NULL, 28855, LOCATE_parser___ReduceAction755___action};
49385 val_t variable[12];
49386 void **closurevariable = NULL;
49387 trace.prev = tracehead; tracehead = &trace;
49388 trace.file = LOCATE_parser;
49389 variable[0] = self;
49390 variable[1] = param0;
49391 variable[3] = NIT_NULL /*null*/;
49392 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49393 variable[4] = variable[5];
49394 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49395 variable[5] = variable[6];
49396 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49397 variable[6] = variable[7];
49398 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49399 variable[7] = variable[8];
49400 variable[8] = variable[7] /*nodearraylist1*/;
49401 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
49402 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction755___action, LOCATE_parser, 28863); nit_exit(1);}
49403 variable[9] = variable[4] /*nodearraylist4*/;
49404 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
49405 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction755___action, LOCATE_parser, 28865); nit_exit(1);}
49406 variable[11] = NEW_AGtExpr_parser_prod___AGtExpr___init_agtexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AGtExpr*/
49407 variable[10] = variable[11];
49408 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
49409 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(111)) /*Parser::go_to*/;
49410 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
49411 return_label1542: while(false);
49412 tracehead = trace.prev;
49413 return;
49414 }
49415 void parser___ReduceAction755___init(val_t self, int* init_table) {
49416 struct trace_t trace = {NULL, NULL, 28873, LOCATE_parser___ReduceAction755___init};
49417 val_t variable[2];
49418 void **closurevariable = NULL;
49419 trace.prev = tracehead; tracehead = &trace;
49420 trace.file = LOCATE_parser;
49421 variable[0] = self;
49422 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction755].i]) return;
49423 return_label1543: while(false);
49424 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction755].i] = 1;
49425 tracehead = trace.prev;
49426 return;
49427 }
49428 void parser___ReduceAction756___action(val_t self, val_t param0) {
49429 struct trace_t trace = {NULL, NULL, 28877, LOCATE_parser___ReduceAction756___action};
49430 val_t variable[12];
49431 void **closurevariable = NULL;
49432 trace.prev = tracehead; tracehead = &trace;
49433 trace.file = LOCATE_parser;
49434 variable[0] = self;
49435 variable[1] = param0;
49436 variable[3] = NIT_NULL /*null*/;
49437 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49438 variable[4] = variable[5];
49439 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49440 variable[5] = variable[6];
49441 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49442 variable[6] = variable[7];
49443 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49444 variable[7] = variable[8];
49445 variable[8] = variable[7] /*nodearraylist1*/;
49446 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
49447 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction756___action, LOCATE_parser, 28885); nit_exit(1);}
49448 variable[9] = variable[4] /*nodearraylist4*/;
49449 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
49450 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction756___action, LOCATE_parser, 28887); nit_exit(1);}
49451 variable[11] = NEW_AGeExpr_parser_prod___AGeExpr___init_ageexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AGeExpr*/
49452 variable[10] = variable[11];
49453 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
49454 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(111)) /*Parser::go_to*/;
49455 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
49456 return_label1544: while(false);
49457 tracehead = trace.prev;
49458 return;
49459 }
49460 void parser___ReduceAction756___init(val_t self, int* init_table) {
49461 struct trace_t trace = {NULL, NULL, 28895, LOCATE_parser___ReduceAction756___init};
49462 val_t variable[2];
49463 void **closurevariable = NULL;
49464 trace.prev = tracehead; tracehead = &trace;
49465 trace.file = LOCATE_parser;
49466 variable[0] = self;
49467 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction756].i]) return;
49468 return_label1545: while(false);
49469 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction756].i] = 1;
49470 tracehead = trace.prev;
49471 return;
49472 }
49473 void parser___ReduceAction757___action(val_t self, val_t param0) {
49474 struct trace_t trace = {NULL, NULL, 28899, LOCATE_parser___ReduceAction757___action};
49475 val_t variable[12];
49476 void **closurevariable = NULL;
49477 trace.prev = tracehead; tracehead = &trace;
49478 trace.file = LOCATE_parser;
49479 variable[0] = self;
49480 variable[1] = param0;
49481 variable[3] = NIT_NULL /*null*/;
49482 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49483 variable[4] = variable[5];
49484 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49485 variable[5] = variable[6];
49486 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49487 variable[6] = variable[7];
49488 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49489 variable[7] = variable[8];
49490 variable[8] = variable[7] /*nodearraylist1*/;
49491 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
49492 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction757___action, LOCATE_parser, 28907); nit_exit(1);}
49493 variable[9] = variable[4] /*nodearraylist4*/;
49494 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
49495 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction757___action, LOCATE_parser, 28909); nit_exit(1);}
49496 variable[11] = NEW_AStarshipExpr_parser_prod___AStarshipExpr___init_astarshipexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AStarshipExpr*/
49497 variable[10] = variable[11];
49498 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
49499 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(111)) /*Parser::go_to*/;
49500 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
49501 return_label1546: while(false);
49502 tracehead = trace.prev;
49503 return;
49504 }
49505 void parser___ReduceAction757___init(val_t self, int* init_table) {
49506 struct trace_t trace = {NULL, NULL, 28917, LOCATE_parser___ReduceAction757___init};
49507 val_t variable[2];
49508 void **closurevariable = NULL;
49509 trace.prev = tracehead; tracehead = &trace;
49510 trace.file = LOCATE_parser;
49511 variable[0] = self;
49512 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction757].i]) return;
49513 return_label1547: while(false);
49514 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction757].i] = 1;
49515 tracehead = trace.prev;
49516 return;
49517 }
49518 void parser___ReduceAction758___action(val_t self, val_t param0) {
49519 struct trace_t trace = {NULL, NULL, 28921, LOCATE_parser___ReduceAction758___action};
49520 val_t variable[12];
49521 void **closurevariable = NULL;
49522 trace.prev = tracehead; tracehead = &trace;
49523 trace.file = LOCATE_parser;
49524 variable[0] = self;
49525 variable[1] = param0;
49526 variable[3] = NIT_NULL /*null*/;
49527 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49528 variable[4] = variable[5];
49529 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49530 variable[5] = variable[6];
49531 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49532 variable[6] = variable[7];
49533 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49534 variable[7] = variable[8];
49535 variable[8] = variable[7] /*nodearraylist1*/;
49536 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
49537 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction758___action, LOCATE_parser, 28929); nit_exit(1);}
49538 variable[9] = variable[4] /*nodearraylist4*/;
49539 variable[10] = TAG_Bool(( variable[9] /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable[9] /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
49540 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction758___action, LOCATE_parser, 28931); nit_exit(1);}
49541 variable[11] = NEW_AIsaExpr_parser_prod___AIsaExpr___init_aisaexpr( variable[8] /*pexprnode2*/, variable[9] /*ptypenode3*/); /*new AIsaExpr*/
49542 variable[10] = variable[11];
49543 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
49544 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(111)) /*Parser::go_to*/;
49545 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
49546 return_label1548: while(false);
49547 tracehead = trace.prev;
49548 return;
49549 }
49550 void parser___ReduceAction758___init(val_t self, int* init_table) {
49551 struct trace_t trace = {NULL, NULL, 28939, LOCATE_parser___ReduceAction758___init};
49552 val_t variable[2];
49553 void **closurevariable = NULL;
49554 trace.prev = tracehead; tracehead = &trace;
49555 trace.file = LOCATE_parser;
49556 variable[0] = self;
49557 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction758].i]) return;
49558 return_label1549: while(false);
49559 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction758].i] = 1;
49560 tracehead = trace.prev;
49561 return;
49562 }
49563 void parser___ReduceAction759___action(val_t self, val_t param0) {
49564 struct trace_t trace = {NULL, NULL, 28943, LOCATE_parser___ReduceAction759___action};
49565 val_t variable[7];
49566 void **closurevariable = NULL;
49567 trace.prev = tracehead; tracehead = &trace;
49568 trace.file = LOCATE_parser;
49569 variable[0] = self;
49570 variable[1] = param0;
49571 variable[3] = NIT_NULL /*null*/;
49572 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49573 variable[4] = variable[5];
49574 variable[5] = variable[4] /*nodearraylist1*/;
49575 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
49576 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction759___action, LOCATE_parser, 28948); nit_exit(1);}
49577 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
49578 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(112)) /*Parser::go_to*/;
49579 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
49580 return_label1550: while(false);
49581 tracehead = trace.prev;
49582 return;
49583 }
49584 void parser___ReduceAction759___init(val_t self, int* init_table) {
49585 struct trace_t trace = {NULL, NULL, 28952, LOCATE_parser___ReduceAction759___init};
49586 val_t variable[2];
49587 void **closurevariable = NULL;
49588 trace.prev = tracehead; tracehead = &trace;
49589 trace.file = LOCATE_parser;
49590 variable[0] = self;
49591 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction759].i]) return;
49592 return_label1551: while(false);
49593 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction759].i] = 1;
49594 tracehead = trace.prev;
49595 return;
49596 }
49597 void parser___ReduceAction760___action(val_t self, val_t param0) {
49598 struct trace_t trace = {NULL, NULL, 28956, LOCATE_parser___ReduceAction760___action};
49599 val_t variable[12];
49600 void **closurevariable = NULL;
49601 trace.prev = tracehead; tracehead = &trace;
49602 trace.file = LOCATE_parser;
49603 variable[0] = self;
49604 variable[1] = param0;
49605 variable[3] = NIT_NULL /*null*/;
49606 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49607 variable[4] = variable[5];
49608 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49609 variable[5] = variable[6];
49610 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49611 variable[6] = variable[7];
49612 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49613 variable[7] = variable[8];
49614 variable[8] = variable[7] /*nodearraylist1*/;
49615 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
49616 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction760___action, LOCATE_parser, 28964); nit_exit(1);}
49617 variable[9] = variable[4] /*nodearraylist4*/;
49618 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
49619 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction760___action, LOCATE_parser, 28966); nit_exit(1);}
49620 variable[11] = NEW_APlusExpr_parser_prod___APlusExpr___init_aplusexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new APlusExpr*/
49621 variable[10] = variable[11];
49622 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
49623 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(112)) /*Parser::go_to*/;
49624 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
49625 return_label1552: while(false);
49626 tracehead = trace.prev;
49627 return;
49628 }
49629 void parser___ReduceAction760___init(val_t self, int* init_table) {
49630 struct trace_t trace = {NULL, NULL, 28974, LOCATE_parser___ReduceAction760___init};
49631 val_t variable[2];
49632 void **closurevariable = NULL;
49633 trace.prev = tracehead; tracehead = &trace;
49634 trace.file = LOCATE_parser;
49635 variable[0] = self;
49636 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction760].i]) return;
49637 return_label1553: while(false);
49638 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction760].i] = 1;
49639 tracehead = trace.prev;
49640 return;
49641 }
49642 void parser___ReduceAction761___action(val_t self, val_t param0) {
49643 struct trace_t trace = {NULL, NULL, 28978, LOCATE_parser___ReduceAction761___action};
49644 val_t variable[12];
49645 void **closurevariable = NULL;
49646 trace.prev = tracehead; tracehead = &trace;
49647 trace.file = LOCATE_parser;
49648 variable[0] = self;
49649 variable[1] = param0;
49650 variable[3] = NIT_NULL /*null*/;
49651 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49652 variable[4] = variable[5];
49653 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49654 variable[5] = variable[6];
49655 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49656 variable[6] = variable[7];
49657 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49658 variable[7] = variable[8];
49659 variable[8] = variable[7] /*nodearraylist1*/;
49660 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
49661 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction761___action, LOCATE_parser, 28986); nit_exit(1);}
49662 variable[9] = variable[4] /*nodearraylist4*/;
49663 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
49664 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction761___action, LOCATE_parser, 28988); nit_exit(1);}
49665 variable[11] = NEW_AMinusExpr_parser_prod___AMinusExpr___init_aminusexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AMinusExpr*/
49666 variable[10] = variable[11];
49667 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
49668 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(112)) /*Parser::go_to*/;
49669 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
49670 return_label1554: while(false);
49671 tracehead = trace.prev;
49672 return;
49673 }
49674 void parser___ReduceAction761___init(val_t self, int* init_table) {
49675 struct trace_t trace = {NULL, NULL, 28996, LOCATE_parser___ReduceAction761___init};
49676 val_t variable[2];
49677 void **closurevariable = NULL;
49678 trace.prev = tracehead; tracehead = &trace;
49679 trace.file = LOCATE_parser;
49680 variable[0] = self;
49681 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction761].i]) return;
49682 return_label1555: while(false);
49683 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction761].i] = 1;
49684 tracehead = trace.prev;
49685 return;
49686 }
49687 void parser___ReduceAction762___action(val_t self, val_t param0) {
49688 struct trace_t trace = {NULL, NULL, 29000, LOCATE_parser___ReduceAction762___action};
49689 val_t variable[7];
49690 void **closurevariable = NULL;
49691 trace.prev = tracehead; tracehead = &trace;
49692 trace.file = LOCATE_parser;
49693 variable[0] = self;
49694 variable[1] = param0;
49695 variable[3] = NIT_NULL /*null*/;
49696 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49697 variable[4] = variable[5];
49698 variable[5] = variable[4] /*nodearraylist1*/;
49699 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
49700 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction762___action, LOCATE_parser, 29005); nit_exit(1);}
49701 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
49702 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(113)) /*Parser::go_to*/;
49703 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
49704 return_label1556: while(false);
49705 tracehead = trace.prev;
49706 return;
49707 }
49708 void parser___ReduceAction762___init(val_t self, int* init_table) {
49709 struct trace_t trace = {NULL, NULL, 29009, LOCATE_parser___ReduceAction762___init};
49710 val_t variable[2];
49711 void **closurevariable = NULL;
49712 trace.prev = tracehead; tracehead = &trace;
49713 trace.file = LOCATE_parser;
49714 variable[0] = self;
49715 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction762].i]) return;
49716 return_label1557: while(false);
49717 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction762].i] = 1;
49718 tracehead = trace.prev;
49719 return;
49720 }
49721 void parser___ReduceAction763___action(val_t self, val_t param0) {
49722 struct trace_t trace = {NULL, NULL, 29013, LOCATE_parser___ReduceAction763___action};
49723 val_t variable[12];
49724 void **closurevariable = NULL;
49725 trace.prev = tracehead; tracehead = &trace;
49726 trace.file = LOCATE_parser;
49727 variable[0] = self;
49728 variable[1] = param0;
49729 variable[3] = NIT_NULL /*null*/;
49730 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49731 variable[4] = variable[5];
49732 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49733 variable[5] = variable[6];
49734 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49735 variable[6] = variable[7];
49736 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49737 variable[7] = variable[8];
49738 variable[8] = variable[7] /*nodearraylist1*/;
49739 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
49740 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction763___action, LOCATE_parser, 29021); nit_exit(1);}
49741 variable[9] = variable[4] /*nodearraylist4*/;
49742 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
49743 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction763___action, LOCATE_parser, 29023); nit_exit(1);}
49744 variable[11] = NEW_AStarExpr_parser_prod___AStarExpr___init_astarexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new AStarExpr*/
49745 variable[10] = variable[11];
49746 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
49747 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(113)) /*Parser::go_to*/;
49748 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
49749 return_label1558: while(false);
49750 tracehead = trace.prev;
49751 return;
49752 }
49753 void parser___ReduceAction763___init(val_t self, int* init_table) {
49754 struct trace_t trace = {NULL, NULL, 29031, LOCATE_parser___ReduceAction763___init};
49755 val_t variable[2];
49756 void **closurevariable = NULL;
49757 trace.prev = tracehead; tracehead = &trace;
49758 trace.file = LOCATE_parser;
49759 variable[0] = self;
49760 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction763].i]) return;
49761 return_label1559: while(false);
49762 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction763].i] = 1;
49763 tracehead = trace.prev;
49764 return;
49765 }
49766 void parser___ReduceAction764___action(val_t self, val_t param0) {
49767 struct trace_t trace = {NULL, NULL, 29035, LOCATE_parser___ReduceAction764___action};
49768 val_t variable[12];
49769 void **closurevariable = NULL;
49770 trace.prev = tracehead; tracehead = &trace;
49771 trace.file = LOCATE_parser;
49772 variable[0] = self;
49773 variable[1] = param0;
49774 variable[3] = NIT_NULL /*null*/;
49775 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49776 variable[4] = variable[5];
49777 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49778 variable[5] = variable[6];
49779 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49780 variable[6] = variable[7];
49781 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49782 variable[7] = variable[8];
49783 variable[8] = variable[7] /*nodearraylist1*/;
49784 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
49785 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction764___action, LOCATE_parser, 29043); nit_exit(1);}
49786 variable[9] = variable[4] /*nodearraylist4*/;
49787 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
49788 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction764___action, LOCATE_parser, 29045); nit_exit(1);}
49789 variable[11] = NEW_ASlashExpr_parser_prod___ASlashExpr___init_aslashexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new ASlashExpr*/
49790 variable[10] = variable[11];
49791 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
49792 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(113)) /*Parser::go_to*/;
49793 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
49794 return_label1560: while(false);
49795 tracehead = trace.prev;
49796 return;
49797 }
49798 void parser___ReduceAction764___init(val_t self, int* init_table) {
49799 struct trace_t trace = {NULL, NULL, 29053, LOCATE_parser___ReduceAction764___init};
49800 val_t variable[2];
49801 void **closurevariable = NULL;
49802 trace.prev = tracehead; tracehead = &trace;
49803 trace.file = LOCATE_parser;
49804 variable[0] = self;
49805 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction764].i]) return;
49806 return_label1561: while(false);
49807 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction764].i] = 1;
49808 tracehead = trace.prev;
49809 return;
49810 }
49811 void parser___ReduceAction765___action(val_t self, val_t param0) {
49812 struct trace_t trace = {NULL, NULL, 29057, LOCATE_parser___ReduceAction765___action};
49813 val_t variable[12];
49814 void **closurevariable = NULL;
49815 trace.prev = tracehead; tracehead = &trace;
49816 trace.file = LOCATE_parser;
49817 variable[0] = self;
49818 variable[1] = param0;
49819 variable[3] = NIT_NULL /*null*/;
49820 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49821 variable[4] = variable[5];
49822 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49823 variable[5] = variable[6];
49824 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49825 variable[6] = variable[7];
49826 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49827 variable[7] = variable[8];
49828 variable[8] = variable[7] /*nodearraylist1*/;
49829 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
49830 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction765___action, LOCATE_parser, 29065); nit_exit(1);}
49831 variable[9] = variable[4] /*nodearraylist4*/;
49832 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
49833 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction765___action, LOCATE_parser, 29067); nit_exit(1);}
49834 variable[11] = NEW_APercentExpr_parser_prod___APercentExpr___init_apercentexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/); /*new APercentExpr*/
49835 variable[10] = variable[11];
49836 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
49837 variable[11] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(113)) /*Parser::go_to*/;
49838 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
49839 return_label1562: while(false);
49840 tracehead = trace.prev;
49841 return;
49842 }
49843 void parser___ReduceAction765___init(val_t self, int* init_table) {
49844 struct trace_t trace = {NULL, NULL, 29075, LOCATE_parser___ReduceAction765___init};
49845 val_t variable[2];
49846 void **closurevariable = NULL;
49847 trace.prev = tracehead; tracehead = &trace;
49848 trace.file = LOCATE_parser;
49849 variable[0] = self;
49850 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction765].i]) return;
49851 return_label1563: while(false);
49852 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction765].i] = 1;
49853 tracehead = trace.prev;
49854 return;
49855 }
49856 void parser___ReduceAction766___action(val_t self, val_t param0) {
49857 struct trace_t trace = {NULL, NULL, 29079, LOCATE_parser___ReduceAction766___action};
49858 val_t variable[7];
49859 void **closurevariable = NULL;
49860 trace.prev = tracehead; tracehead = &trace;
49861 trace.file = LOCATE_parser;
49862 variable[0] = self;
49863 variable[1] = param0;
49864 variable[3] = NIT_NULL /*null*/;
49865 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49866 variable[4] = variable[5];
49867 variable[5] = variable[4] /*nodearraylist1*/;
49868 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
49869 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction766___action, LOCATE_parser, 29084); nit_exit(1);}
49870 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
49871 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(114)) /*Parser::go_to*/;
49872 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
49873 return_label1564: while(false);
49874 tracehead = trace.prev;
49875 return;
49876 }
49877 void parser___ReduceAction766___init(val_t self, int* init_table) {
49878 struct trace_t trace = {NULL, NULL, 29088, LOCATE_parser___ReduceAction766___init};
49879 val_t variable[2];
49880 void **closurevariable = NULL;
49881 trace.prev = tracehead; tracehead = &trace;
49882 trace.file = LOCATE_parser;
49883 variable[0] = self;
49884 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction766].i]) return;
49885 return_label1565: while(false);
49886 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction766].i] = 1;
49887 tracehead = trace.prev;
49888 return;
49889 }
49890 void parser___ReduceAction767___action(val_t self, val_t param0) {
49891 struct trace_t trace = {NULL, NULL, 29092, LOCATE_parser___ReduceAction767___action};
49892 val_t variable[11];
49893 void **closurevariable = NULL;
49894 trace.prev = tracehead; tracehead = &trace;
49895 trace.file = LOCATE_parser;
49896 variable[0] = self;
49897 variable[1] = param0;
49898 variable[3] = NIT_NULL /*null*/;
49899 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49900 variable[4] = variable[5];
49901 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49902 variable[5] = variable[6];
49903 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49904 variable[6] = variable[7];
49905 variable[7] = variable[6] /*nodearraylist1*/;
49906 variable[8] = TAG_Bool(( variable[7] /*tminusnode2*/==NIT_NULL) || VAL_ISA( variable[7] /*tminusnode2*/, COLOR_TMinus, ID_TMinus)) /*cast TMinus*/;
49907 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction767___action, LOCATE_parser, 29099); nit_exit(1);}
49908 variable[8] = variable[4] /*nodearraylist3*/;
49909 variable[9] = TAG_Bool(( variable[8] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
49910 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction767___action, LOCATE_parser, 29101); nit_exit(1);}
49911 variable[10] = NEW_AUminusExpr_parser_prod___AUminusExpr___init_auminusexpr( variable[7] /*tminusnode2*/, variable[8] /*pexprnode3*/); /*new AUminusExpr*/
49912 variable[9] = variable[10];
49913 variable[3] = variable[9] /*pexprnode1*/ /*node_list=*/;
49914 variable[10] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(114)) /*Parser::go_to*/;
49915 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
49916 return_label1566: while(false);
49917 tracehead = trace.prev;
49918 return;
49919 }
49920 void parser___ReduceAction767___init(val_t self, int* init_table) {
49921 struct trace_t trace = {NULL, NULL, 29109, LOCATE_parser___ReduceAction767___init};
49922 val_t variable[2];
49923 void **closurevariable = NULL;
49924 trace.prev = tracehead; tracehead = &trace;
49925 trace.file = LOCATE_parser;
49926 variable[0] = self;
49927 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction767].i]) return;
49928 return_label1567: while(false);
49929 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction767].i] = 1;
49930 tracehead = trace.prev;
49931 return;
49932 }
49933 void parser___ReduceAction768___action(val_t self, val_t param0) {
49934 struct trace_t trace = {NULL, NULL, 29113, LOCATE_parser___ReduceAction768___action};
49935 val_t variable[11];
49936 void **closurevariable = NULL;
49937 trace.prev = tracehead; tracehead = &trace;
49938 trace.file = LOCATE_parser;
49939 variable[0] = self;
49940 variable[1] = param0;
49941 variable[3] = NIT_NULL /*null*/;
49942 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49943 variable[4] = variable[5];
49944 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49945 variable[5] = variable[6];
49946 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49947 variable[6] = variable[7];
49948 variable[7] = variable[6] /*nodearraylist1*/;
49949 variable[8] = TAG_Bool(( variable[7] /*tkwoncenode2*/==NIT_NULL) || VAL_ISA( variable[7] /*tkwoncenode2*/, COLOR_TKwonce, ID_TKwonce)) /*cast TKwonce*/;
49950 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction768___action, LOCATE_parser, 29120); nit_exit(1);}
49951 variable[8] = variable[4] /*nodearraylist3*/;
49952 variable[9] = TAG_Bool(( variable[8] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
49953 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction768___action, LOCATE_parser, 29122); nit_exit(1);}
49954 variable[10] = NEW_AOnceExpr_parser_prod___AOnceExpr___init_aonceexpr( variable[7] /*tkwoncenode2*/, variable[8] /*pexprnode3*/); /*new AOnceExpr*/
49955 variable[9] = variable[10];
49956 variable[3] = variable[9] /*pexprnode1*/ /*node_list=*/;
49957 variable[10] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(114)) /*Parser::go_to*/;
49958 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
49959 return_label1568: while(false);
49960 tracehead = trace.prev;
49961 return;
49962 }
49963 void parser___ReduceAction768___init(val_t self, int* init_table) {
49964 struct trace_t trace = {NULL, NULL, 29130, LOCATE_parser___ReduceAction768___init};
49965 val_t variable[2];
49966 void **closurevariable = NULL;
49967 trace.prev = tracehead; tracehead = &trace;
49968 trace.file = LOCATE_parser;
49969 variable[0] = self;
49970 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction768].i]) return;
49971 return_label1569: while(false);
49972 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction768].i] = 1;
49973 tracehead = trace.prev;
49974 return;
49975 }
49976 void parser___ReduceAction769___action(val_t self, val_t param0) {
49977 struct trace_t trace = {NULL, NULL, 29134, LOCATE_parser___ReduceAction769___action};
49978 val_t variable[7];
49979 void **closurevariable = NULL;
49980 trace.prev = tracehead; tracehead = &trace;
49981 trace.file = LOCATE_parser;
49982 variable[0] = self;
49983 variable[1] = param0;
49984 variable[3] = NIT_NULL /*null*/;
49985 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
49986 variable[4] = variable[5];
49987 variable[5] = variable[4] /*nodearraylist1*/;
49988 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
49989 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction769___action, LOCATE_parser, 29139); nit_exit(1);}
49990 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
49991 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(115)) /*Parser::go_to*/;
49992 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
49993 return_label1570: while(false);
49994 tracehead = trace.prev;
49995 return;
49996 }
49997 void parser___ReduceAction769___init(val_t self, int* init_table) {
49998 struct trace_t trace = {NULL, NULL, 29143, LOCATE_parser___ReduceAction769___init};
49999 val_t variable[2];
50000 void **closurevariable = NULL;
50001 trace.prev = tracehead; tracehead = &trace;
50002 trace.file = LOCATE_parser;
50003 variable[0] = self;
50004 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction769].i]) return;
50005 return_label1571: while(false);
50006 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction769].i] = 1;
50007 tracehead = trace.prev;
50008 return;
50009 }
50010 void parser___ReduceAction770___action(val_t self, val_t param0) {
50011 struct trace_t trace = {NULL, NULL, 29147, LOCATE_parser___ReduceAction770___action};
50012 val_t variable[14];
50013 void **closurevariable = NULL;
50014 trace.prev = tracehead; tracehead = &trace;
50015 trace.file = LOCATE_parser;
50016 variable[0] = self;
50017 variable[1] = param0;
50018 variable[3] = NIT_NULL /*null*/;
50019 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
50020 variable[4] = variable[5];
50021 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
50022 variable[5] = variable[6];
50023 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
50024 variable[6] = variable[7];
50025 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
50026 variable[7] = variable[8];
50027 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
50028 variable[8] = variable[9];
50029 variable[9] = variable[7] /*nodearraylist1*/;
50030 variable[10] = TAG_Bool(( variable[9] /*tkwnewnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwnewnode2*/, COLOR_TKwnew, ID_TKwnew)) /*cast TKwnew*/;
50031 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction770___action, LOCATE_parser, 29156); nit_exit(1);}
50032 variable[10] = variable[5] /*nodearraylist3*/;
50033 variable[11] = TAG_Bool(( variable[10] /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable[10] /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
50034 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction770___action, LOCATE_parser, 29158); nit_exit(1);}
50035 variable[11] = variable[4] /*nodearraylist4*/;
50036 variable[12] = TAG_Bool(( variable[11] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
50037 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction770___action, LOCATE_parser, 29160); nit_exit(1);}
50038 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode5*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable[11] /*listnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
50039 if (UNTAG_Bool(variable[12])) { /*if*/
50040 variable[12] = ((array___AbstractArray___is_empty_t)CALL( variable[8] /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable[8] /*listnode6*/) /*AbstractArray::is_empty*/;
50041 if (UNTAG_Bool(variable[12])) { /*if*/
50042 variable[8] = variable[11] /*listnode5*/ /*listnode6=*/;
50043 } else { /*if*/
50044 ((abstract_collection___IndexedCollection___append_t)CALL( variable[8] /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable[8] /*listnode6*/, variable[11] /*listnode5*/) /*IndexedCollection::append*/;
50045 }
50046 }
50047 variable[13] = NEW_ANewExpr_parser_prod___ANewExpr___init_anewexpr( variable[9] /*tkwnewnode2*/, variable[10] /*ptypenode3*/, NIT_NULL /*null*/, variable[8] /*listnode6*/); /*new ANewExpr*/
50048 variable[12] = variable[13];
50049 variable[3] = variable[12] /*pexprnode1*/ /*node_list=*/;
50050 variable[13] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(115)) /*Parser::go_to*/;
50051 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
50052 return_label1572: while(false);
50053 tracehead = trace.prev;
50054 return;
50055 }
50056 void parser___ReduceAction770___init(val_t self, int* init_table) {
50057 struct trace_t trace = {NULL, NULL, 29177, LOCATE_parser___ReduceAction770___init};
50058 val_t variable[2];
50059 void **closurevariable = NULL;
50060 trace.prev = tracehead; tracehead = &trace;
50061 trace.file = LOCATE_parser;
50062 variable[0] = self;
50063 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction770].i]) return;
50064 return_label1573: while(false);
50065 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction770].i] = 1;
50066 tracehead = trace.prev;
50067 return;
50068 }
50069 void parser___ReduceAction771___action(val_t self, val_t param0) {
50070 struct trace_t trace = {NULL, NULL, 29181, LOCATE_parser___ReduceAction771___action};
50071 val_t variable[10];
50072 void **closurevariable = NULL;
50073 trace.prev = tracehead; tracehead = &trace;
50074 trace.file = LOCATE_parser;
50075 variable[0] = self;
50076 variable[1] = param0;
50077 variable[3] = NIT_NULL /*null*/;
50078 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
50079 variable[4] = variable[5];
50080 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
50081 variable[5] = variable[6];
50082 variable[6] = variable[5] /*nodearraylist1*/;
50083 variable[7] = TAG_Bool(( variable[6] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[6] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
50084 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction771___action, LOCATE_parser, 29187); nit_exit(1);}
50085 variable[7] = variable[4] /*nodearraylist2*/;
50086 variable[8] = TAG_Bool(( variable[7] /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable[7] /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
50087 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction771___action, LOCATE_parser, 29189); nit_exit(1);}
50088 variable[9] = NEW_AAttrExpr_parser_prod___AAttrExpr___init_aattrexpr( variable[6] /*pexprnode2*/, variable[7] /*tattridnode3*/); /*new AAttrExpr*/
50089 variable[8] = variable[9];
50090 variable[3] = variable[8] /*pexprnode1*/ /*node_list=*/;
50091 variable[9] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(116)) /*Parser::go_to*/;
50092 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
50093 return_label1574: while(false);
50094 tracehead = trace.prev;
50095 return;
50096 }
50097 void parser___ReduceAction771___init(val_t self, int* init_table) {
50098 struct trace_t trace = {NULL, NULL, 29197, LOCATE_parser___ReduceAction771___init};
50099 val_t variable[2];
50100 void **closurevariable = NULL;
50101 trace.prev = tracehead; tracehead = &trace;
50102 trace.file = LOCATE_parser;
50103 variable[0] = self;
50104 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction771].i]) return;
50105 return_label1575: while(false);
50106 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction771].i] = 1;
50107 tracehead = trace.prev;
50108 return;
50109 }
50110 void parser___ReduceAction772___action(val_t self, val_t param0) {
50111 struct trace_t trace = {NULL, NULL, 29201, LOCATE_parser___ReduceAction772___action};
50112 val_t variable[14];
50113 void **closurevariable = NULL;
50114 trace.prev = tracehead; tracehead = &trace;
50115 trace.file = LOCATE_parser;
50116 variable[0] = self;
50117 variable[1] = param0;
50118 variable[3] = NIT_NULL /*null*/;
50119 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
50120 variable[4] = variable[5];
50121 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
50122 variable[5] = variable[6];
50123 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
50124 variable[6] = variable[7];
50125 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
50126 variable[7] = variable[8];
50127 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
50128 variable[8] = variable[9];
50129 variable[9] = variable[6] /*nodearraylist1*/;
50130 variable[10] = TAG_Bool(( variable[9] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
50131 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction772___action, LOCATE_parser, 29210); nit_exit(1);}
50132 variable[10] = variable[5] /*nodearraylist2*/;
50133 variable[11] = TAG_Bool(( variable[10] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
50134 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction772___action, LOCATE_parser, 29212); nit_exit(1);}
50135 variable[11] = variable[4] /*nodearraylist3*/;
50136 variable[12] = TAG_Bool(( variable[11] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
50137 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction772___action, LOCATE_parser, 29214); nit_exit(1);}
50138 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[11] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
50139 if (UNTAG_Bool(variable[12])) { /*if*/
50140 variable[12] = ((array___AbstractArray___is_empty_t)CALL( variable[7] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[7] /*listnode5*/) /*AbstractArray::is_empty*/;
50141 if (UNTAG_Bool(variable[12])) { /*if*/
50142 variable[7] = variable[11] /*listnode4*/ /*listnode5=*/;
50143 } else { /*if*/
50144 ((abstract_collection___IndexedCollection___append_t)CALL( variable[7] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[7] /*listnode5*/, variable[11] /*listnode4*/) /*IndexedCollection::append*/;
50145 }
50146 }
50147 variable[13] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[9] /*pexprnode2*/, variable[10] /*tidnode3*/, variable[7] /*listnode5*/, variable[8] /*listnode6*/); /*new ACallExpr*/
50148 variable[12] = variable[13];
50149 variable[3] = variable[12] /*pexprnode1*/ /*node_list=*/;
50150 variable[13] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(116)) /*Parser::go_to*/;
50151 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
50152 return_label1576: while(false);
50153 tracehead = trace.prev;
50154 return;
50155 }
50156 void parser___ReduceAction772___init(val_t self, int* init_table) {
50157 struct trace_t trace = {NULL, NULL, 29231, LOCATE_parser___ReduceAction772___init};
50158 val_t variable[2];
50159 void **closurevariable = NULL;
50160 trace.prev = tracehead; tracehead = &trace;
50161 trace.file = LOCATE_parser;
50162 variable[0] = self;
50163 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction772].i]) return;
50164 return_label1577: while(false);
50165 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction772].i] = 1;
50166 tracehead = trace.prev;
50167 return;
50168 }
50169 void parser___ReduceAction773___action(val_t self, val_t param0) {
50170 struct trace_t trace = {NULL, NULL, 29235, LOCATE_parser___ReduceAction773___action};
50171 val_t variable[11];
50172 void **closurevariable = NULL;
50173 trace.prev = tracehead; tracehead = &trace;
50174 trace.file = LOCATE_parser;
50175 variable[0] = self;
50176 variable[1] = param0;
50177 variable[3] = NIT_NULL /*null*/;
50178 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
50179 variable[4] = variable[5];
50180 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
50181 variable[5] = variable[6];
50182 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
50183 variable[6] = variable[7];
50184 variable[7] = variable[5] /*nodearraylist1*/;
50185 variable[8] = TAG_Bool(( variable[7] /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable[7] /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
50186 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction773___action, LOCATE_parser, 29242); nit_exit(1);}
50187 variable[8] = variable[4] /*nodearraylist2*/;
50188 variable[9] = TAG_Bool(( variable[8] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[8] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
50189 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction773___action, LOCATE_parser, 29244); nit_exit(1);}
50190 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[8] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[8] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[8] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[8] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
50191 if (UNTAG_Bool(variable[9])) { /*if*/
50192 variable[9] = ((array___AbstractArray___is_empty_t)CALL( variable[6] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[6] /*listnode5*/) /*AbstractArray::is_empty*/;
50193 if (UNTAG_Bool(variable[9])) { /*if*/
50194 variable[6] = variable[8] /*listnode4*/ /*listnode5=*/;
50195 } else { /*if*/
50196 ((abstract_collection___IndexedCollection___append_t)CALL( variable[6] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[6] /*listnode5*/, variable[8] /*listnode4*/) /*IndexedCollection::append*/;
50197 }
50198 }
50199 variable[10] = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr( NIT_NULL /*null*/, variable[7] /*tkwsupernode3*/, variable[6] /*listnode5*/); /*new ASuperExpr*/
50200 variable[9] = variable[10];
50201 variable[3] = variable[9] /*pexprnode1*/ /*node_list=*/;
50202 variable[10] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(116)) /*Parser::go_to*/;
50203 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
50204 return_label1578: while(false);
50205 tracehead = trace.prev;
50206 return;
50207 }
50208 void parser___ReduceAction773___init(val_t self, int* init_table) {
50209 struct trace_t trace = {NULL, NULL, 29260, LOCATE_parser___ReduceAction773___init};
50210 val_t variable[2];
50211 void **closurevariable = NULL;
50212 trace.prev = tracehead; tracehead = &trace;
50213 trace.file = LOCATE_parser;
50214 variable[0] = self;
50215 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction773].i]) return;
50216 return_label1579: while(false);
50217 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction773].i] = 1;
50218 tracehead = trace.prev;
50219 return;
50220 }
50221 void parser___ReduceAction774___action(val_t self, val_t param0) {
50222 struct trace_t trace = {NULL, NULL, 29264, LOCATE_parser___ReduceAction774___action};
50223 val_t variable[13];
50224 void **closurevariable = NULL;
50225 trace.prev = tracehead; tracehead = &trace;
50226 trace.file = LOCATE_parser;
50227 variable[0] = self;
50228 variable[1] = param0;
50229 variable[3] = NIT_NULL /*null*/;
50230 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
50231 variable[4] = variable[5];
50232 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
50233 variable[5] = variable[6];
50234 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
50235 variable[6] = variable[7];
50236 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
50237 variable[7] = variable[8];
50238 variable[8] = variable[6] /*nodearraylist1*/;
50239 variable[9] = TAG_Bool(( variable[8] /*pqualifiednode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pqualifiednode2*/, COLOR_PQualified, ID_PQualified)) /*cast PQualified*/;
50240 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction774___action, LOCATE_parser, 29272); nit_exit(1);}
50241 variable[9] = variable[5] /*nodearraylist2*/;
50242 variable[10] = TAG_Bool(( variable[9] /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
50243 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction774___action, LOCATE_parser, 29274); nit_exit(1);}
50244 variable[10] = variable[4] /*nodearraylist3*/;
50245 variable[11] = TAG_Bool(( variable[10] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
50246 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction774___action, LOCATE_parser, 29276); nit_exit(1);}
50247 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[10] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
50248 if (UNTAG_Bool(variable[11])) { /*if*/
50249 variable[11] = ((array___AbstractArray___is_empty_t)CALL( variable[7] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[7] /*listnode5*/) /*AbstractArray::is_empty*/;
50250 if (UNTAG_Bool(variable[11])) { /*if*/
50251 variable[7] = variable[10] /*listnode4*/ /*listnode5=*/;
50252 } else { /*if*/
50253 ((abstract_collection___IndexedCollection___append_t)CALL( variable[7] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[7] /*listnode5*/, variable[10] /*listnode4*/) /*IndexedCollection::append*/;
50254 }
50255 }
50256 variable[12] = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr( variable[8] /*pqualifiednode2*/, variable[9] /*tkwsupernode3*/, variable[7] /*listnode5*/); /*new ASuperExpr*/
50257 variable[11] = variable[12];
50258 variable[3] = variable[11] /*pexprnode1*/ /*node_list=*/;
50259 variable[12] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(116)) /*Parser::go_to*/;
50260 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
50261 return_label1580: while(false);
50262 tracehead = trace.prev;
50263 return;
50264 }
50265 void parser___ReduceAction774___init(val_t self, int* init_table) {
50266 struct trace_t trace = {NULL, NULL, 29292, LOCATE_parser___ReduceAction774___init};
50267 val_t variable[2];
50268 void **closurevariable = NULL;
50269 trace.prev = tracehead; tracehead = &trace;
50270 trace.file = LOCATE_parser;
50271 variable[0] = self;
50272 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction774].i]) return;
50273 return_label1581: while(false);
50274 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction774].i] = 1;
50275 tracehead = trace.prev;
50276 return;
50277 }
50278 void parser___ReduceAction775___action(val_t self, val_t param0) {
50279 struct trace_t trace = {NULL, NULL, 29296, LOCATE_parser___ReduceAction775___action};
50280 val_t variable[13];
50281 void **closurevariable = NULL;
50282 trace.prev = tracehead; tracehead = &trace;
50283 trace.file = LOCATE_parser;
50284 variable[0] = self;
50285 variable[1] = param0;
50286 variable[3] = NIT_NULL /*null*/;
50287 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
50288 variable[4] = variable[5];
50289 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
50290 variable[5] = variable[6];
50291 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
50292 variable[6] = variable[7];
50293 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
50294 variable[7] = variable[8];
50295 variable[8] = variable[6] /*nodearraylist1*/;
50296 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
50297 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction775___action, LOCATE_parser, 29304); nit_exit(1);}
50298 variable[9] = variable[5] /*nodearraylist2*/;
50299 variable[10] = TAG_Bool(( variable[9] /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
50300 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction775___action, LOCATE_parser, 29306); nit_exit(1);}
50301 variable[10] = variable[4] /*nodearraylist3*/;
50302 variable[11] = TAG_Bool(( variable[10] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
50303 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction775___action, LOCATE_parser, 29308); nit_exit(1);}
50304 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[10] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[10] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[10] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
50305 if (UNTAG_Bool(variable[11])) { /*if*/
50306 variable[11] = ((array___AbstractArray___is_empty_t)CALL( variable[7] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[7] /*listnode5*/) /*AbstractArray::is_empty*/;
50307 if (UNTAG_Bool(variable[11])) { /*if*/
50308 variable[7] = variable[10] /*listnode4*/ /*listnode5=*/;
50309 } else { /*if*/
50310 ((abstract_collection___IndexedCollection___append_t)CALL( variable[7] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[7] /*listnode5*/, variable[10] /*listnode4*/) /*IndexedCollection::append*/;
50311 }
50312 }
50313 variable[12] = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr( variable[8] /*pexprnode2*/, variable[9] /*tkwinitnode3*/, variable[7] /*listnode5*/); /*new AInitExpr*/
50314 variable[11] = variable[12];
50315 variable[3] = variable[11] /*pexprnode1*/ /*node_list=*/;
50316 variable[12] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(116)) /*Parser::go_to*/;
50317 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
50318 return_label1582: while(false);
50319 tracehead = trace.prev;
50320 return;
50321 }
50322 void parser___ReduceAction775___init(val_t self, int* init_table) {
50323 struct trace_t trace = {NULL, NULL, 29324, LOCATE_parser___ReduceAction775___init};
50324 val_t variable[2];
50325 void **closurevariable = NULL;
50326 trace.prev = tracehead; tracehead = &trace;
50327 trace.file = LOCATE_parser;
50328 variable[0] = self;
50329 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction775].i]) return;
50330 return_label1583: while(false);
50331 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction775].i] = 1;
50332 tracehead = trace.prev;
50333 return;
50334 }
50335 void parser___ReduceAction776___action(val_t self, val_t param0) {
50336 struct trace_t trace = {NULL, NULL, 29328, LOCATE_parser___ReduceAction776___action};
50337 val_t variable[18];
50338 void **closurevariable = NULL;
50339 trace.prev = tracehead; tracehead = &trace;
50340 trace.file = LOCATE_parser;
50341 variable[0] = self;
50342 variable[1] = param0;
50343 variable[3] = NIT_NULL /*null*/;
50344 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
50345 variable[4] = variable[5];
50346 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
50347 variable[5] = variable[6];
50348 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
50349 variable[6] = variable[7];
50350 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
50351 variable[7] = variable[8];
50352 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
50353 variable[8] = variable[9];
50354 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
50355 variable[9] = variable[10];
50356 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
50357 variable[10] = variable[11];
50358 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
50359 variable[11] = variable[12];
50360 variable[12] = variable[10] /*nodearraylist1*/;
50361 variable[13] = TAG_Bool(( variable[12] /*tkwnewnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwnewnode2*/, COLOR_TKwnew, ID_TKwnew)) /*cast TKwnew*/;
50362 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction776___action, LOCATE_parser, 29340); nit_exit(1);}
50363 variable[13] = variable[8] /*nodearraylist3*/;
50364 variable[14] = TAG_Bool(( variable[13] /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable[13] /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
50365 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction776___action, LOCATE_parser, 29342); nit_exit(1);}
50366 variable[14] = variable[5] /*nodearraylist6*/;
50367 variable[15] = TAG_Bool(( variable[14] /*tidnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*tidnode4*/, COLOR_TId, ID_TId)) /*cast TId*/;
50368 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction776___action, LOCATE_parser, 29344); nit_exit(1);}
50369 variable[15] = variable[4] /*nodearraylist7*/;
50370 variable[16] = TAG_Bool(( variable[15] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
50371 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction776___action, LOCATE_parser, 29346); nit_exit(1);}
50372 variable[16] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*listnode5*/ == NIT_NULL /*null*/) || (( variable[15] /*listnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[15] /*listnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*listnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[15] /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable[15] /*listnode5*/, NIT_NULL /*null*/) /*Object::==*/)))))));
50373 if (UNTAG_Bool(variable[16])) { /*if*/
50374 variable[16] = ((array___AbstractArray___is_empty_t)CALL( variable[11] /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable[11] /*listnode6*/) /*AbstractArray::is_empty*/;
50375 if (UNTAG_Bool(variable[16])) { /*if*/
50376 variable[11] = variable[15] /*listnode5*/ /*listnode6=*/;
50377 } else { /*if*/
50378 ((abstract_collection___IndexedCollection___append_t)CALL( variable[11] /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable[11] /*listnode6*/, variable[15] /*listnode5*/) /*IndexedCollection::append*/;
50379 }
50380 }
50381 variable[17] = NEW_ANewExpr_parser_prod___ANewExpr___init_anewexpr( variable[12] /*tkwnewnode2*/, variable[13] /*ptypenode3*/, variable[14] /*tidnode4*/, variable[11] /*listnode6*/); /*new ANewExpr*/
50382 variable[16] = variable[17];
50383 variable[3] = variable[16] /*pexprnode1*/ /*node_list=*/;
50384 variable[17] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(116)) /*Parser::go_to*/;
50385 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
50386 return_label1584: while(false);
50387 tracehead = trace.prev;
50388 return;
50389 }
50390 void parser___ReduceAction776___init(val_t self, int* init_table) {
50391 struct trace_t trace = {NULL, NULL, 29363, LOCATE_parser___ReduceAction776___init};
50392 val_t variable[2];
50393 void **closurevariable = NULL;
50394 trace.prev = tracehead; tracehead = &trace;
50395 trace.file = LOCATE_parser;
50396 variable[0] = self;
50397 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction776].i]) return;
50398 return_label1585: while(false);
50399 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction776].i] = 1;
50400 tracehead = trace.prev;
50401 return;
50402 }
50403 void parser___ReduceAction777___action(val_t self, val_t param0) {
50404 struct trace_t trace = {NULL, NULL, 29367, LOCATE_parser___ReduceAction777___action};
50405 val_t variable[8];
50406 void **closurevariable = NULL;
50407 trace.prev = tracehead; tracehead = &trace;
50408 trace.file = LOCATE_parser;
50409 variable[0] = self;
50410 variable[1] = param0;
50411 variable[3] = NIT_NULL /*null*/;
50412 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
50413 variable[4] = variable[5];
50414 variable[5] = variable[4] /*nodearraylist1*/;
50415 variable[6] = TAG_Bool(( variable[5] /*tkwselfnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwselfnode2*/, COLOR_TKwself, ID_TKwself)) /*cast TKwself*/;
50416 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction777___action, LOCATE_parser, 29372); nit_exit(1);}
50417 variable[7] = NEW_ASelfExpr_parser_prod___ASelfExpr___init_aselfexpr( variable[5] /*tkwselfnode2*/); /*new ASelfExpr*/
50418 variable[6] = variable[7];
50419 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
50420 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(116)) /*Parser::go_to*/;
50421 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
50422 return_label1586: while(false);
50423 tracehead = trace.prev;
50424 return;
50425 }
50426 void parser___ReduceAction777___init(val_t self, int* init_table) {
50427 struct trace_t trace = {NULL, NULL, 29379, LOCATE_parser___ReduceAction777___init};
50428 val_t variable[2];
50429 void **closurevariable = NULL;
50430 trace.prev = tracehead; tracehead = &trace;
50431 trace.file = LOCATE_parser;
50432 variable[0] = self;
50433 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction777].i]) return;
50434 return_label1587: while(false);
50435 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction777].i] = 1;
50436 tracehead = trace.prev;
50437 return;
50438 }
50439 void parser___ReduceAction778___action(val_t self, val_t param0) {
50440 struct trace_t trace = {NULL, NULL, 29383, LOCATE_parser___ReduceAction778___action};
50441 val_t variable[8];
50442 void **closurevariable = NULL;
50443 trace.prev = tracehead; tracehead = &trace;
50444 trace.file = LOCATE_parser;
50445 variable[0] = self;
50446 variable[1] = param0;
50447 variable[3] = NIT_NULL /*null*/;
50448 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
50449 variable[4] = variable[5];
50450 variable[5] = variable[4] /*nodearraylist1*/;
50451 variable[6] = TAG_Bool(( variable[5] /*tkwtruenode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwtruenode2*/, COLOR_TKwtrue, ID_TKwtrue)) /*cast TKwtrue*/;
50452 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction778___action, LOCATE_parser, 29388); nit_exit(1);}
50453 variable[7] = NEW_ATrueExpr_parser_prod___ATrueExpr___init_atrueexpr( variable[5] /*tkwtruenode2*/); /*new ATrueExpr*/
50454 variable[6] = variable[7];
50455 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
50456 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(116)) /*Parser::go_to*/;
50457 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
50458 return_label1588: while(false);
50459 tracehead = trace.prev;
50460 return;
50461 }
50462 void parser___ReduceAction778___init(val_t self, int* init_table) {
50463 struct trace_t trace = {NULL, NULL, 29395, LOCATE_parser___ReduceAction778___init};
50464 val_t variable[2];
50465 void **closurevariable = NULL;
50466 trace.prev = tracehead; tracehead = &trace;
50467 trace.file = LOCATE_parser;
50468 variable[0] = self;
50469 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction778].i]) return;
50470 return_label1589: while(false);
50471 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction778].i] = 1;
50472 tracehead = trace.prev;
50473 return;
50474 }
50475 void parser___ReduceAction779___action(val_t self, val_t param0) {
50476 struct trace_t trace = {NULL, NULL, 29399, LOCATE_parser___ReduceAction779___action};
50477 val_t variable[8];
50478 void **closurevariable = NULL;
50479 trace.prev = tracehead; tracehead = &trace;
50480 trace.file = LOCATE_parser;
50481 variable[0] = self;
50482 variable[1] = param0;
50483 variable[3] = NIT_NULL /*null*/;
50484 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
50485 variable[4] = variable[5];
50486 variable[5] = variable[4] /*nodearraylist1*/;
50487 variable[6] = TAG_Bool(( variable[5] /*tkwfalsenode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwfalsenode2*/, COLOR_TKwfalse, ID_TKwfalse)) /*cast TKwfalse*/;
50488 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction779___action, LOCATE_parser, 29404); nit_exit(1);}
50489 variable[7] = NEW_AFalseExpr_parser_prod___AFalseExpr___init_afalseexpr( variable[5] /*tkwfalsenode2*/); /*new AFalseExpr*/
50490 variable[6] = variable[7];
50491 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
50492 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(116)) /*Parser::go_to*/;
50493 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
50494 return_label1590: while(false);
50495 tracehead = trace.prev;
50496 return;
50497 }
50498 void parser___ReduceAction779___init(val_t self, int* init_table) {
50499 struct trace_t trace = {NULL, NULL, 29411, LOCATE_parser___ReduceAction779___init};
50500 val_t variable[2];
50501 void **closurevariable = NULL;
50502 trace.prev = tracehead; tracehead = &trace;
50503 trace.file = LOCATE_parser;
50504 variable[0] = self;
50505 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction779].i]) return;
50506 return_label1591: while(false);
50507 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction779].i] = 1;
50508 tracehead = trace.prev;
50509 return;
50510 }
50511 void parser___ReduceAction780___action(val_t self, val_t param0) {
50512 struct trace_t trace = {NULL, NULL, 29415, LOCATE_parser___ReduceAction780___action};
50513 val_t variable[8];
50514 void **closurevariable = NULL;
50515 trace.prev = tracehead; tracehead = &trace;
50516 trace.file = LOCATE_parser;
50517 variable[0] = self;
50518 variable[1] = param0;
50519 variable[3] = NIT_NULL /*null*/;
50520 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
50521 variable[4] = variable[5];
50522 variable[5] = variable[4] /*nodearraylist1*/;
50523 variable[6] = TAG_Bool(( variable[5] /*tkwnullnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwnullnode2*/, COLOR_TKwnull, ID_TKwnull)) /*cast TKwnull*/;
50524 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction780___action, LOCATE_parser, 29420); nit_exit(1);}
50525 variable[7] = NEW_ANullExpr_parser_prod___ANullExpr___init_anullexpr( variable[5] /*tkwnullnode2*/); /*new ANullExpr*/
50526 variable[6] = variable[7];
50527 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
50528 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(116)) /*Parser::go_to*/;
50529 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
50530 return_label1592: while(false);
50531 tracehead = trace.prev;
50532 return;
50533 }
50534 void parser___ReduceAction780___init(val_t self, int* init_table) {
50535 struct trace_t trace = {NULL, NULL, 29427, LOCATE_parser___ReduceAction780___init};
50536 val_t variable[2];
50537 void **closurevariable = NULL;
50538 trace.prev = tracehead; tracehead = &trace;
50539 trace.file = LOCATE_parser;
50540 variable[0] = self;
50541 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction780].i]) return;
50542 return_label1593: while(false);
50543 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction780].i] = 1;
50544 tracehead = trace.prev;
50545 return;
50546 }
50547 void parser___ReduceAction781___action(val_t self, val_t param0) {
50548 struct trace_t trace = {NULL, NULL, 29431, LOCATE_parser___ReduceAction781___action};
50549 val_t variable[8];
50550 void **closurevariable = NULL;
50551 trace.prev = tracehead; tracehead = &trace;
50552 trace.file = LOCATE_parser;
50553 variable[0] = self;
50554 variable[1] = param0;
50555 variable[3] = NIT_NULL /*null*/;
50556 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
50557 variable[4] = variable[5];
50558 variable[5] = variable[4] /*nodearraylist1*/;
50559 variable[6] = TAG_Bool(( variable[5] /*tnumbernode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tnumbernode2*/, COLOR_TNumber, ID_TNumber)) /*cast TNumber*/;
50560 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction781___action, LOCATE_parser, 29436); nit_exit(1);}
50561 variable[7] = NEW_AIntExpr_parser_prod___AIntExpr___init_aintexpr( variable[5] /*tnumbernode2*/); /*new AIntExpr*/
50562 variable[6] = variable[7];
50563 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
50564 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(116)) /*Parser::go_to*/;
50565 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
50566 return_label1594: while(false);
50567 tracehead = trace.prev;
50568 return;
50569 }
50570 void parser___ReduceAction781___init(val_t self, int* init_table) {
50571 struct trace_t trace = {NULL, NULL, 29443, LOCATE_parser___ReduceAction781___init};
50572 val_t variable[2];
50573 void **closurevariable = NULL;
50574 trace.prev = tracehead; tracehead = &trace;
50575 trace.file = LOCATE_parser;
50576 variable[0] = self;
50577 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction781].i]) return;
50578 return_label1595: while(false);
50579 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction781].i] = 1;
50580 tracehead = trace.prev;
50581 return;
50582 }
50583 void parser___ReduceAction782___action(val_t self, val_t param0) {
50584 struct trace_t trace = {NULL, NULL, 29447, LOCATE_parser___ReduceAction782___action};
50585 val_t variable[8];
50586 void **closurevariable = NULL;
50587 trace.prev = tracehead; tracehead = &trace;
50588 trace.file = LOCATE_parser;
50589 variable[0] = self;
50590 variable[1] = param0;
50591 variable[3] = NIT_NULL /*null*/;
50592 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
50593 variable[4] = variable[5];
50594 variable[5] = variable[4] /*nodearraylist1*/;
50595 variable[6] = TAG_Bool(( variable[5] /*tfloatnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tfloatnode2*/, COLOR_TFloat, ID_TFloat)) /*cast TFloat*/;
50596 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction782___action, LOCATE_parser, 29452); nit_exit(1);}
50597 variable[7] = NEW_AFloatExpr_parser_prod___AFloatExpr___init_afloatexpr( variable[5] /*tfloatnode2*/); /*new AFloatExpr*/
50598 variable[6] = variable[7];
50599 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
50600 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(116)) /*Parser::go_to*/;
50601 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
50602 return_label1596: while(false);
50603 tracehead = trace.prev;
50604 return;
50605 }
50606 void parser___ReduceAction782___init(val_t self, int* init_table) {
50607 struct trace_t trace = {NULL, NULL, 29459, LOCATE_parser___ReduceAction782___init};
50608 val_t variable[2];
50609 void **closurevariable = NULL;
50610 trace.prev = tracehead; tracehead = &trace;
50611 trace.file = LOCATE_parser;
50612 variable[0] = self;
50613 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction782].i]) return;
50614 return_label1597: while(false);
50615 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction782].i] = 1;
50616 tracehead = trace.prev;
50617 return;
50618 }
50619 void parser___ReduceAction783___action(val_t self, val_t param0) {
50620 struct trace_t trace = {NULL, NULL, 29463, LOCATE_parser___ReduceAction783___action};
50621 val_t variable[8];
50622 void **closurevariable = NULL;
50623 trace.prev = tracehead; tracehead = &trace;
50624 trace.file = LOCATE_parser;
50625 variable[0] = self;
50626 variable[1] = param0;
50627 variable[3] = NIT_NULL /*null*/;
50628 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
50629 variable[4] = variable[5];
50630 variable[5] = variable[4] /*nodearraylist1*/;
50631 variable[6] = TAG_Bool(( variable[5] /*tcharnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tcharnode2*/, COLOR_TChar, ID_TChar)) /*cast TChar*/;
50632 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction783___action, LOCATE_parser, 29468); nit_exit(1);}
50633 variable[7] = NEW_ACharExpr_parser_prod___ACharExpr___init_acharexpr( variable[5] /*tcharnode2*/); /*new ACharExpr*/
50634 variable[6] = variable[7];
50635 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
50636 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(116)) /*Parser::go_to*/;
50637 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
50638 return_label1598: while(false);
50639 tracehead = trace.prev;
50640 return;
50641 }
50642 void parser___ReduceAction783___init(val_t self, int* init_table) {
50643 struct trace_t trace = {NULL, NULL, 29475, LOCATE_parser___ReduceAction783___init};
50644 val_t variable[2];
50645 void **closurevariable = NULL;
50646 trace.prev = tracehead; tracehead = &trace;
50647 trace.file = LOCATE_parser;
50648 variable[0] = self;
50649 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction783].i]) return;
50650 return_label1599: while(false);
50651 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction783].i] = 1;
50652 tracehead = trace.prev;
50653 return;
50654 }
50655 void parser___ReduceAction784___action(val_t self, val_t param0) {
50656 struct trace_t trace = {NULL, NULL, 29479, LOCATE_parser___ReduceAction784___action};
50657 val_t variable[8];
50658 void **closurevariable = NULL;
50659 trace.prev = tracehead; tracehead = &trace;
50660 trace.file = LOCATE_parser;
50661 variable[0] = self;
50662 variable[1] = param0;
50663 variable[3] = NIT_NULL /*null*/;
50664 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
50665 variable[4] = variable[5];
50666 variable[5] = variable[4] /*nodearraylist1*/;
50667 variable[6] = TAG_Bool(( variable[5] /*tstringnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tstringnode2*/, COLOR_TString, ID_TString)) /*cast TString*/;
50668 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction784___action, LOCATE_parser, 29484); nit_exit(1);}
50669 variable[7] = NEW_AStringExpr_parser_prod___AStringExpr___init_astringexpr( variable[5] /*tstringnode2*/); /*new AStringExpr*/
50670 variable[6] = variable[7];
50671 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
50672 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(116)) /*Parser::go_to*/;
50673 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
50674 return_label1600: while(false);
50675 tracehead = trace.prev;
50676 return;
50677 }
50678 void parser___ReduceAction784___init(val_t self, int* init_table) {
50679 struct trace_t trace = {NULL, NULL, 29491, LOCATE_parser___ReduceAction784___init};
50680 val_t variable[2];
50681 void **closurevariable = NULL;
50682 trace.prev = tracehead; tracehead = &trace;
50683 trace.file = LOCATE_parser;
50684 variable[0] = self;
50685 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction784].i]) return;
50686 return_label1601: while(false);
50687 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction784].i] = 1;
50688 tracehead = trace.prev;
50689 return;
50690 }
50691 void parser___ReduceAction785___action(val_t self, val_t param0) {
50692 struct trace_t trace = {NULL, NULL, 29495, LOCATE_parser___ReduceAction785___action};
50693 val_t variable[7];
50694 void **closurevariable = NULL;
50695 trace.prev = tracehead; tracehead = &trace;
50696 trace.file = LOCATE_parser;
50697 variable[0] = self;
50698 variable[1] = param0;
50699 variable[3] = NIT_NULL /*null*/;
50700 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
50701 variable[4] = variable[5];
50702 variable[5] = variable[4] /*nodearraylist1*/;
50703 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
50704 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction785___action, LOCATE_parser, 29500); nit_exit(1);}
50705 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
50706 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(116)) /*Parser::go_to*/;
50707 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
50708 return_label1602: while(false);
50709 tracehead = trace.prev;
50710 return;
50711 }
50712 void parser___ReduceAction785___init(val_t self, int* init_table) {
50713 struct trace_t trace = {NULL, NULL, 29504, LOCATE_parser___ReduceAction785___init};
50714 val_t variable[2];
50715 void **closurevariable = NULL;
50716 trace.prev = tracehead; tracehead = &trace;
50717 trace.file = LOCATE_parser;
50718 variable[0] = self;
50719 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction785].i]) return;
50720 return_label1603: while(false);
50721 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction785].i] = 1;
50722 tracehead = trace.prev;
50723 return;
50724 }
50725 void parser___ReduceAction786___action(val_t self, val_t param0) {
50726 struct trace_t trace = {NULL, NULL, 29508, LOCATE_parser___ReduceAction786___action};
50727 val_t variable[19];
50728 void **closurevariable = NULL;
50729 trace.prev = tracehead; tracehead = &trace;
50730 trace.file = LOCATE_parser;
50731 variable[0] = self;
50732 variable[1] = param0;
50733 variable[3] = NIT_NULL /*null*/;
50734 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
50735 variable[4] = variable[5];
50736 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
50737 variable[5] = variable[6];
50738 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
50739 variable[6] = variable[7];
50740 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
50741 variable[7] = variable[8];
50742 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
50743 variable[8] = variable[9];
50744 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
50745 variable[9] = variable[10];
50746 variable[11] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
50747 variable[10] = variable[11];
50748 variable[12] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
50749 variable[11] = variable[12];
50750 variable[13] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
50751 variable[12] = variable[13];
50752 variable[14] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
50753 variable[13] = variable[14];
50754 variable[14] = variable[13] /*nodearraylist1*/;
50755 variable[15] = TAG_Bool(( variable[14] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
50756 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction786___action, LOCATE_parser, 29522); nit_exit(1);}
50757 variable[15] = variable[10] /*nodearraylist4*/;
50758 variable[16] = TAG_Bool(( variable[15] /*tkwasnode3*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwasnode3*/, COLOR_TKwas, ID_TKwas)) /*cast TKwas*/;
50759 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction786___action, LOCATE_parser, 29524); nit_exit(1);}
50760 variable[16] = variable[6] /*nodearraylist8*/;
50761 variable[17] = TAG_Bool(( variable[16] /*ptypenode4*/==NIT_NULL) || VAL_ISA( variable[16] /*ptypenode4*/, COLOR_PType, ID_PType)) /*cast PType*/;
50762 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction786___action, LOCATE_parser, 29526); nit_exit(1);}
50763 variable[18] = NEW_AAsCastExpr_parser_prod___AAsCastExpr___init_aascastexpr( variable[14] /*pexprnode2*/, variable[15] /*tkwasnode3*/, variable[16] /*ptypenode4*/); /*new AAsCastExpr*/
50764 variable[17] = variable[18];
50765 variable[3] = variable[17] /*pexprnode1*/ /*node_list=*/;
50766 variable[18] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(116)) /*Parser::go_to*/;
50767 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
50768 return_label1604: while(false);
50769 tracehead = trace.prev;
50770 return;
50771 }
50772 void parser___ReduceAction786___init(val_t self, int* init_table) {
50773 struct trace_t trace = {NULL, NULL, 29535, LOCATE_parser___ReduceAction786___init};
50774 val_t variable[2];
50775 void **closurevariable = NULL;
50776 trace.prev = tracehead; tracehead = &trace;
50777 trace.file = LOCATE_parser;
50778 variable[0] = self;
50779 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction786].i]) return;
50780 return_label1605: while(false);
50781 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction786].i] = 1;
50782 tracehead = trace.prev;
50783 return;
50784 }
50785 void parser___ReduceAction787___action(val_t self, val_t param0) {
50786 struct trace_t trace = {NULL, NULL, 29539, LOCATE_parser___ReduceAction787___action};
50787 val_t variable[9];
50788 void **closurevariable = NULL;
50789 trace.prev = tracehead; tracehead = &trace;
50790 trace.file = LOCATE_parser;
50791 variable[0] = self;
50792 variable[1] = param0;
50793 variable[3] = NIT_NULL /*null*/;
50794 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
50795 variable[4] = variable[5];
50796 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
50797 variable[5] = variable[6];
50798 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
50799 variable[6] = variable[7];
50800 variable[7] = variable[6] /*nodearraylist1*/;
50801 variable[8] = TAG_Bool(( variable[7] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
50802 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction787___action, LOCATE_parser, 29546); nit_exit(1);}
50803 variable[3] = variable[7] /*pexprnode1*/ /*node_list=*/;
50804 variable[8] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(117)) /*Parser::go_to*/;
50805 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
50806 return_label1606: while(false);
50807 tracehead = trace.prev;
50808 return;
50809 }
50810 void parser___ReduceAction787___init(val_t self, int* init_table) {
50811 struct trace_t trace = {NULL, NULL, 29550, LOCATE_parser___ReduceAction787___init};
50812 val_t variable[2];
50813 void **closurevariable = NULL;
50814 trace.prev = tracehead; tracehead = &trace;
50815 trace.file = LOCATE_parser;
50816 variable[0] = self;
50817 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction787].i]) return;
50818 return_label1607: while(false);
50819 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction787].i] = 1;
50820 tracehead = trace.prev;
50821 return;
50822 }
50823 void parser___ReduceAction788___action(val_t self, val_t param0) {
50824 struct trace_t trace = {NULL, NULL, 29554, LOCATE_parser___ReduceAction788___action};
50825 val_t variable[6];
50826 void **closurevariable = NULL;
50827 trace.prev = tracehead; tracehead = &trace;
50828 trace.file = LOCATE_parser;
50829 variable[0] = self;
50830 variable[1] = param0;
50831 variable[3] = NIT_NULL /*null*/;
50832 variable[5] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
50833 variable[4] = variable[5];
50834 variable[3] = variable[4] /*pexprnode1*/ /*node_list=*/;
50835 variable[5] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(117)) /*Parser::go_to*/;
50836 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[5], variable[3] /*node_list*/) /*Parser::push*/;
50837 return_label1608: while(false);
50838 tracehead = trace.prev;
50839 return;
50840 }
50841 void parser___ReduceAction788___init(val_t self, int* init_table) {
50842 struct trace_t trace = {NULL, NULL, 29562, LOCATE_parser___ReduceAction788___init};
50843 val_t variable[2];
50844 void **closurevariable = NULL;
50845 trace.prev = tracehead; tracehead = &trace;
50846 trace.file = LOCATE_parser;
50847 variable[0] = self;
50848 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction788].i]) return;
50849 return_label1609: while(false);
50850 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction788].i] = 1;
50851 tracehead = trace.prev;
50852 return;
50853 }
50854 void parser___ReduceAction789___action(val_t self, val_t param0) {
50855 struct trace_t trace = {NULL, NULL, 29566, LOCATE_parser___ReduceAction789___action};
50856 val_t variable[7];
50857 void **closurevariable = NULL;
50858 trace.prev = tracehead; tracehead = &trace;
50859 trace.file = LOCATE_parser;
50860 variable[0] = self;
50861 variable[1] = param0;
50862 variable[3] = NIT_NULL /*null*/;
50863 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
50864 variable[4] = variable[5];
50865 variable[5] = variable[4] /*nodearraylist1*/;
50866 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
50867 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction789___action, LOCATE_parser, 29571); nit_exit(1);}
50868 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
50869 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(118)) /*Parser::go_to*/;
50870 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
50871 return_label1610: while(false);
50872 tracehead = trace.prev;
50873 return;
50874 }
50875 void parser___ReduceAction789___init(val_t self, int* init_table) {
50876 struct trace_t trace = {NULL, NULL, 29575, LOCATE_parser___ReduceAction789___init};
50877 val_t variable[2];
50878 void **closurevariable = NULL;
50879 trace.prev = tracehead; tracehead = &trace;
50880 trace.file = LOCATE_parser;
50881 variable[0] = self;
50882 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction789].i]) return;
50883 return_label1611: while(false);
50884 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction789].i] = 1;
50885 tracehead = trace.prev;
50886 return;
50887 }
50888 void parser___ReduceAction790___action(val_t self, val_t param0) {
50889 struct trace_t trace = {NULL, NULL, 29579, LOCATE_parser___ReduceAction790___action};
50890 val_t variable[18];
50891 void **closurevariable = NULL;
50892 trace.prev = tracehead; tracehead = &trace;
50893 trace.file = LOCATE_parser;
50894 variable[0] = self;
50895 variable[1] = param0;
50896 variable[3] = NIT_NULL /*null*/;
50897 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
50898 variable[4] = variable[5];
50899 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
50900 variable[5] = variable[6];
50901 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
50902 variable[6] = variable[7];
50903 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
50904 variable[7] = variable[8];
50905 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
50906 variable[8] = variable[9];
50907 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
50908 variable[9] = variable[10];
50909 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
50910 variable[10] = variable[11];
50911 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
50912 variable[11] = variable[12];
50913 variable[12] = variable[9] /*nodearraylist1*/;
50914 variable[13] = TAG_Bool(( variable[12] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
50915 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction790___action, LOCATE_parser, 29591); nit_exit(1);}
50916 variable[13] = variable[6] /*nodearraylist4*/;
50917 variable[14] = TAG_Bool(( variable[13] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
50918 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction790___action, LOCATE_parser, 29593); nit_exit(1);}
50919 variable[14] = variable[5] /*nodearraylist5*/;
50920 variable[15] = TAG_Bool(( variable[14] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
50921 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction790___action, LOCATE_parser, 29595); nit_exit(1);}
50922 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[14] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[14] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[14] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[14] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
50923 if (UNTAG_Bool(variable[15])) { /*if*/
50924 variable[15] = ((array___AbstractArray___is_empty_t)CALL( variable[10] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[10] /*listnode5*/) /*AbstractArray::is_empty*/;
50925 if (UNTAG_Bool(variable[15])) { /*if*/
50926 variable[10] = variable[14] /*listnode4*/ /*listnode5=*/;
50927 } else { /*if*/
50928 ((abstract_collection___IndexedCollection___append_t)CALL( variable[10] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[10] /*listnode5*/, variable[14] /*listnode4*/) /*IndexedCollection::append*/;
50929 }
50930 }
50931 variable[15] = variable[4] /*nodearraylist6*/;
50932 variable[16] = TAG_Bool(( variable[15] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
50933 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction790___action, LOCATE_parser, 29604); nit_exit(1);}
50934 variable[16] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*listnode6*/ == NIT_NULL /*null*/) || (( variable[15] /*listnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[15] /*listnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*listnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[15] /*listnode6*/,COLOR_kernel___Object_____eqeq))( variable[15] /*listnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
50935 if (UNTAG_Bool(variable[16])) { /*if*/
50936 variable[16] = ((array___AbstractArray___is_empty_t)CALL( variable[11] /*listnode7*/,COLOR_abstract_collection___Collection___is_empty))( variable[11] /*listnode7*/) /*AbstractArray::is_empty*/;
50937 if (UNTAG_Bool(variable[16])) { /*if*/
50938 variable[11] = variable[15] /*listnode6*/ /*listnode7=*/;
50939 } else { /*if*/
50940 ((abstract_collection___IndexedCollection___append_t)CALL( variable[11] /*listnode7*/,COLOR_abstract_collection___IndexedCollection___append))( variable[11] /*listnode7*/, variable[15] /*listnode6*/) /*IndexedCollection::append*/;
50941 }
50942 }
50943 variable[17] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[12] /*pexprnode2*/, variable[13] /*tidnode3*/, variable[10] /*listnode5*/, variable[11] /*listnode7*/); /*new ACallExpr*/
50944 variable[16] = variable[17];
50945 variable[3] = variable[16] /*pexprnode1*/ /*node_list=*/;
50946 variable[17] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(118)) /*Parser::go_to*/;
50947 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
50948 return_label1612: while(false);
50949 tracehead = trace.prev;
50950 return;
50951 }
50952 void parser___ReduceAction790___init(val_t self, int* init_table) {
50953 struct trace_t trace = {NULL, NULL, 29621, LOCATE_parser___ReduceAction790___init};
50954 val_t variable[2];
50955 void **closurevariable = NULL;
50956 trace.prev = tracehead; tracehead = &trace;
50957 trace.file = LOCATE_parser;
50958 variable[0] = self;
50959 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction790].i]) return;
50960 return_label1613: while(false);
50961 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction790].i] = 1;
50962 tracehead = trace.prev;
50963 return;
50964 }
50965 void parser___ReduceAction791___action(val_t self, val_t param0) {
50966 struct trace_t trace = {NULL, NULL, 29625, LOCATE_parser___ReduceAction791___action};
50967 val_t variable[15];
50968 void **closurevariable = NULL;
50969 trace.prev = tracehead; tracehead = &trace;
50970 trace.file = LOCATE_parser;
50971 variable[0] = self;
50972 variable[1] = param0;
50973 variable[3] = NIT_NULL /*null*/;
50974 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
50975 variable[4] = variable[5];
50976 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
50977 variable[5] = variable[6];
50978 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
50979 variable[6] = variable[7];
50980 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
50981 variable[7] = variable[8];
50982 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
50983 variable[8] = variable[9];
50984 variable[10] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
50985 variable[9] = variable[10];
50986 variable[10] = variable[6] /*nodearraylist1*/;
50987 variable[11] = TAG_Bool(( variable[10] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
50988 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction791___action, LOCATE_parser, 29636); nit_exit(1);}
50989 variable[11] = variable[5] /*nodearraylist2*/;
50990 variable[12] = TAG_Bool(( variable[11] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
50991 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction791___action, LOCATE_parser, 29638); nit_exit(1);}
50992 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[11] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
50993 if (UNTAG_Bool(variable[12])) { /*if*/
50994 variable[12] = ((array___AbstractArray___is_empty_t)CALL( variable[7] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[7] /*listnode5*/) /*AbstractArray::is_empty*/;
50995 if (UNTAG_Bool(variable[12])) { /*if*/
50996 variable[7] = variable[11] /*listnode4*/ /*listnode5=*/;
50997 } else { /*if*/
50998 ((abstract_collection___IndexedCollection___append_t)CALL( variable[7] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[7] /*listnode5*/, variable[11] /*listnode4*/) /*IndexedCollection::append*/;
50999 }
51000 }
51001 variable[12] = variable[4] /*nodearraylist3*/;
51002 variable[13] = TAG_Bool(( variable[12] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
51003 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction791___action, LOCATE_parser, 29647); nit_exit(1);}
51004 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode6*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode6*/,COLOR_kernel___Object_____eqeq))( variable[12] /*listnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
51005 if (UNTAG_Bool(variable[13])) { /*if*/
51006 variable[13] = ((array___AbstractArray___is_empty_t)CALL( variable[8] /*listnode7*/,COLOR_abstract_collection___Collection___is_empty))( variable[8] /*listnode7*/) /*AbstractArray::is_empty*/;
51007 if (UNTAG_Bool(variable[13])) { /*if*/
51008 variable[8] = variable[12] /*listnode6*/ /*listnode7=*/;
51009 } else { /*if*/
51010 ((abstract_collection___IndexedCollection___append_t)CALL( variable[8] /*listnode7*/,COLOR_abstract_collection___IndexedCollection___append))( variable[8] /*listnode7*/, variable[12] /*listnode6*/) /*IndexedCollection::append*/;
51011 }
51012 }
51013 variable[14] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[9] /*pexprnode2*/, variable[10] /*tidnode3*/, variable[7] /*listnode5*/, variable[8] /*listnode7*/); /*new ACallExpr*/
51014 variable[13] = variable[14];
51015 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
51016 variable[14] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(118)) /*Parser::go_to*/;
51017 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
51018 return_label1614: while(false);
51019 tracehead = trace.prev;
51020 return;
51021 }
51022 void parser___ReduceAction791___init(val_t self, int* init_table) {
51023 struct trace_t trace = {NULL, NULL, 29664, LOCATE_parser___ReduceAction791___init};
51024 val_t variable[2];
51025 void **closurevariable = NULL;
51026 trace.prev = tracehead; tracehead = &trace;
51027 trace.file = LOCATE_parser;
51028 variable[0] = self;
51029 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction791].i]) return;
51030 return_label1615: while(false);
51031 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction791].i] = 1;
51032 tracehead = trace.prev;
51033 return;
51034 }
51035 void parser___ReduceAction792___action(val_t self, val_t param0) {
51036 struct trace_t trace = {NULL, NULL, 29668, LOCATE_parser___ReduceAction792___action};
51037 val_t variable[7];
51038 void **closurevariable = NULL;
51039 trace.prev = tracehead; tracehead = &trace;
51040 trace.file = LOCATE_parser;
51041 variable[0] = self;
51042 variable[1] = param0;
51043 variable[3] = NIT_NULL /*null*/;
51044 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
51045 variable[4] = variable[5];
51046 variable[5] = variable[4] /*nodearraylist1*/;
51047 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
51048 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction792___action, LOCATE_parser, 29673); nit_exit(1);}
51049 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
51050 variable[6] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(119)) /*Parser::go_to*/;
51051 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
51052 return_label1616: while(false);
51053 tracehead = trace.prev;
51054 return;
51055 }
51056 void parser___ReduceAction792___init(val_t self, int* init_table) {
51057 struct trace_t trace = {NULL, NULL, 29677, LOCATE_parser___ReduceAction792___init};
51058 val_t variable[2];
51059 void **closurevariable = NULL;
51060 trace.prev = tracehead; tracehead = &trace;
51061 trace.file = LOCATE_parser;
51062 variable[0] = self;
51063 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction792].i]) return;
51064 return_label1617: while(false);
51065 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction792].i] = 1;
51066 tracehead = trace.prev;
51067 return;
51068 }
51069 void parser___ReduceAction793___action(val_t self, val_t param0) {
51070 struct trace_t trace = {NULL, NULL, 29681, LOCATE_parser___ReduceAction793___action};
51071 val_t variable[18];
51072 void **closurevariable = NULL;
51073 trace.prev = tracehead; tracehead = &trace;
51074 trace.file = LOCATE_parser;
51075 variable[0] = self;
51076 variable[1] = param0;
51077 variable[3] = NIT_NULL /*null*/;
51078 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
51079 variable[4] = variable[5];
51080 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
51081 variable[5] = variable[6];
51082 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
51083 variable[6] = variable[7];
51084 variable[8] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
51085 variable[7] = variable[8];
51086 variable[9] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
51087 variable[8] = variable[9];
51088 variable[10] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
51089 variable[9] = variable[10];
51090 variable[11] = NEW_Array_array___Array___init(); /*new Array[Object]*/
51091 variable[10] = variable[11];
51092 variable[12] = NEW_Array_array___Array___init(); /*new Array[Object]*/
51093 variable[11] = variable[12];
51094 variable[12] = variable[9] /*nodearraylist1*/;
51095 variable[13] = TAG_Bool(( variable[12] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
51096 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction793___action, LOCATE_parser, 29693); nit_exit(1);}
51097 variable[13] = variable[6] /*nodearraylist4*/;
51098 variable[14] = TAG_Bool(( variable[13] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
51099 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction793___action, LOCATE_parser, 29695); nit_exit(1);}
51100 variable[14] = variable[5] /*nodearraylist5*/;
51101 variable[15] = TAG_Bool(( variable[14] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
51102 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction793___action, LOCATE_parser, 29697); nit_exit(1);}
51103 variable[15] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[14] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[14] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[14] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[14] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
51104 if (UNTAG_Bool(variable[15])) { /*if*/
51105 variable[15] = ((array___AbstractArray___is_empty_t)CALL( variable[10] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[10] /*listnode5*/) /*AbstractArray::is_empty*/;
51106 if (UNTAG_Bool(variable[15])) { /*if*/
51107 variable[10] = variable[14] /*listnode4*/ /*listnode5=*/;
51108 } else { /*if*/
51109 ((abstract_collection___IndexedCollection___append_t)CALL( variable[10] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[10] /*listnode5*/, variable[14] /*listnode4*/) /*IndexedCollection::append*/;
51110 }
51111 }
51112 variable[15] = variable[4] /*nodearraylist6*/;
51113 variable[16] = TAG_Bool(( variable[15] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
51114 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction793___action, LOCATE_parser, 29706); nit_exit(1);}
51115 variable[16] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*listnode6*/ == NIT_NULL /*null*/) || (( variable[15] /*listnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[15] /*listnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*listnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[15] /*listnode6*/,COLOR_kernel___Object_____eqeq))( variable[15] /*listnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
51116 if (UNTAG_Bool(variable[16])) { /*if*/
51117 variable[16] = ((array___AbstractArray___is_empty_t)CALL( variable[11] /*listnode7*/,COLOR_abstract_collection___Collection___is_empty))( variable[11] /*listnode7*/) /*AbstractArray::is_empty*/;
51118 if (UNTAG_Bool(variable[16])) { /*if*/
51119 variable[11] = variable[15] /*listnode6*/ /*listnode7=*/;
51120 } else { /*if*/
51121 ((abstract_collection___IndexedCollection___append_t)CALL( variable[11] /*listnode7*/,COLOR_abstract_collection___IndexedCollection___append))( variable[11] /*listnode7*/, variable[15] /*listnode6*/) /*IndexedCollection::append*/;
51122 }
51123 }
51124 variable[17] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[12] /*pexprnode2*/, variable[13] /*tidnode3*/, variable[10] /*listnode5*/, variable[11] /*listnode7*/); /*new ACallExpr*/
51125 variable[16] = variable[17];
51126 variable[3] = variable[16] /*pexprnode1*/ /*node_list=*/;
51127 variable[17] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(119)) /*Parser::go_to*/;
51128 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
51129 return_label1618: while(false);
51130 tracehead = trace.prev;
51131 return;
51132 }
51133 void parser___ReduceAction793___init(val_t self, int* init_table) {
51134 struct trace_t trace = {NULL, NULL, 29723, LOCATE_parser___ReduceAction793___init};
51135 val_t variable[2];
51136 void **closurevariable = NULL;
51137 trace.prev = tracehead; tracehead = &trace;
51138 trace.file = LOCATE_parser;
51139 variable[0] = self;
51140 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction793].i]) return;
51141 return_label1619: while(false);
51142 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction793].i] = 1;
51143 tracehead = trace.prev;
51144 return;
51145 }
51146 void parser___ReduceAction794___action(val_t self, val_t param0) {
51147 struct trace_t trace = {NULL, NULL, 29727, LOCATE_parser___ReduceAction794___action};
51148 val_t variable[15];
51149 void **closurevariable = NULL;
51150 trace.prev = tracehead; tracehead = &trace;
51151 trace.file = LOCATE_parser;
51152 variable[0] = self;
51153 variable[1] = param0;
51154 variable[3] = NIT_NULL /*null*/;
51155 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
51156 variable[4] = variable[5];
51157 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
51158 variable[5] = variable[6];
51159 variable[7] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
51160 variable[6] = variable[7];
51161 variable[8] = NEW_Array_array___Array___init(); /*new Array[Object]*/
51162 variable[7] = variable[8];
51163 variable[9] = NEW_Array_array___Array___init(); /*new Array[Object]*/
51164 variable[8] = variable[9];
51165 variable[10] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
51166 variable[9] = variable[10];
51167 variable[10] = variable[6] /*nodearraylist1*/;
51168 variable[11] = TAG_Bool(( variable[10] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
51169 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction794___action, LOCATE_parser, 29738); nit_exit(1);}
51170 variable[11] = variable[5] /*nodearraylist2*/;
51171 variable[12] = TAG_Bool(( variable[11] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
51172 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction794___action, LOCATE_parser, 29740); nit_exit(1);}
51173 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*listnode4*/ == NIT_NULL /*null*/) || (( variable[11] /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[11] /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable[11] /*listnode4*/, NIT_NULL /*null*/) /*Object::==*/)))))));
51174 if (UNTAG_Bool(variable[12])) { /*if*/
51175 variable[12] = ((array___AbstractArray___is_empty_t)CALL( variable[7] /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable[7] /*listnode5*/) /*AbstractArray::is_empty*/;
51176 if (UNTAG_Bool(variable[12])) { /*if*/
51177 variable[7] = variable[11] /*listnode4*/ /*listnode5=*/;
51178 } else { /*if*/
51179 ((abstract_collection___IndexedCollection___append_t)CALL( variable[7] /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable[7] /*listnode5*/, variable[11] /*listnode4*/) /*IndexedCollection::append*/;
51180 }
51181 }
51182 variable[12] = variable[4] /*nodearraylist3*/;
51183 variable[13] = TAG_Bool(( variable[12] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
51184 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction794___action, LOCATE_parser, 29749); nit_exit(1);}
51185 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[12] /*listnode6*/ == NIT_NULL /*null*/) || (( variable[12] /*listnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[12] /*listnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[12] /*listnode6*/,COLOR_kernel___Object_____eqeq))( variable[12] /*listnode6*/, NIT_NULL /*null*/) /*Object::==*/)))))));
51186 if (UNTAG_Bool(variable[13])) { /*if*/
51187 variable[13] = ((array___AbstractArray___is_empty_t)CALL( variable[8] /*listnode7*/,COLOR_abstract_collection___Collection___is_empty))( variable[8] /*listnode7*/) /*AbstractArray::is_empty*/;
51188 if (UNTAG_Bool(variable[13])) { /*if*/
51189 variable[8] = variable[12] /*listnode6*/ /*listnode7=*/;
51190 } else { /*if*/
51191 ((abstract_collection___IndexedCollection___append_t)CALL( variable[8] /*listnode7*/,COLOR_abstract_collection___IndexedCollection___append))( variable[8] /*listnode7*/, variable[12] /*listnode6*/) /*IndexedCollection::append*/;
51192 }
51193 }
51194 variable[14] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[9] /*pexprnode2*/, variable[10] /*tidnode3*/, variable[7] /*listnode5*/, variable[8] /*listnode7*/); /*new ACallExpr*/
51195 variable[13] = variable[14];
51196 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
51197 variable[14] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(119)) /*Parser::go_to*/;
51198 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
51199 return_label1620: while(false);
51200 tracehead = trace.prev;
51201 return;
51202 }
51203 void parser___ReduceAction794___init(val_t self, int* init_table) {
51204 struct trace_t trace = {NULL, NULL, 29766, LOCATE_parser___ReduceAction794___init};
51205 val_t variable[2];
51206 void **closurevariable = NULL;
51207 trace.prev = tracehead; tracehead = &trace;
51208 trace.file = LOCATE_parser;
51209 variable[0] = self;
51210 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction794].i]) return;
51211 return_label1621: while(false);
51212 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction794].i] = 1;
51213 tracehead = trace.prev;
51214 return;
51215 }
51216 void parser___ReduceAction795___action(val_t self, val_t param0) {
51217 struct trace_t trace = {NULL, NULL, 29770, LOCATE_parser___ReduceAction795___action};
51218 val_t variable[8];
51219 void **closurevariable = NULL;
51220 trace.prev = tracehead; tracehead = &trace;
51221 trace.file = LOCATE_parser;
51222 variable[0] = self;
51223 variable[1] = param0;
51224 variable[3] = NIT_NULL /*null*/;
51225 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
51226 variable[4] = variable[5];
51227 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
51228 variable[5] = variable[6];
51229 variable[6] = variable[4] /*nodearraylist1*/;
51230 variable[7] = TAG_Bool(( variable[6] /*pimportnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*pimportnode1*/, COLOR_PImport, ID_PImport)) /*cast PImport*/;
51231 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction795___action, LOCATE_parser, 29776); nit_exit(1);}
51232 variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[6] /*pimportnode1*/ == NIT_NULL /*null*/) || (( variable[6] /*pimportnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[6] /*pimportnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*pimportnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[6] /*pimportnode1*/,COLOR_kernel___Object_____eqeq))( variable[6] /*pimportnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
51233 if (UNTAG_Bool(variable[7])) { /*if*/
51234 ((array___AbstractArray___add_t)CALL( variable[5] /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable[5] /*listnode2*/, variable[6] /*pimportnode1*/) /*AbstractArray::add*/;
51235 }
51236 variable[3] = variable[5] /*listnode2*/ /*node_list=*/;
51237 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(120)) /*Parser::go_to*/;
51238 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
51239 return_label1622: while(false);
51240 tracehead = trace.prev;
51241 return;
51242 }
51243 void parser___ReduceAction795___init(val_t self, int* init_table) {
51244 struct trace_t trace = {NULL, NULL, 29783, LOCATE_parser___ReduceAction795___init};
51245 val_t variable[2];
51246 void **closurevariable = NULL;
51247 trace.prev = tracehead; tracehead = &trace;
51248 trace.file = LOCATE_parser;
51249 variable[0] = self;
51250 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction795].i]) return;
51251 return_label1623: while(false);
51252 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction795].i] = 1;
51253 tracehead = trace.prev;
51254 return;
51255 }
51256 void parser___ReduceAction796___action(val_t self, val_t param0) {
51257 struct trace_t trace = {NULL, NULL, 29787, LOCATE_parser___ReduceAction796___action};
51258 val_t variable[10];
51259 void **closurevariable = NULL;
51260 trace.prev = tracehead; tracehead = &trace;
51261 trace.file = LOCATE_parser;
51262 variable[0] = self;
51263 variable[1] = param0;
51264 variable[3] = NIT_NULL /*null*/;
51265 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
51266 variable[4] = variable[5];
51267 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
51268 variable[5] = variable[6];
51269 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
51270 variable[6] = variable[7];
51271 variable[7] = variable[5] /*nodearraylist1*/;
51272 variable[8] = TAG_Bool(( variable[7] /*listnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
51273 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction796___action, LOCATE_parser, 29794); nit_exit(1);}
51274 variable[8] = variable[4] /*nodearraylist2*/;
51275 variable[9] = TAG_Bool(( variable[8] /*pimportnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pimportnode2*/, COLOR_PImport, ID_PImport)) /*cast PImport*/;
51276 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction796___action, LOCATE_parser, 29796); nit_exit(1);}
51277 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[7] /*listnode1*/ == NIT_NULL /*null*/) || (( variable[7] /*listnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[7] /*listnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[7] /*listnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[7] /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable[7] /*listnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
51278 if (UNTAG_Bool(variable[9])) { /*if*/
51279 variable[9] = ((array___AbstractArray___is_empty_t)CALL( variable[6] /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable[6] /*listnode3*/) /*AbstractArray::is_empty*/;
51280 if (UNTAG_Bool(variable[9])) { /*if*/
51281 variable[6] = variable[7] /*listnode1*/ /*listnode3=*/;
51282 } else { /*if*/
51283 ((abstract_collection___IndexedCollection___append_t)CALL( variable[6] /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable[6] /*listnode3*/, variable[7] /*listnode1*/) /*IndexedCollection::append*/;
51284 }
51285 }
51286 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*pimportnode2*/ == NIT_NULL /*null*/) || (( variable[8] /*pimportnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[8] /*pimportnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*pimportnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[8] /*pimportnode2*/,COLOR_kernel___Object_____eqeq))( variable[8] /*pimportnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
51287 if (UNTAG_Bool(variable[9])) { /*if*/
51288 ((array___AbstractArray___add_t)CALL( variable[6] /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable[6] /*listnode3*/, variable[8] /*pimportnode2*/) /*AbstractArray::add*/;
51289 }
51290 variable[3] = variable[6] /*listnode3*/ /*node_list=*/;
51291 variable[9] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(120)) /*Parser::go_to*/;
51292 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
51293 return_label1624: while(false);
51294 tracehead = trace.prev;
51295 return;
51296 }
51297 void parser___ReduceAction796___init(val_t self, int* init_table) {
51298 struct trace_t trace = {NULL, NULL, 29810, LOCATE_parser___ReduceAction796___init};
51299 val_t variable[2];
51300 void **closurevariable = NULL;
51301 trace.prev = tracehead; tracehead = &trace;
51302 trace.file = LOCATE_parser;
51303 variable[0] = self;
51304 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction796].i]) return;
51305 return_label1625: while(false);
51306 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction796].i] = 1;
51307 tracehead = trace.prev;
51308 return;
51309 }
51310 void parser___ReduceAction797___action(val_t self, val_t param0) {
51311 struct trace_t trace = {NULL, NULL, 29814, LOCATE_parser___ReduceAction797___action};
51312 val_t variable[8];
51313 void **closurevariable = NULL;
51314 trace.prev = tracehead; tracehead = &trace;
51315 trace.file = LOCATE_parser;
51316 variable[0] = self;
51317 variable[1] = param0;
51318 variable[3] = NIT_NULL /*null*/;
51319 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
51320 variable[4] = variable[5];
51321 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
51322 variable[5] = variable[6];
51323 variable[6] = variable[4] /*nodearraylist1*/;
51324 variable[7] = TAG_Bool(( variable[6] /*pclassdefnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*pclassdefnode1*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
51325 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction797___action, LOCATE_parser, 29820); nit_exit(1);}
51326 variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[6] /*pclassdefnode1*/ == NIT_NULL /*null*/) || (( variable[6] /*pclassdefnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[6] /*pclassdefnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*pclassdefnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[6] /*pclassdefnode1*/,COLOR_kernel___Object_____eqeq))( variable[6] /*pclassdefnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
51327 if (UNTAG_Bool(variable[7])) { /*if*/
51328 ((array___AbstractArray___add_t)CALL( variable[5] /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable[5] /*listnode2*/, variable[6] /*pclassdefnode1*/) /*AbstractArray::add*/;
51329 }
51330 variable[3] = variable[5] /*listnode2*/ /*node_list=*/;
51331 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(121)) /*Parser::go_to*/;
51332 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
51333 return_label1626: while(false);
51334 tracehead = trace.prev;
51335 return;
51336 }
51337 void parser___ReduceAction797___init(val_t self, int* init_table) {
51338 struct trace_t trace = {NULL, NULL, 29827, LOCATE_parser___ReduceAction797___init};
51339 val_t variable[2];
51340 void **closurevariable = NULL;
51341 trace.prev = tracehead; tracehead = &trace;
51342 trace.file = LOCATE_parser;
51343 variable[0] = self;
51344 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction797].i]) return;
51345 return_label1627: while(false);
51346 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction797].i] = 1;
51347 tracehead = trace.prev;
51348 return;
51349 }
51350 void parser___ReduceAction798___action(val_t self, val_t param0) {
51351 struct trace_t trace = {NULL, NULL, 29831, LOCATE_parser___ReduceAction798___action};
51352 val_t variable[10];
51353 void **closurevariable = NULL;
51354 trace.prev = tracehead; tracehead = &trace;
51355 trace.file = LOCATE_parser;
51356 variable[0] = self;
51357 variable[1] = param0;
51358 variable[3] = NIT_NULL /*null*/;
51359 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
51360 variable[4] = variable[5];
51361 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
51362 variable[5] = variable[6];
51363 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
51364 variable[6] = variable[7];
51365 variable[7] = variable[5] /*nodearraylist1*/;
51366 variable[8] = TAG_Bool(( variable[7] /*listnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
51367 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction798___action, LOCATE_parser, 29838); nit_exit(1);}
51368 variable[8] = variable[4] /*nodearraylist2*/;
51369 variable[9] = TAG_Bool(( variable[8] /*pclassdefnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pclassdefnode2*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
51370 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction798___action, LOCATE_parser, 29840); nit_exit(1);}
51371 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[7] /*listnode1*/ == NIT_NULL /*null*/) || (( variable[7] /*listnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[7] /*listnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[7] /*listnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[7] /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable[7] /*listnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
51372 if (UNTAG_Bool(variable[9])) { /*if*/
51373 variable[9] = ((array___AbstractArray___is_empty_t)CALL( variable[6] /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable[6] /*listnode3*/) /*AbstractArray::is_empty*/;
51374 if (UNTAG_Bool(variable[9])) { /*if*/
51375 variable[6] = variable[7] /*listnode1*/ /*listnode3=*/;
51376 } else { /*if*/
51377 ((abstract_collection___IndexedCollection___append_t)CALL( variable[6] /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable[6] /*listnode3*/, variable[7] /*listnode1*/) /*IndexedCollection::append*/;
51378 }
51379 }
51380 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*pclassdefnode2*/ == NIT_NULL /*null*/) || (( variable[8] /*pclassdefnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[8] /*pclassdefnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*pclassdefnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[8] /*pclassdefnode2*/,COLOR_kernel___Object_____eqeq))( variable[8] /*pclassdefnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
51381 if (UNTAG_Bool(variable[9])) { /*if*/
51382 ((array___AbstractArray___add_t)CALL( variable[6] /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable[6] /*listnode3*/, variable[8] /*pclassdefnode2*/) /*AbstractArray::add*/;
51383 }
51384 variable[3] = variable[6] /*listnode3*/ /*node_list=*/;
51385 variable[9] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(121)) /*Parser::go_to*/;
51386 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
51387 return_label1628: while(false);
51388 tracehead = trace.prev;
51389 return;
51390 }
51391 void parser___ReduceAction798___init(val_t self, int* init_table) {
51392 struct trace_t trace = {NULL, NULL, 29854, LOCATE_parser___ReduceAction798___init};
51393 val_t variable[2];
51394 void **closurevariable = NULL;
51395 trace.prev = tracehead; tracehead = &trace;
51396 trace.file = LOCATE_parser;
51397 variable[0] = self;
51398 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction798].i]) return;
51399 return_label1629: while(false);
51400 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction798].i] = 1;
51401 tracehead = trace.prev;
51402 return;
51403 }
51404 void parser___ReduceAction799___action(val_t self, val_t param0) {
51405 struct trace_t trace = {NULL, NULL, 29858, LOCATE_parser___ReduceAction799___action};
51406 val_t variable[8];
51407 void **closurevariable = NULL;
51408 trace.prev = tracehead; tracehead = &trace;
51409 trace.file = LOCATE_parser;
51410 variable[0] = self;
51411 variable[1] = param0;
51412 variable[3] = NIT_NULL /*null*/;
51413 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
51414 variable[4] = variable[5];
51415 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
51416 variable[5] = variable[6];
51417 variable[6] = variable[4] /*nodearraylist1*/;
51418 variable[7] = TAG_Bool(( variable[6] /*psuperclassnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*psuperclassnode1*/, COLOR_PSuperclass, ID_PSuperclass)) /*cast PSuperclass*/;
51419 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction799___action, LOCATE_parser, 29864); nit_exit(1);}
51420 variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[6] /*psuperclassnode1*/ == NIT_NULL /*null*/) || (( variable[6] /*psuperclassnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[6] /*psuperclassnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*psuperclassnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[6] /*psuperclassnode1*/,COLOR_kernel___Object_____eqeq))( variable[6] /*psuperclassnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
51421 if (UNTAG_Bool(variable[7])) { /*if*/
51422 ((array___AbstractArray___add_t)CALL( variable[5] /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable[5] /*listnode2*/, variable[6] /*psuperclassnode1*/) /*AbstractArray::add*/;
51423 }
51424 variable[3] = variable[5] /*listnode2*/ /*node_list=*/;
51425 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(122)) /*Parser::go_to*/;
51426 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
51427 return_label1630: while(false);
51428 tracehead = trace.prev;
51429 return;
51430 }
51431 void parser___ReduceAction799___init(val_t self, int* init_table) {
51432 struct trace_t trace = {NULL, NULL, 29871, LOCATE_parser___ReduceAction799___init};
51433 val_t variable[2];
51434 void **closurevariable = NULL;
51435 trace.prev = tracehead; tracehead = &trace;
51436 trace.file = LOCATE_parser;
51437 variable[0] = self;
51438 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction799].i]) return;
51439 return_label1631: while(false);
51440 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction799].i] = 1;
51441 tracehead = trace.prev;
51442 return;
51443 }
51444 void parser___ReduceAction800___action(val_t self, val_t param0) {
51445 struct trace_t trace = {NULL, NULL, 29875, LOCATE_parser___ReduceAction800___action};
51446 val_t variable[10];
51447 void **closurevariable = NULL;
51448 trace.prev = tracehead; tracehead = &trace;
51449 trace.file = LOCATE_parser;
51450 variable[0] = self;
51451 variable[1] = param0;
51452 variable[3] = NIT_NULL /*null*/;
51453 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
51454 variable[4] = variable[5];
51455 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
51456 variable[5] = variable[6];
51457 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
51458 variable[6] = variable[7];
51459 variable[7] = variable[5] /*nodearraylist1*/;
51460 variable[8] = TAG_Bool(( variable[7] /*listnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
51461 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction800___action, LOCATE_parser, 29882); nit_exit(1);}
51462 variable[8] = variable[4] /*nodearraylist2*/;
51463 variable[9] = TAG_Bool(( variable[8] /*psuperclassnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*psuperclassnode2*/, COLOR_PSuperclass, ID_PSuperclass)) /*cast PSuperclass*/;
51464 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction800___action, LOCATE_parser, 29884); nit_exit(1);}
51465 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[7] /*listnode1*/ == NIT_NULL /*null*/) || (( variable[7] /*listnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[7] /*listnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[7] /*listnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[7] /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable[7] /*listnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
51466 if (UNTAG_Bool(variable[9])) { /*if*/
51467 variable[9] = ((array___AbstractArray___is_empty_t)CALL( variable[6] /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable[6] /*listnode3*/) /*AbstractArray::is_empty*/;
51468 if (UNTAG_Bool(variable[9])) { /*if*/
51469 variable[6] = variable[7] /*listnode1*/ /*listnode3=*/;
51470 } else { /*if*/
51471 ((abstract_collection___IndexedCollection___append_t)CALL( variable[6] /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable[6] /*listnode3*/, variable[7] /*listnode1*/) /*IndexedCollection::append*/;
51472 }
51473 }
51474 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*psuperclassnode2*/ == NIT_NULL /*null*/) || (( variable[8] /*psuperclassnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[8] /*psuperclassnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*psuperclassnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[8] /*psuperclassnode2*/,COLOR_kernel___Object_____eqeq))( variable[8] /*psuperclassnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
51475 if (UNTAG_Bool(variable[9])) { /*if*/
51476 ((array___AbstractArray___add_t)CALL( variable[6] /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable[6] /*listnode3*/, variable[8] /*psuperclassnode2*/) /*AbstractArray::add*/;
51477 }
51478 variable[3] = variable[6] /*listnode3*/ /*node_list=*/;
51479 variable[9] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(122)) /*Parser::go_to*/;
51480 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
51481 return_label1632: while(false);
51482 tracehead = trace.prev;
51483 return;
51484 }
51485 void parser___ReduceAction800___init(val_t self, int* init_table) {
51486 struct trace_t trace = {NULL, NULL, 29898, LOCATE_parser___ReduceAction800___init};
51487 val_t variable[2];
51488 void **closurevariable = NULL;
51489 trace.prev = tracehead; tracehead = &trace;
51490 trace.file = LOCATE_parser;
51491 variable[0] = self;
51492 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction800].i]) return;
51493 return_label1633: while(false);
51494 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction800].i] = 1;
51495 tracehead = trace.prev;
51496 return;
51497 }
51498 void parser___ReduceAction801___action(val_t self, val_t param0) {
51499 struct trace_t trace = {NULL, NULL, 29902, LOCATE_parser___ReduceAction801___action};
51500 val_t variable[8];
51501 void **closurevariable = NULL;
51502 trace.prev = tracehead; tracehead = &trace;
51503 trace.file = LOCATE_parser;
51504 variable[0] = self;
51505 variable[1] = param0;
51506 variable[3] = NIT_NULL /*null*/;
51507 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
51508 variable[4] = variable[5];
51509 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
51510 variable[5] = variable[6];
51511 variable[6] = variable[4] /*nodearraylist1*/;
51512 variable[7] = TAG_Bool(( variable[6] /*pformaldefnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*pformaldefnode1*/, COLOR_PFormaldef, ID_PFormaldef)) /*cast PFormaldef*/;
51513 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction801___action, LOCATE_parser, 29908); nit_exit(1);}
51514 variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[6] /*pformaldefnode1*/ == NIT_NULL /*null*/) || (( variable[6] /*pformaldefnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[6] /*pformaldefnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*pformaldefnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[6] /*pformaldefnode1*/,COLOR_kernel___Object_____eqeq))( variable[6] /*pformaldefnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
51515 if (UNTAG_Bool(variable[7])) { /*if*/
51516 ((array___AbstractArray___add_t)CALL( variable[5] /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable[5] /*listnode2*/, variable[6] /*pformaldefnode1*/) /*AbstractArray::add*/;
51517 }
51518 variable[3] = variable[5] /*listnode2*/ /*node_list=*/;
51519 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(123)) /*Parser::go_to*/;
51520 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
51521 return_label1634: while(false);
51522 tracehead = trace.prev;
51523 return;
51524 }
51525 void parser___ReduceAction801___init(val_t self, int* init_table) {
51526 struct trace_t trace = {NULL, NULL, 29915, LOCATE_parser___ReduceAction801___init};
51527 val_t variable[2];
51528 void **closurevariable = NULL;
51529 trace.prev = tracehead; tracehead = &trace;
51530 trace.file = LOCATE_parser;
51531 variable[0] = self;
51532 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction801].i]) return;
51533 return_label1635: while(false);
51534 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction801].i] = 1;
51535 tracehead = trace.prev;
51536 return;
51537 }
51538 void parser___ReduceAction802___action(val_t self, val_t param0) {
51539 struct trace_t trace = {NULL, NULL, 29919, LOCATE_parser___ReduceAction802___action};
51540 val_t variable[10];
51541 void **closurevariable = NULL;
51542 trace.prev = tracehead; tracehead = &trace;
51543 trace.file = LOCATE_parser;
51544 variable[0] = self;
51545 variable[1] = param0;
51546 variable[3] = NIT_NULL /*null*/;
51547 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
51548 variable[4] = variable[5];
51549 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
51550 variable[5] = variable[6];
51551 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
51552 variable[6] = variable[7];
51553 variable[7] = variable[5] /*nodearraylist1*/;
51554 variable[8] = TAG_Bool(( variable[7] /*listnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
51555 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction802___action, LOCATE_parser, 29926); nit_exit(1);}
51556 variable[8] = variable[4] /*nodearraylist2*/;
51557 variable[9] = TAG_Bool(( variable[8] /*pformaldefnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pformaldefnode2*/, COLOR_PFormaldef, ID_PFormaldef)) /*cast PFormaldef*/;
51558 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction802___action, LOCATE_parser, 29928); nit_exit(1);}
51559 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[7] /*listnode1*/ == NIT_NULL /*null*/) || (( variable[7] /*listnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[7] /*listnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[7] /*listnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[7] /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable[7] /*listnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
51560 if (UNTAG_Bool(variable[9])) { /*if*/
51561 variable[9] = ((array___AbstractArray___is_empty_t)CALL( variable[6] /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable[6] /*listnode3*/) /*AbstractArray::is_empty*/;
51562 if (UNTAG_Bool(variable[9])) { /*if*/
51563 variable[6] = variable[7] /*listnode1*/ /*listnode3=*/;
51564 } else { /*if*/
51565 ((abstract_collection___IndexedCollection___append_t)CALL( variable[6] /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable[6] /*listnode3*/, variable[7] /*listnode1*/) /*IndexedCollection::append*/;
51566 }
51567 }
51568 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*pformaldefnode2*/ == NIT_NULL /*null*/) || (( variable[8] /*pformaldefnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[8] /*pformaldefnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*pformaldefnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[8] /*pformaldefnode2*/,COLOR_kernel___Object_____eqeq))( variable[8] /*pformaldefnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
51569 if (UNTAG_Bool(variable[9])) { /*if*/
51570 ((array___AbstractArray___add_t)CALL( variable[6] /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable[6] /*listnode3*/, variable[8] /*pformaldefnode2*/) /*AbstractArray::add*/;
51571 }
51572 variable[3] = variable[6] /*listnode3*/ /*node_list=*/;
51573 variable[9] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(123)) /*Parser::go_to*/;
51574 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
51575 return_label1636: while(false);
51576 tracehead = trace.prev;
51577 return;
51578 }
51579 void parser___ReduceAction802___init(val_t self, int* init_table) {
51580 struct trace_t trace = {NULL, NULL, 29942, LOCATE_parser___ReduceAction802___init};
51581 val_t variable[2];
51582 void **closurevariable = NULL;
51583 trace.prev = tracehead; tracehead = &trace;
51584 trace.file = LOCATE_parser;
51585 variable[0] = self;
51586 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction802].i]) return;
51587 return_label1637: while(false);
51588 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction802].i] = 1;
51589 tracehead = trace.prev;
51590 return;
51591 }
51592 void parser___ReduceAction803___action(val_t self, val_t param0) {
51593 struct trace_t trace = {NULL, NULL, 29946, LOCATE_parser___ReduceAction803___action};
51594 val_t variable[8];
51595 void **closurevariable = NULL;
51596 trace.prev = tracehead; tracehead = &trace;
51597 trace.file = LOCATE_parser;
51598 variable[0] = self;
51599 variable[1] = param0;
51600 variable[3] = NIT_NULL /*null*/;
51601 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
51602 variable[4] = variable[5];
51603 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
51604 variable[5] = variable[6];
51605 variable[6] = variable[4] /*nodearraylist1*/;
51606 variable[7] = TAG_Bool(( variable[6] /*ppropdefnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*ppropdefnode1*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
51607 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction803___action, LOCATE_parser, 29952); nit_exit(1);}
51608 variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[6] /*ppropdefnode1*/ == NIT_NULL /*null*/) || (( variable[6] /*ppropdefnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[6] /*ppropdefnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*ppropdefnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[6] /*ppropdefnode1*/,COLOR_kernel___Object_____eqeq))( variable[6] /*ppropdefnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
51609 if (UNTAG_Bool(variable[7])) { /*if*/
51610 ((array___AbstractArray___add_t)CALL( variable[5] /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable[5] /*listnode2*/, variable[6] /*ppropdefnode1*/) /*AbstractArray::add*/;
51611 }
51612 variable[3] = variable[5] /*listnode2*/ /*node_list=*/;
51613 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(124)) /*Parser::go_to*/;
51614 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
51615 return_label1638: while(false);
51616 tracehead = trace.prev;
51617 return;
51618 }
51619 void parser___ReduceAction803___init(val_t self, int* init_table) {
51620 struct trace_t trace = {NULL, NULL, 29959, LOCATE_parser___ReduceAction803___init};
51621 val_t variable[2];
51622 void **closurevariable = NULL;
51623 trace.prev = tracehead; tracehead = &trace;
51624 trace.file = LOCATE_parser;
51625 variable[0] = self;
51626 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction803].i]) return;
51627 return_label1639: while(false);
51628 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction803].i] = 1;
51629 tracehead = trace.prev;
51630 return;
51631 }
51632 void parser___ReduceAction804___action(val_t self, val_t param0) {
51633 struct trace_t trace = {NULL, NULL, 29963, LOCATE_parser___ReduceAction804___action};
51634 val_t variable[10];
51635 void **closurevariable = NULL;
51636 trace.prev = tracehead; tracehead = &trace;
51637 trace.file = LOCATE_parser;
51638 variable[0] = self;
51639 variable[1] = param0;
51640 variable[3] = NIT_NULL /*null*/;
51641 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
51642 variable[4] = variable[5];
51643 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
51644 variable[5] = variable[6];
51645 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
51646 variable[6] = variable[7];
51647 variable[7] = variable[5] /*nodearraylist1*/;
51648 variable[8] = TAG_Bool(( variable[7] /*listnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
51649 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction804___action, LOCATE_parser, 29970); nit_exit(1);}
51650 variable[8] = variable[4] /*nodearraylist2*/;
51651 variable[9] = TAG_Bool(( variable[8] /*ppropdefnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*ppropdefnode2*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
51652 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction804___action, LOCATE_parser, 29972); nit_exit(1);}
51653 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[7] /*listnode1*/ == NIT_NULL /*null*/) || (( variable[7] /*listnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[7] /*listnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[7] /*listnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[7] /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable[7] /*listnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
51654 if (UNTAG_Bool(variable[9])) { /*if*/
51655 variable[9] = ((array___AbstractArray___is_empty_t)CALL( variable[6] /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable[6] /*listnode3*/) /*AbstractArray::is_empty*/;
51656 if (UNTAG_Bool(variable[9])) { /*if*/
51657 variable[6] = variable[7] /*listnode1*/ /*listnode3=*/;
51658 } else { /*if*/
51659 ((abstract_collection___IndexedCollection___append_t)CALL( variable[6] /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable[6] /*listnode3*/, variable[7] /*listnode1*/) /*IndexedCollection::append*/;
51660 }
51661 }
51662 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*ppropdefnode2*/ == NIT_NULL /*null*/) || (( variable[8] /*ppropdefnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[8] /*ppropdefnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*ppropdefnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[8] /*ppropdefnode2*/,COLOR_kernel___Object_____eqeq))( variable[8] /*ppropdefnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
51663 if (UNTAG_Bool(variable[9])) { /*if*/
51664 ((array___AbstractArray___add_t)CALL( variable[6] /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable[6] /*listnode3*/, variable[8] /*ppropdefnode2*/) /*AbstractArray::add*/;
51665 }
51666 variable[3] = variable[6] /*listnode3*/ /*node_list=*/;
51667 variable[9] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(124)) /*Parser::go_to*/;
51668 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
51669 return_label1640: while(false);
51670 tracehead = trace.prev;
51671 return;
51672 }
51673 void parser___ReduceAction804___init(val_t self, int* init_table) {
51674 struct trace_t trace = {NULL, NULL, 29986, LOCATE_parser___ReduceAction804___init};
51675 val_t variable[2];
51676 void **closurevariable = NULL;
51677 trace.prev = tracehead; tracehead = &trace;
51678 trace.file = LOCATE_parser;
51679 variable[0] = self;
51680 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction804].i]) return;
51681 return_label1641: while(false);
51682 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction804].i] = 1;
51683 tracehead = trace.prev;
51684 return;
51685 }
51686 void parser___ReduceAction805___action(val_t self, val_t param0) {
51687 struct trace_t trace = {NULL, NULL, 29990, LOCATE_parser___ReduceAction805___action};
51688 val_t variable[8];
51689 void **closurevariable = NULL;
51690 trace.prev = tracehead; tracehead = &trace;
51691 trace.file = LOCATE_parser;
51692 variable[0] = self;
51693 variable[1] = param0;
51694 variable[3] = NIT_NULL /*null*/;
51695 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
51696 variable[4] = variable[5];
51697 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
51698 variable[5] = variable[6];
51699 variable[6] = variable[4] /*nodearraylist1*/;
51700 variable[7] = TAG_Bool(( variable[6] /*ppropdefnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*ppropdefnode1*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
51701 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction805___action, LOCATE_parser, 29996); nit_exit(1);}
51702 variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[6] /*ppropdefnode1*/ == NIT_NULL /*null*/) || (( variable[6] /*ppropdefnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[6] /*ppropdefnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*ppropdefnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[6] /*ppropdefnode1*/,COLOR_kernel___Object_____eqeq))( variable[6] /*ppropdefnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
51703 if (UNTAG_Bool(variable[7])) { /*if*/
51704 ((array___AbstractArray___add_t)CALL( variable[5] /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable[5] /*listnode2*/, variable[6] /*ppropdefnode1*/) /*AbstractArray::add*/;
51705 }
51706 variable[3] = variable[5] /*listnode2*/ /*node_list=*/;
51707 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(125)) /*Parser::go_to*/;
51708 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
51709 return_label1642: while(false);
51710 tracehead = trace.prev;
51711 return;
51712 }
51713 void parser___ReduceAction805___init(val_t self, int* init_table) {
51714 struct trace_t trace = {NULL, NULL, 30003, LOCATE_parser___ReduceAction805___init};
51715 val_t variable[2];
51716 void **closurevariable = NULL;
51717 trace.prev = tracehead; tracehead = &trace;
51718 trace.file = LOCATE_parser;
51719 variable[0] = self;
51720 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction805].i]) return;
51721 return_label1643: while(false);
51722 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction805].i] = 1;
51723 tracehead = trace.prev;
51724 return;
51725 }
51726 void parser___ReduceAction806___action(val_t self, val_t param0) {
51727 struct trace_t trace = {NULL, NULL, 30007, LOCATE_parser___ReduceAction806___action};
51728 val_t variable[10];
51729 void **closurevariable = NULL;
51730 trace.prev = tracehead; tracehead = &trace;
51731 trace.file = LOCATE_parser;
51732 variable[0] = self;
51733 variable[1] = param0;
51734 variable[3] = NIT_NULL /*null*/;
51735 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
51736 variable[4] = variable[5];
51737 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
51738 variable[5] = variable[6];
51739 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
51740 variable[6] = variable[7];
51741 variable[7] = variable[5] /*nodearraylist1*/;
51742 variable[8] = TAG_Bool(( variable[7] /*listnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
51743 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction806___action, LOCATE_parser, 30014); nit_exit(1);}
51744 variable[8] = variable[4] /*nodearraylist2*/;
51745 variable[9] = TAG_Bool(( variable[8] /*ppropdefnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*ppropdefnode2*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
51746 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction806___action, LOCATE_parser, 30016); nit_exit(1);}
51747 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[7] /*listnode1*/ == NIT_NULL /*null*/) || (( variable[7] /*listnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[7] /*listnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[7] /*listnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[7] /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable[7] /*listnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
51748 if (UNTAG_Bool(variable[9])) { /*if*/
51749 variable[9] = ((array___AbstractArray___is_empty_t)CALL( variable[6] /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable[6] /*listnode3*/) /*AbstractArray::is_empty*/;
51750 if (UNTAG_Bool(variable[9])) { /*if*/
51751 variable[6] = variable[7] /*listnode1*/ /*listnode3=*/;
51752 } else { /*if*/
51753 ((abstract_collection___IndexedCollection___append_t)CALL( variable[6] /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable[6] /*listnode3*/, variable[7] /*listnode1*/) /*IndexedCollection::append*/;
51754 }
51755 }
51756 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*ppropdefnode2*/ == NIT_NULL /*null*/) || (( variable[8] /*ppropdefnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[8] /*ppropdefnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*ppropdefnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[8] /*ppropdefnode2*/,COLOR_kernel___Object_____eqeq))( variable[8] /*ppropdefnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
51757 if (UNTAG_Bool(variable[9])) { /*if*/
51758 ((array___AbstractArray___add_t)CALL( variable[6] /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable[6] /*listnode3*/, variable[8] /*ppropdefnode2*/) /*AbstractArray::add*/;
51759 }
51760 variable[3] = variable[6] /*listnode3*/ /*node_list=*/;
51761 variable[9] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(125)) /*Parser::go_to*/;
51762 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
51763 return_label1644: while(false);
51764 tracehead = trace.prev;
51765 return;
51766 }
51767 void parser___ReduceAction806___init(val_t self, int* init_table) {
51768 struct trace_t trace = {NULL, NULL, 30030, LOCATE_parser___ReduceAction806___init};
51769 val_t variable[2];
51770 void **closurevariable = NULL;
51771 trace.prev = tracehead; tracehead = &trace;
51772 trace.file = LOCATE_parser;
51773 variable[0] = self;
51774 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction806].i]) return;
51775 return_label1645: while(false);
51776 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction806].i] = 1;
51777 tracehead = trace.prev;
51778 return;
51779 }
51780 void parser___ReduceAction807___action(val_t self, val_t param0) {
51781 struct trace_t trace = {NULL, NULL, 30034, LOCATE_parser___ReduceAction807___action};
51782 val_t variable[8];
51783 void **closurevariable = NULL;
51784 trace.prev = tracehead; tracehead = &trace;
51785 trace.file = LOCATE_parser;
51786 variable[0] = self;
51787 variable[1] = param0;
51788 variable[3] = NIT_NULL /*null*/;
51789 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
51790 variable[4] = variable[5];
51791 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
51792 variable[5] = variable[6];
51793 variable[6] = variable[4] /*nodearraylist1*/;
51794 variable[7] = TAG_Bool(( variable[6] /*pclosuredeclnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*pclosuredeclnode1*/, COLOR_PClosureDecl, ID_PClosureDecl)) /*cast PClosureDecl*/;
51795 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction807___action, LOCATE_parser, 30040); nit_exit(1);}
51796 variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[6] /*pclosuredeclnode1*/ == NIT_NULL /*null*/) || (( variable[6] /*pclosuredeclnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[6] /*pclosuredeclnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*pclosuredeclnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[6] /*pclosuredeclnode1*/,COLOR_kernel___Object_____eqeq))( variable[6] /*pclosuredeclnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
51797 if (UNTAG_Bool(variable[7])) { /*if*/
51798 ((array___AbstractArray___add_t)CALL( variable[5] /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable[5] /*listnode2*/, variable[6] /*pclosuredeclnode1*/) /*AbstractArray::add*/;
51799 }
51800 variable[3] = variable[5] /*listnode2*/ /*node_list=*/;
51801 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(126)) /*Parser::go_to*/;
51802 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
51803 return_label1646: while(false);
51804 tracehead = trace.prev;
51805 return;
51806 }
51807 void parser___ReduceAction807___init(val_t self, int* init_table) {
51808 struct trace_t trace = {NULL, NULL, 30047, LOCATE_parser___ReduceAction807___init};
51809 val_t variable[2];
51810 void **closurevariable = NULL;
51811 trace.prev = tracehead; tracehead = &trace;
51812 trace.file = LOCATE_parser;
51813 variable[0] = self;
51814 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction807].i]) return;
51815 return_label1647: while(false);
51816 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction807].i] = 1;
51817 tracehead = trace.prev;
51818 return;
51819 }
51820 void parser___ReduceAction808___action(val_t self, val_t param0) {
51821 struct trace_t trace = {NULL, NULL, 30051, LOCATE_parser___ReduceAction808___action};
51822 val_t variable[10];
51823 void **closurevariable = NULL;
51824 trace.prev = tracehead; tracehead = &trace;
51825 trace.file = LOCATE_parser;
51826 variable[0] = self;
51827 variable[1] = param0;
51828 variable[3] = NIT_NULL /*null*/;
51829 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
51830 variable[4] = variable[5];
51831 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
51832 variable[5] = variable[6];
51833 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
51834 variable[6] = variable[7];
51835 variable[7] = variable[5] /*nodearraylist1*/;
51836 variable[8] = TAG_Bool(( variable[7] /*listnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
51837 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction808___action, LOCATE_parser, 30058); nit_exit(1);}
51838 variable[8] = variable[4] /*nodearraylist2*/;
51839 variable[9] = TAG_Bool(( variable[8] /*pclosuredeclnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pclosuredeclnode2*/, COLOR_PClosureDecl, ID_PClosureDecl)) /*cast PClosureDecl*/;
51840 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction808___action, LOCATE_parser, 30060); nit_exit(1);}
51841 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[7] /*listnode1*/ == NIT_NULL /*null*/) || (( variable[7] /*listnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[7] /*listnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[7] /*listnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[7] /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable[7] /*listnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
51842 if (UNTAG_Bool(variable[9])) { /*if*/
51843 variable[9] = ((array___AbstractArray___is_empty_t)CALL( variable[6] /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable[6] /*listnode3*/) /*AbstractArray::is_empty*/;
51844 if (UNTAG_Bool(variable[9])) { /*if*/
51845 variable[6] = variable[7] /*listnode1*/ /*listnode3=*/;
51846 } else { /*if*/
51847 ((abstract_collection___IndexedCollection___append_t)CALL( variable[6] /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable[6] /*listnode3*/, variable[7] /*listnode1*/) /*IndexedCollection::append*/;
51848 }
51849 }
51850 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*pclosuredeclnode2*/ == NIT_NULL /*null*/) || (( variable[8] /*pclosuredeclnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[8] /*pclosuredeclnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*pclosuredeclnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[8] /*pclosuredeclnode2*/,COLOR_kernel___Object_____eqeq))( variable[8] /*pclosuredeclnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
51851 if (UNTAG_Bool(variable[9])) { /*if*/
51852 ((array___AbstractArray___add_t)CALL( variable[6] /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable[6] /*listnode3*/, variable[8] /*pclosuredeclnode2*/) /*AbstractArray::add*/;
51853 }
51854 variable[3] = variable[6] /*listnode3*/ /*node_list=*/;
51855 variable[9] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(126)) /*Parser::go_to*/;
51856 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
51857 return_label1648: while(false);
51858 tracehead = trace.prev;
51859 return;
51860 }
51861 void parser___ReduceAction808___init(val_t self, int* init_table) {
51862 struct trace_t trace = {NULL, NULL, 30074, LOCATE_parser___ReduceAction808___init};
51863 val_t variable[2];
51864 void **closurevariable = NULL;
51865 trace.prev = tracehead; tracehead = &trace;
51866 trace.file = LOCATE_parser;
51867 variable[0] = self;
51868 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction808].i]) return;
51869 return_label1649: while(false);
51870 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction808].i] = 1;
51871 tracehead = trace.prev;
51872 return;
51873 }
51874 void parser___ReduceAction809___action(val_t self, val_t param0) {
51875 struct trace_t trace = {NULL, NULL, 30078, LOCATE_parser___ReduceAction809___action};
51876 val_t variable[8];
51877 void **closurevariable = NULL;
51878 trace.prev = tracehead; tracehead = &trace;
51879 trace.file = LOCATE_parser;
51880 variable[0] = self;
51881 variable[1] = param0;
51882 variable[3] = NIT_NULL /*null*/;
51883 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
51884 variable[4] = variable[5];
51885 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
51886 variable[5] = variable[6];
51887 variable[6] = variable[4] /*nodearraylist1*/;
51888 variable[7] = TAG_Bool(( variable[6] /*pparamnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*pparamnode1*/, COLOR_PParam, ID_PParam)) /*cast PParam*/;
51889 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction809___action, LOCATE_parser, 30084); nit_exit(1);}
51890 variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[6] /*pparamnode1*/ == NIT_NULL /*null*/) || (( variable[6] /*pparamnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[6] /*pparamnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*pparamnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[6] /*pparamnode1*/,COLOR_kernel___Object_____eqeq))( variable[6] /*pparamnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
51891 if (UNTAG_Bool(variable[7])) { /*if*/
51892 ((array___AbstractArray___add_t)CALL( variable[5] /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable[5] /*listnode2*/, variable[6] /*pparamnode1*/) /*AbstractArray::add*/;
51893 }
51894 variable[3] = variable[5] /*listnode2*/ /*node_list=*/;
51895 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(127)) /*Parser::go_to*/;
51896 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
51897 return_label1650: while(false);
51898 tracehead = trace.prev;
51899 return;
51900 }
51901 void parser___ReduceAction809___init(val_t self, int* init_table) {
51902 struct trace_t trace = {NULL, NULL, 30091, LOCATE_parser___ReduceAction809___init};
51903 val_t variable[2];
51904 void **closurevariable = NULL;
51905 trace.prev = tracehead; tracehead = &trace;
51906 trace.file = LOCATE_parser;
51907 variable[0] = self;
51908 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction809].i]) return;
51909 return_label1651: while(false);
51910 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction809].i] = 1;
51911 tracehead = trace.prev;
51912 return;
51913 }
51914 void parser___ReduceAction810___action(val_t self, val_t param0) {
51915 struct trace_t trace = {NULL, NULL, 30095, LOCATE_parser___ReduceAction810___action};
51916 val_t variable[10];
51917 void **closurevariable = NULL;
51918 trace.prev = tracehead; tracehead = &trace;
51919 trace.file = LOCATE_parser;
51920 variable[0] = self;
51921 variable[1] = param0;
51922 variable[3] = NIT_NULL /*null*/;
51923 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
51924 variable[4] = variable[5];
51925 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
51926 variable[5] = variable[6];
51927 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
51928 variable[6] = variable[7];
51929 variable[7] = variable[5] /*nodearraylist1*/;
51930 variable[8] = TAG_Bool(( variable[7] /*listnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
51931 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction810___action, LOCATE_parser, 30102); nit_exit(1);}
51932 variable[8] = variable[4] /*nodearraylist2*/;
51933 variable[9] = TAG_Bool(( variable[8] /*pparamnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pparamnode2*/, COLOR_PParam, ID_PParam)) /*cast PParam*/;
51934 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction810___action, LOCATE_parser, 30104); nit_exit(1);}
51935 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[7] /*listnode1*/ == NIT_NULL /*null*/) || (( variable[7] /*listnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[7] /*listnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[7] /*listnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[7] /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable[7] /*listnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
51936 if (UNTAG_Bool(variable[9])) { /*if*/
51937 variable[9] = ((array___AbstractArray___is_empty_t)CALL( variable[6] /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable[6] /*listnode3*/) /*AbstractArray::is_empty*/;
51938 if (UNTAG_Bool(variable[9])) { /*if*/
51939 variable[6] = variable[7] /*listnode1*/ /*listnode3=*/;
51940 } else { /*if*/
51941 ((abstract_collection___IndexedCollection___append_t)CALL( variable[6] /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable[6] /*listnode3*/, variable[7] /*listnode1*/) /*IndexedCollection::append*/;
51942 }
51943 }
51944 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*pparamnode2*/ == NIT_NULL /*null*/) || (( variable[8] /*pparamnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[8] /*pparamnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*pparamnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[8] /*pparamnode2*/,COLOR_kernel___Object_____eqeq))( variable[8] /*pparamnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
51945 if (UNTAG_Bool(variable[9])) { /*if*/
51946 ((array___AbstractArray___add_t)CALL( variable[6] /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable[6] /*listnode3*/, variable[8] /*pparamnode2*/) /*AbstractArray::add*/;
51947 }
51948 variable[3] = variable[6] /*listnode3*/ /*node_list=*/;
51949 variable[9] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(127)) /*Parser::go_to*/;
51950 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
51951 return_label1652: while(false);
51952 tracehead = trace.prev;
51953 return;
51954 }
51955 void parser___ReduceAction810___init(val_t self, int* init_table) {
51956 struct trace_t trace = {NULL, NULL, 30118, LOCATE_parser___ReduceAction810___init};
51957 val_t variable[2];
51958 void **closurevariable = NULL;
51959 trace.prev = tracehead; tracehead = &trace;
51960 trace.file = LOCATE_parser;
51961 variable[0] = self;
51962 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction810].i]) return;
51963 return_label1653: while(false);
51964 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction810].i] = 1;
51965 tracehead = trace.prev;
51966 return;
51967 }
51968 void parser___ReduceAction811___action(val_t self, val_t param0) {
51969 struct trace_t trace = {NULL, NULL, 30122, LOCATE_parser___ReduceAction811___action};
51970 val_t variable[8];
51971 void **closurevariable = NULL;
51972 trace.prev = tracehead; tracehead = &trace;
51973 trace.file = LOCATE_parser;
51974 variable[0] = self;
51975 variable[1] = param0;
51976 variable[3] = NIT_NULL /*null*/;
51977 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
51978 variable[4] = variable[5];
51979 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
51980 variable[5] = variable[6];
51981 variable[6] = variable[4] /*nodearraylist1*/;
51982 variable[7] = TAG_Bool(( variable[6] /*ptypenode1*/==NIT_NULL) || VAL_ISA( variable[6] /*ptypenode1*/, COLOR_PType, ID_PType)) /*cast PType*/;
51983 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction811___action, LOCATE_parser, 30128); nit_exit(1);}
51984 variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[6] /*ptypenode1*/ == NIT_NULL /*null*/) || (( variable[6] /*ptypenode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[6] /*ptypenode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*ptypenode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[6] /*ptypenode1*/,COLOR_kernel___Object_____eqeq))( variable[6] /*ptypenode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
51985 if (UNTAG_Bool(variable[7])) { /*if*/
51986 ((array___AbstractArray___add_t)CALL( variable[5] /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable[5] /*listnode2*/, variable[6] /*ptypenode1*/) /*AbstractArray::add*/;
51987 }
51988 variable[3] = variable[5] /*listnode2*/ /*node_list=*/;
51989 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(128)) /*Parser::go_to*/;
51990 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
51991 return_label1654: while(false);
51992 tracehead = trace.prev;
51993 return;
51994 }
51995 void parser___ReduceAction811___init(val_t self, int* init_table) {
51996 struct trace_t trace = {NULL, NULL, 30135, LOCATE_parser___ReduceAction811___init};
51997 val_t variable[2];
51998 void **closurevariable = NULL;
51999 trace.prev = tracehead; tracehead = &trace;
52000 trace.file = LOCATE_parser;
52001 variable[0] = self;
52002 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction811].i]) return;
52003 return_label1655: while(false);
52004 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction811].i] = 1;
52005 tracehead = trace.prev;
52006 return;
52007 }
52008 void parser___ReduceAction812___action(val_t self, val_t param0) {
52009 struct trace_t trace = {NULL, NULL, 30139, LOCATE_parser___ReduceAction812___action};
52010 val_t variable[10];
52011 void **closurevariable = NULL;
52012 trace.prev = tracehead; tracehead = &trace;
52013 trace.file = LOCATE_parser;
52014 variable[0] = self;
52015 variable[1] = param0;
52016 variable[3] = NIT_NULL /*null*/;
52017 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
52018 variable[4] = variable[5];
52019 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
52020 variable[5] = variable[6];
52021 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
52022 variable[6] = variable[7];
52023 variable[7] = variable[5] /*nodearraylist1*/;
52024 variable[8] = TAG_Bool(( variable[7] /*listnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
52025 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction812___action, LOCATE_parser, 30146); nit_exit(1);}
52026 variable[8] = variable[4] /*nodearraylist2*/;
52027 variable[9] = TAG_Bool(( variable[8] /*ptypenode2*/==NIT_NULL) || VAL_ISA( variable[8] /*ptypenode2*/, COLOR_PType, ID_PType)) /*cast PType*/;
52028 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction812___action, LOCATE_parser, 30148); nit_exit(1);}
52029 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[7] /*listnode1*/ == NIT_NULL /*null*/) || (( variable[7] /*listnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[7] /*listnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[7] /*listnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[7] /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable[7] /*listnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
52030 if (UNTAG_Bool(variable[9])) { /*if*/
52031 variable[9] = ((array___AbstractArray___is_empty_t)CALL( variable[6] /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable[6] /*listnode3*/) /*AbstractArray::is_empty*/;
52032 if (UNTAG_Bool(variable[9])) { /*if*/
52033 variable[6] = variable[7] /*listnode1*/ /*listnode3=*/;
52034 } else { /*if*/
52035 ((abstract_collection___IndexedCollection___append_t)CALL( variable[6] /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable[6] /*listnode3*/, variable[7] /*listnode1*/) /*IndexedCollection::append*/;
52036 }
52037 }
52038 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*ptypenode2*/ == NIT_NULL /*null*/) || (( variable[8] /*ptypenode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[8] /*ptypenode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*ptypenode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[8] /*ptypenode2*/,COLOR_kernel___Object_____eqeq))( variable[8] /*ptypenode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
52039 if (UNTAG_Bool(variable[9])) { /*if*/
52040 ((array___AbstractArray___add_t)CALL( variable[6] /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable[6] /*listnode3*/, variable[8] /*ptypenode2*/) /*AbstractArray::add*/;
52041 }
52042 variable[3] = variable[6] /*listnode3*/ /*node_list=*/;
52043 variable[9] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(128)) /*Parser::go_to*/;
52044 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
52045 return_label1656: while(false);
52046 tracehead = trace.prev;
52047 return;
52048 }
52049 void parser___ReduceAction812___init(val_t self, int* init_table) {
52050 struct trace_t trace = {NULL, NULL, 30162, LOCATE_parser___ReduceAction812___init};
52051 val_t variable[2];
52052 void **closurevariable = NULL;
52053 trace.prev = tracehead; tracehead = &trace;
52054 trace.file = LOCATE_parser;
52055 variable[0] = self;
52056 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction812].i]) return;
52057 return_label1657: while(false);
52058 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction812].i] = 1;
52059 tracehead = trace.prev;
52060 return;
52061 }
52062 void parser___ReduceAction813___action(val_t self, val_t param0) {
52063 struct trace_t trace = {NULL, NULL, 30166, LOCATE_parser___ReduceAction813___action};
52064 val_t variable[8];
52065 void **closurevariable = NULL;
52066 trace.prev = tracehead; tracehead = &trace;
52067 trace.file = LOCATE_parser;
52068 variable[0] = self;
52069 variable[1] = param0;
52070 variable[3] = NIT_NULL /*null*/;
52071 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
52072 variable[4] = variable[5];
52073 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
52074 variable[5] = variable[6];
52075 variable[6] = variable[4] /*nodearraylist1*/;
52076 variable[7] = TAG_Bool(( variable[6] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
52077 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction813___action, LOCATE_parser, 30172); nit_exit(1);}
52078 variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[6] /*pexprnode1*/ == NIT_NULL /*null*/) || (( variable[6] /*pexprnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[6] /*pexprnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[6] /*pexprnode1*/,COLOR_kernel___Object_____eqeq))( variable[6] /*pexprnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
52079 if (UNTAG_Bool(variable[7])) { /*if*/
52080 ((array___AbstractArray___add_t)CALL( variable[5] /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable[5] /*listnode2*/, variable[6] /*pexprnode1*/) /*AbstractArray::add*/;
52081 }
52082 variable[3] = variable[5] /*listnode2*/ /*node_list=*/;
52083 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(129)) /*Parser::go_to*/;
52084 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
52085 return_label1658: while(false);
52086 tracehead = trace.prev;
52087 return;
52088 }
52089 void parser___ReduceAction813___init(val_t self, int* init_table) {
52090 struct trace_t trace = {NULL, NULL, 30179, LOCATE_parser___ReduceAction813___init};
52091 val_t variable[2];
52092 void **closurevariable = NULL;
52093 trace.prev = tracehead; tracehead = &trace;
52094 trace.file = LOCATE_parser;
52095 variable[0] = self;
52096 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction813].i]) return;
52097 return_label1659: while(false);
52098 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction813].i] = 1;
52099 tracehead = trace.prev;
52100 return;
52101 }
52102 void parser___ReduceAction814___action(val_t self, val_t param0) {
52103 struct trace_t trace = {NULL, NULL, 30183, LOCATE_parser___ReduceAction814___action};
52104 val_t variable[10];
52105 void **closurevariable = NULL;
52106 trace.prev = tracehead; tracehead = &trace;
52107 trace.file = LOCATE_parser;
52108 variable[0] = self;
52109 variable[1] = param0;
52110 variable[3] = NIT_NULL /*null*/;
52111 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
52112 variable[4] = variable[5];
52113 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
52114 variable[5] = variable[6];
52115 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
52116 variable[6] = variable[7];
52117 variable[7] = variable[5] /*nodearraylist1*/;
52118 variable[8] = TAG_Bool(( variable[7] /*listnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
52119 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction814___action, LOCATE_parser, 30190); nit_exit(1);}
52120 variable[8] = variable[4] /*nodearraylist2*/;
52121 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
52122 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction814___action, LOCATE_parser, 30192); nit_exit(1);}
52123 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[7] /*listnode1*/ == NIT_NULL /*null*/) || (( variable[7] /*listnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[7] /*listnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[7] /*listnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[7] /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable[7] /*listnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
52124 if (UNTAG_Bool(variable[9])) { /*if*/
52125 variable[9] = ((array___AbstractArray___is_empty_t)CALL( variable[6] /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable[6] /*listnode3*/) /*AbstractArray::is_empty*/;
52126 if (UNTAG_Bool(variable[9])) { /*if*/
52127 variable[6] = variable[7] /*listnode1*/ /*listnode3=*/;
52128 } else { /*if*/
52129 ((abstract_collection___IndexedCollection___append_t)CALL( variable[6] /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable[6] /*listnode3*/, variable[7] /*listnode1*/) /*IndexedCollection::append*/;
52130 }
52131 }
52132 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*pexprnode2*/ == NIT_NULL /*null*/) || (( variable[8] /*pexprnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[8] /*pexprnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*pexprnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[8] /*pexprnode2*/,COLOR_kernel___Object_____eqeq))( variable[8] /*pexprnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
52133 if (UNTAG_Bool(variable[9])) { /*if*/
52134 ((array___AbstractArray___add_t)CALL( variable[6] /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable[6] /*listnode3*/, variable[8] /*pexprnode2*/) /*AbstractArray::add*/;
52135 }
52136 variable[3] = variable[6] /*listnode3*/ /*node_list=*/;
52137 variable[9] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(129)) /*Parser::go_to*/;
52138 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
52139 return_label1660: while(false);
52140 tracehead = trace.prev;
52141 return;
52142 }
52143 void parser___ReduceAction814___init(val_t self, int* init_table) {
52144 struct trace_t trace = {NULL, NULL, 30206, LOCATE_parser___ReduceAction814___init};
52145 val_t variable[2];
52146 void **closurevariable = NULL;
52147 trace.prev = tracehead; tracehead = &trace;
52148 trace.file = LOCATE_parser;
52149 variable[0] = self;
52150 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction814].i]) return;
52151 return_label1661: while(false);
52152 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction814].i] = 1;
52153 tracehead = trace.prev;
52154 return;
52155 }
52156 void parser___ReduceAction815___action(val_t self, val_t param0) {
52157 struct trace_t trace = {NULL, NULL, 30210, LOCATE_parser___ReduceAction815___action};
52158 val_t variable[8];
52159 void **closurevariable = NULL;
52160 trace.prev = tracehead; tracehead = &trace;
52161 trace.file = LOCATE_parser;
52162 variable[0] = self;
52163 variable[1] = param0;
52164 variable[3] = NIT_NULL /*null*/;
52165 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
52166 variable[4] = variable[5];
52167 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
52168 variable[5] = variable[6];
52169 variable[6] = variable[4] /*nodearraylist1*/;
52170 variable[7] = TAG_Bool(( variable[6] /*listnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
52171 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction815___action, LOCATE_parser, 30216); nit_exit(1);}
52172 variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[6] /*listnode1*/ == NIT_NULL /*null*/) || (( variable[6] /*listnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[6] /*listnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*listnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[6] /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable[6] /*listnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
52173 if (UNTAG_Bool(variable[7])) { /*if*/
52174 variable[7] = ((array___AbstractArray___is_empty_t)CALL( variable[5] /*listnode2*/,COLOR_abstract_collection___Collection___is_empty))( variable[5] /*listnode2*/) /*AbstractArray::is_empty*/;
52175 if (UNTAG_Bool(variable[7])) { /*if*/
52176 variable[5] = variable[6] /*listnode1*/ /*listnode2=*/;
52177 } else { /*if*/
52178 ((abstract_collection___IndexedCollection___append_t)CALL( variable[5] /*listnode2*/,COLOR_abstract_collection___IndexedCollection___append))( variable[5] /*listnode2*/, variable[6] /*listnode1*/) /*IndexedCollection::append*/;
52179 }
52180 }
52181 variable[3] = variable[5] /*listnode2*/ /*node_list=*/;
52182 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(130)) /*Parser::go_to*/;
52183 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
52184 return_label1662: while(false);
52185 tracehead = trace.prev;
52186 return;
52187 }
52188 void parser___ReduceAction815___init(val_t self, int* init_table) {
52189 struct trace_t trace = {NULL, NULL, 30227, LOCATE_parser___ReduceAction815___init};
52190 val_t variable[2];
52191 void **closurevariable = NULL;
52192 trace.prev = tracehead; tracehead = &trace;
52193 trace.file = LOCATE_parser;
52194 variable[0] = self;
52195 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction815].i]) return;
52196 return_label1663: while(false);
52197 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction815].i] = 1;
52198 tracehead = trace.prev;
52199 return;
52200 }
52201 void parser___ReduceAction816___action(val_t self, val_t param0) {
52202 struct trace_t trace = {NULL, NULL, 30231, LOCATE_parser___ReduceAction816___action};
52203 val_t variable[10];
52204 void **closurevariable = NULL;
52205 trace.prev = tracehead; tracehead = &trace;
52206 trace.file = LOCATE_parser;
52207 variable[0] = self;
52208 variable[1] = param0;
52209 variable[3] = NIT_NULL /*null*/;
52210 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
52211 variable[4] = variable[5];
52212 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
52213 variable[5] = variable[6];
52214 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
52215 variable[6] = variable[7];
52216 variable[7] = variable[5] /*nodearraylist1*/;
52217 variable[8] = TAG_Bool(( variable[7] /*listnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
52218 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction816___action, LOCATE_parser, 30238); nit_exit(1);}
52219 variable[8] = variable[4] /*nodearraylist2*/;
52220 variable[9] = TAG_Bool(( variable[8] /*listnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
52221 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction816___action, LOCATE_parser, 30240); nit_exit(1);}
52222 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[7] /*listnode1*/ == NIT_NULL /*null*/) || (( variable[7] /*listnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[7] /*listnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[7] /*listnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[7] /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable[7] /*listnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
52223 if (UNTAG_Bool(variable[9])) { /*if*/
52224 variable[9] = ((array___AbstractArray___is_empty_t)CALL( variable[6] /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable[6] /*listnode3*/) /*AbstractArray::is_empty*/;
52225 if (UNTAG_Bool(variable[9])) { /*if*/
52226 variable[6] = variable[7] /*listnode1*/ /*listnode3=*/;
52227 } else { /*if*/
52228 ((abstract_collection___IndexedCollection___append_t)CALL( variable[6] /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable[6] /*listnode3*/, variable[7] /*listnode1*/) /*IndexedCollection::append*/;
52229 }
52230 }
52231 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*listnode2*/ == NIT_NULL /*null*/) || (( variable[8] /*listnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[8] /*listnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*listnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[8] /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable[8] /*listnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
52232 if (UNTAG_Bool(variable[9])) { /*if*/
52233 variable[9] = ((array___AbstractArray___is_empty_t)CALL( variable[6] /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable[6] /*listnode3*/) /*AbstractArray::is_empty*/;
52234 if (UNTAG_Bool(variable[9])) { /*if*/
52235 variable[6] = variable[8] /*listnode2*/ /*listnode3=*/;
52236 } else { /*if*/
52237 ((abstract_collection___IndexedCollection___append_t)CALL( variable[6] /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable[6] /*listnode3*/, variable[8] /*listnode2*/) /*IndexedCollection::append*/;
52238 }
52239 }
52240 variable[3] = variable[6] /*listnode3*/ /*node_list=*/;
52241 variable[9] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(130)) /*Parser::go_to*/;
52242 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
52243 return_label1664: while(false);
52244 tracehead = trace.prev;
52245 return;
52246 }
52247 void parser___ReduceAction816___init(val_t self, int* init_table) {
52248 struct trace_t trace = {NULL, NULL, 30258, LOCATE_parser___ReduceAction816___init};
52249 val_t variable[2];
52250 void **closurevariable = NULL;
52251 trace.prev = tracehead; tracehead = &trace;
52252 trace.file = LOCATE_parser;
52253 variable[0] = self;
52254 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction816].i]) return;
52255 return_label1665: while(false);
52256 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction816].i] = 1;
52257 tracehead = trace.prev;
52258 return;
52259 }
52260 void parser___ReduceAction817___action(val_t self, val_t param0) {
52261 struct trace_t trace = {NULL, NULL, 30262, LOCATE_parser___ReduceAction817___action};
52262 val_t variable[8];
52263 void **closurevariable = NULL;
52264 trace.prev = tracehead; tracehead = &trace;
52265 trace.file = LOCATE_parser;
52266 variable[0] = self;
52267 variable[1] = param0;
52268 variable[3] = NIT_NULL /*null*/;
52269 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
52270 variable[4] = variable[5];
52271 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
52272 variable[5] = variable[6];
52273 variable[6] = variable[4] /*nodearraylist1*/;
52274 variable[7] = TAG_Bool(( variable[6] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
52275 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction817___action, LOCATE_parser, 30268); nit_exit(1);}
52276 variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[6] /*pexprnode1*/ == NIT_NULL /*null*/) || (( variable[6] /*pexprnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[6] /*pexprnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[6] /*pexprnode1*/,COLOR_kernel___Object_____eqeq))( variable[6] /*pexprnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
52277 if (UNTAG_Bool(variable[7])) { /*if*/
52278 ((array___AbstractArray___add_t)CALL( variable[5] /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable[5] /*listnode2*/, variable[6] /*pexprnode1*/) /*AbstractArray::add*/;
52279 }
52280 variable[3] = variable[5] /*listnode2*/ /*node_list=*/;
52281 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(131)) /*Parser::go_to*/;
52282 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
52283 return_label1666: while(false);
52284 tracehead = trace.prev;
52285 return;
52286 }
52287 void parser___ReduceAction817___init(val_t self, int* init_table) {
52288 struct trace_t trace = {NULL, NULL, 30275, LOCATE_parser___ReduceAction817___init};
52289 val_t variable[2];
52290 void **closurevariable = NULL;
52291 trace.prev = tracehead; tracehead = &trace;
52292 trace.file = LOCATE_parser;
52293 variable[0] = self;
52294 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction817].i]) return;
52295 return_label1667: while(false);
52296 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction817].i] = 1;
52297 tracehead = trace.prev;
52298 return;
52299 }
52300 void parser___ReduceAction818___action(val_t self, val_t param0) {
52301 struct trace_t trace = {NULL, NULL, 30279, LOCATE_parser___ReduceAction818___action};
52302 val_t variable[10];
52303 void **closurevariable = NULL;
52304 trace.prev = tracehead; tracehead = &trace;
52305 trace.file = LOCATE_parser;
52306 variable[0] = self;
52307 variable[1] = param0;
52308 variable[3] = NIT_NULL /*null*/;
52309 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
52310 variable[4] = variable[5];
52311 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
52312 variable[5] = variable[6];
52313 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
52314 variable[6] = variable[7];
52315 variable[7] = variable[5] /*nodearraylist1*/;
52316 variable[8] = TAG_Bool(( variable[7] /*listnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
52317 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction818___action, LOCATE_parser, 30286); nit_exit(1);}
52318 variable[8] = variable[4] /*nodearraylist2*/;
52319 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
52320 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction818___action, LOCATE_parser, 30288); nit_exit(1);}
52321 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[7] /*listnode1*/ == NIT_NULL /*null*/) || (( variable[7] /*listnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[7] /*listnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[7] /*listnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[7] /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable[7] /*listnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
52322 if (UNTAG_Bool(variable[9])) { /*if*/
52323 variable[9] = ((array___AbstractArray___is_empty_t)CALL( variable[6] /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable[6] /*listnode3*/) /*AbstractArray::is_empty*/;
52324 if (UNTAG_Bool(variable[9])) { /*if*/
52325 variable[6] = variable[7] /*listnode1*/ /*listnode3=*/;
52326 } else { /*if*/
52327 ((abstract_collection___IndexedCollection___append_t)CALL( variable[6] /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable[6] /*listnode3*/, variable[7] /*listnode1*/) /*IndexedCollection::append*/;
52328 }
52329 }
52330 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*pexprnode2*/ == NIT_NULL /*null*/) || (( variable[8] /*pexprnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[8] /*pexprnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*pexprnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[8] /*pexprnode2*/,COLOR_kernel___Object_____eqeq))( variable[8] /*pexprnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
52331 if (UNTAG_Bool(variable[9])) { /*if*/
52332 ((array___AbstractArray___add_t)CALL( variable[6] /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable[6] /*listnode3*/, variable[8] /*pexprnode2*/) /*AbstractArray::add*/;
52333 }
52334 variable[3] = variable[6] /*listnode3*/ /*node_list=*/;
52335 variable[9] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(131)) /*Parser::go_to*/;
52336 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
52337 return_label1668: while(false);
52338 tracehead = trace.prev;
52339 return;
52340 }
52341 void parser___ReduceAction818___init(val_t self, int* init_table) {
52342 struct trace_t trace = {NULL, NULL, 30302, LOCATE_parser___ReduceAction818___init};
52343 val_t variable[2];
52344 void **closurevariable = NULL;
52345 trace.prev = tracehead; tracehead = &trace;
52346 trace.file = LOCATE_parser;
52347 variable[0] = self;
52348 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction818].i]) return;
52349 return_label1669: while(false);
52350 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction818].i] = 1;
52351 tracehead = trace.prev;
52352 return;
52353 }
52354 void parser___ReduceAction819___action(val_t self, val_t param0) {
52355 struct trace_t trace = {NULL, NULL, 30306, LOCATE_parser___ReduceAction819___action};
52356 val_t variable[8];
52357 void **closurevariable = NULL;
52358 trace.prev = tracehead; tracehead = &trace;
52359 trace.file = LOCATE_parser;
52360 variable[0] = self;
52361 variable[1] = param0;
52362 variable[3] = NIT_NULL /*null*/;
52363 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
52364 variable[4] = variable[5];
52365 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
52366 variable[5] = variable[6];
52367 variable[6] = variable[4] /*nodearraylist1*/;
52368 variable[7] = TAG_Bool(( variable[6] /*tidnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*tidnode1*/, COLOR_TId, ID_TId)) /*cast TId*/;
52369 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction819___action, LOCATE_parser, 30312); nit_exit(1);}
52370 variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[6] /*tidnode1*/ == NIT_NULL /*null*/) || (( variable[6] /*tidnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[6] /*tidnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*tidnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[6] /*tidnode1*/,COLOR_kernel___Object_____eqeq))( variable[6] /*tidnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
52371 if (UNTAG_Bool(variable[7])) { /*if*/
52372 ((array___AbstractArray___add_t)CALL( variable[5] /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable[5] /*listnode2*/, variable[6] /*tidnode1*/) /*AbstractArray::add*/;
52373 }
52374 variable[3] = variable[5] /*listnode2*/ /*node_list=*/;
52375 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(132)) /*Parser::go_to*/;
52376 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
52377 return_label1670: while(false);
52378 tracehead = trace.prev;
52379 return;
52380 }
52381 void parser___ReduceAction819___init(val_t self, int* init_table) {
52382 struct trace_t trace = {NULL, NULL, 30319, LOCATE_parser___ReduceAction819___init};
52383 val_t variable[2];
52384 void **closurevariable = NULL;
52385 trace.prev = tracehead; tracehead = &trace;
52386 trace.file = LOCATE_parser;
52387 variable[0] = self;
52388 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction819].i]) return;
52389 return_label1671: while(false);
52390 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction819].i] = 1;
52391 tracehead = trace.prev;
52392 return;
52393 }
52394 void parser___ReduceAction820___action(val_t self, val_t param0) {
52395 struct trace_t trace = {NULL, NULL, 30323, LOCATE_parser___ReduceAction820___action};
52396 val_t variable[10];
52397 void **closurevariable = NULL;
52398 trace.prev = tracehead; tracehead = &trace;
52399 trace.file = LOCATE_parser;
52400 variable[0] = self;
52401 variable[1] = param0;
52402 variable[3] = NIT_NULL /*null*/;
52403 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
52404 variable[4] = variable[5];
52405 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
52406 variable[5] = variable[6];
52407 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
52408 variable[6] = variable[7];
52409 variable[7] = variable[5] /*nodearraylist1*/;
52410 variable[8] = TAG_Bool(( variable[7] /*listnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
52411 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction820___action, LOCATE_parser, 30330); nit_exit(1);}
52412 variable[8] = variable[4] /*nodearraylist2*/;
52413 variable[9] = TAG_Bool(( variable[8] /*tidnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*tidnode2*/, COLOR_TId, ID_TId)) /*cast TId*/;
52414 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction820___action, LOCATE_parser, 30332); nit_exit(1);}
52415 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[7] /*listnode1*/ == NIT_NULL /*null*/) || (( variable[7] /*listnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[7] /*listnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[7] /*listnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[7] /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable[7] /*listnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
52416 if (UNTAG_Bool(variable[9])) { /*if*/
52417 variable[9] = ((array___AbstractArray___is_empty_t)CALL( variable[6] /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable[6] /*listnode3*/) /*AbstractArray::is_empty*/;
52418 if (UNTAG_Bool(variable[9])) { /*if*/
52419 variable[6] = variable[7] /*listnode1*/ /*listnode3=*/;
52420 } else { /*if*/
52421 ((abstract_collection___IndexedCollection___append_t)CALL( variable[6] /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable[6] /*listnode3*/, variable[7] /*listnode1*/) /*IndexedCollection::append*/;
52422 }
52423 }
52424 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*tidnode2*/ == NIT_NULL /*null*/) || (( variable[8] /*tidnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[8] /*tidnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*tidnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[8] /*tidnode2*/,COLOR_kernel___Object_____eqeq))( variable[8] /*tidnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
52425 if (UNTAG_Bool(variable[9])) { /*if*/
52426 ((array___AbstractArray___add_t)CALL( variable[6] /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable[6] /*listnode3*/, variable[8] /*tidnode2*/) /*AbstractArray::add*/;
52427 }
52428 variable[3] = variable[6] /*listnode3*/ /*node_list=*/;
52429 variable[9] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(132)) /*Parser::go_to*/;
52430 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
52431 return_label1672: while(false);
52432 tracehead = trace.prev;
52433 return;
52434 }
52435 void parser___ReduceAction820___init(val_t self, int* init_table) {
52436 struct trace_t trace = {NULL, NULL, 30346, LOCATE_parser___ReduceAction820___init};
52437 val_t variable[2];
52438 void **closurevariable = NULL;
52439 trace.prev = tracehead; tracehead = &trace;
52440 trace.file = LOCATE_parser;
52441 variable[0] = self;
52442 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction820].i]) return;
52443 return_label1673: while(false);
52444 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction820].i] = 1;
52445 tracehead = trace.prev;
52446 return;
52447 }
52448 void parser___ReduceAction821___action(val_t self, val_t param0) {
52449 struct trace_t trace = {NULL, NULL, 30350, LOCATE_parser___ReduceAction821___action};
52450 val_t variable[8];
52451 void **closurevariable = NULL;
52452 trace.prev = tracehead; tracehead = &trace;
52453 trace.file = LOCATE_parser;
52454 variable[0] = self;
52455 variable[1] = param0;
52456 variable[3] = NIT_NULL /*null*/;
52457 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
52458 variable[4] = variable[5];
52459 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
52460 variable[5] = variable[6];
52461 variable[6] = variable[4] /*nodearraylist1*/;
52462 variable[7] = TAG_Bool(( variable[6] /*tcommentnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*tcommentnode1*/, COLOR_TComment, ID_TComment)) /*cast TComment*/;
52463 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction821___action, LOCATE_parser, 30356); nit_exit(1);}
52464 variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[6] /*tcommentnode1*/ == NIT_NULL /*null*/) || (( variable[6] /*tcommentnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[6] /*tcommentnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*tcommentnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[6] /*tcommentnode1*/,COLOR_kernel___Object_____eqeq))( variable[6] /*tcommentnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
52465 if (UNTAG_Bool(variable[7])) { /*if*/
52466 ((array___AbstractArray___add_t)CALL( variable[5] /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable[5] /*listnode2*/, variable[6] /*tcommentnode1*/) /*AbstractArray::add*/;
52467 }
52468 variable[3] = variable[5] /*listnode2*/ /*node_list=*/;
52469 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(133)) /*Parser::go_to*/;
52470 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
52471 return_label1674: while(false);
52472 tracehead = trace.prev;
52473 return;
52474 }
52475 void parser___ReduceAction821___init(val_t self, int* init_table) {
52476 struct trace_t trace = {NULL, NULL, 30363, LOCATE_parser___ReduceAction821___init};
52477 val_t variable[2];
52478 void **closurevariable = NULL;
52479 trace.prev = tracehead; tracehead = &trace;
52480 trace.file = LOCATE_parser;
52481 variable[0] = self;
52482 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction821].i]) return;
52483 return_label1675: while(false);
52484 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction821].i] = 1;
52485 tracehead = trace.prev;
52486 return;
52487 }
52488 void parser___ReduceAction822___action(val_t self, val_t param0) {
52489 struct trace_t trace = {NULL, NULL, 30367, LOCATE_parser___ReduceAction822___action};
52490 val_t variable[10];
52491 void **closurevariable = NULL;
52492 trace.prev = tracehead; tracehead = &trace;
52493 trace.file = LOCATE_parser;
52494 variable[0] = self;
52495 variable[1] = param0;
52496 variable[3] = NIT_NULL /*null*/;
52497 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
52498 variable[4] = variable[5];
52499 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
52500 variable[5] = variable[6];
52501 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
52502 variable[6] = variable[7];
52503 variable[7] = variable[5] /*nodearraylist1*/;
52504 variable[8] = TAG_Bool(( variable[7] /*listnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
52505 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction822___action, LOCATE_parser, 30374); nit_exit(1);}
52506 variable[8] = variable[4] /*nodearraylist2*/;
52507 variable[9] = TAG_Bool(( variable[8] /*tcommentnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*tcommentnode2*/, COLOR_TComment, ID_TComment)) /*cast TComment*/;
52508 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction822___action, LOCATE_parser, 30376); nit_exit(1);}
52509 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[7] /*listnode1*/ == NIT_NULL /*null*/) || (( variable[7] /*listnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[7] /*listnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[7] /*listnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[7] /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable[7] /*listnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
52510 if (UNTAG_Bool(variable[9])) { /*if*/
52511 variable[9] = ((array___AbstractArray___is_empty_t)CALL( variable[6] /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable[6] /*listnode3*/) /*AbstractArray::is_empty*/;
52512 if (UNTAG_Bool(variable[9])) { /*if*/
52513 variable[6] = variable[7] /*listnode1*/ /*listnode3=*/;
52514 } else { /*if*/
52515 ((abstract_collection___IndexedCollection___append_t)CALL( variable[6] /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable[6] /*listnode3*/, variable[7] /*listnode1*/) /*IndexedCollection::append*/;
52516 }
52517 }
52518 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*tcommentnode2*/ == NIT_NULL /*null*/) || (( variable[8] /*tcommentnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[8] /*tcommentnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*tcommentnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[8] /*tcommentnode2*/,COLOR_kernel___Object_____eqeq))( variable[8] /*tcommentnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
52519 if (UNTAG_Bool(variable[9])) { /*if*/
52520 ((array___AbstractArray___add_t)CALL( variable[6] /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable[6] /*listnode3*/, variable[8] /*tcommentnode2*/) /*AbstractArray::add*/;
52521 }
52522 variable[3] = variable[6] /*listnode3*/ /*node_list=*/;
52523 variable[9] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(133)) /*Parser::go_to*/;
52524 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
52525 return_label1676: while(false);
52526 tracehead = trace.prev;
52527 return;
52528 }
52529 void parser___ReduceAction822___init(val_t self, int* init_table) {
52530 struct trace_t trace = {NULL, NULL, 30390, LOCATE_parser___ReduceAction822___init};
52531 val_t variable[2];
52532 void **closurevariable = NULL;
52533 trace.prev = tracehead; tracehead = &trace;
52534 trace.file = LOCATE_parser;
52535 variable[0] = self;
52536 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction822].i]) return;
52537 return_label1677: while(false);
52538 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction822].i] = 1;
52539 tracehead = trace.prev;
52540 return;
52541 }
52542 void parser___ReduceAction823___action(val_t self, val_t param0) {
52543 struct trace_t trace = {NULL, NULL, 30394, LOCATE_parser___ReduceAction823___action};
52544 val_t variable[8];
52545 void **closurevariable = NULL;
52546 trace.prev = tracehead; tracehead = &trace;
52547 trace.file = LOCATE_parser;
52548 variable[0] = self;
52549 variable[1] = param0;
52550 variable[3] = NIT_NULL /*null*/;
52551 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
52552 variable[4] = variable[5];
52553 variable[6] = NEW_Array_array___Array___init(); /*new Array[Object]*/
52554 variable[5] = variable[6];
52555 variable[6] = variable[4] /*nodearraylist1*/;
52556 variable[7] = TAG_Bool(( variable[6] /*teolnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*teolnode1*/, COLOR_TEol, ID_TEol)) /*cast TEol*/;
52557 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction823___action, LOCATE_parser, 30400); nit_exit(1);}
52558 variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[6] /*teolnode1*/ == NIT_NULL /*null*/) || (( variable[6] /*teolnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[6] /*teolnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*teolnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[6] /*teolnode1*/,COLOR_kernel___Object_____eqeq))( variable[6] /*teolnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
52559 if (UNTAG_Bool(variable[7])) { /*if*/
52560 ((array___AbstractArray___add_t)CALL( variable[5] /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable[5] /*listnode2*/, variable[6] /*teolnode1*/) /*AbstractArray::add*/;
52561 }
52562 variable[3] = variable[5] /*listnode2*/ /*node_list=*/;
52563 variable[7] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(134)) /*Parser::go_to*/;
52564 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
52565 return_label1678: while(false);
52566 tracehead = trace.prev;
52567 return;
52568 }
52569 void parser___ReduceAction823___init(val_t self, int* init_table) {
52570 struct trace_t trace = {NULL, NULL, 30407, LOCATE_parser___ReduceAction823___init};
52571 val_t variable[2];
52572 void **closurevariable = NULL;
52573 trace.prev = tracehead; tracehead = &trace;
52574 trace.file = LOCATE_parser;
52575 variable[0] = self;
52576 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction823].i]) return;
52577 return_label1679: while(false);
52578 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction823].i] = 1;
52579 tracehead = trace.prev;
52580 return;
52581 }
52582 void parser___ReduceAction824___action(val_t self, val_t param0) {
52583 struct trace_t trace = {NULL, NULL, 30411, LOCATE_parser___ReduceAction824___action};
52584 val_t variable[10];
52585 void **closurevariable = NULL;
52586 trace.prev = tracehead; tracehead = &trace;
52587 trace.file = LOCATE_parser;
52588 variable[0] = self;
52589 variable[1] = param0;
52590 variable[3] = NIT_NULL /*null*/;
52591 variable[5] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
52592 variable[4] = variable[5];
52593 variable[6] = ((parser___Parser___pop_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___pop))( variable[1] /*p*/) /*Parser::pop*/;
52594 variable[5] = variable[6];
52595 variable[7] = NEW_Array_array___Array___init(); /*new Array[Object]*/
52596 variable[6] = variable[7];
52597 variable[7] = variable[5] /*nodearraylist1*/;
52598 variable[8] = TAG_Bool(( variable[7] /*listnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
52599 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction824___action, LOCATE_parser, 30418); nit_exit(1);}
52600 variable[8] = variable[4] /*nodearraylist2*/;
52601 variable[9] = TAG_Bool(( variable[8] /*teolnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*teolnode2*/, COLOR_TEol, ID_TEol)) /*cast TEol*/;
52602 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction824___action, LOCATE_parser, 30420); nit_exit(1);}
52603 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[7] /*listnode1*/ == NIT_NULL /*null*/) || (( variable[7] /*listnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[7] /*listnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[7] /*listnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[7] /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable[7] /*listnode1*/, NIT_NULL /*null*/) /*Object::==*/)))))));
52604 if (UNTAG_Bool(variable[9])) { /*if*/
52605 variable[9] = ((array___AbstractArray___is_empty_t)CALL( variable[6] /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable[6] /*listnode3*/) /*AbstractArray::is_empty*/;
52606 if (UNTAG_Bool(variable[9])) { /*if*/
52607 variable[6] = variable[7] /*listnode1*/ /*listnode3=*/;
52608 } else { /*if*/
52609 ((abstract_collection___IndexedCollection___append_t)CALL( variable[6] /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable[6] /*listnode3*/, variable[7] /*listnode1*/) /*IndexedCollection::append*/;
52610 }
52611 }
52612 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[8] /*teolnode2*/ == NIT_NULL /*null*/) || (( variable[8] /*teolnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[8] /*teolnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*teolnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[8] /*teolnode2*/,COLOR_kernel___Object_____eqeq))( variable[8] /*teolnode2*/, NIT_NULL /*null*/) /*Object::==*/)))))));
52613 if (UNTAG_Bool(variable[9])) { /*if*/
52614 ((array___AbstractArray___add_t)CALL( variable[6] /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable[6] /*listnode3*/, variable[8] /*teolnode2*/) /*AbstractArray::add*/;
52615 }
52616 variable[3] = variable[6] /*listnode3*/ /*node_list=*/;
52617 variable[9] = ((parser___Parser___go_to_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___go_to))( variable[1] /*p*/, TAG_Int(134)) /*Parser::go_to*/;
52618 ((parser___Parser___push_t)CALL( variable[1] /*p*/,COLOR_parser___Parser___push))( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
52619 return_label1680: while(false);
52620 tracehead = trace.prev;
52621 return;
52622 }
52623 void parser___ReduceAction824___init(val_t self, int* init_table) {
52624 struct trace_t trace = {NULL, NULL, 30434, LOCATE_parser___ReduceAction824___init};
52625 val_t variable[2];
52626 void **closurevariable = NULL;
52627 trace.prev = tracehead; tracehead = &trace;
52628 trace.file = LOCATE_parser;
52629 variable[0] = self;
52630 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction824].i]) return;
52631 return_label1681: while(false);
52632 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction824].i] = 1;
52633 tracehead = trace.prev;
52634 return;
52635 }